home / skills / zpankz / mcp-skillset / grounding-router
This skill routes medical grounding requests through atomic primitives to deliver reliable, cited SAQ, VIVA, and academic responses.
npx playbooks add skill zpankz/mcp-skillset --skill grounding-routerReview the files below or copy the command above to add this skill to your agents.
---
name: grounding-router
description: |
Routes medical education grounding requests through atomic primitive composition.
Four primitives (Σ Source, Τ Textbook, Δ Dialectical, Ρ Response) combine via
operators (∘ ⊗ * |) for SAQ/VIVA/Academic response generation.
Integrates: limitless, research, pieces, pdf-search, pdf-brain CLIs.
---
# Grounding Router
**Version**: 3.0.0
**Architecture**: atomic-permutation-router
**Trigger Keywords**: grounding, saq, viva, textbook, pex, medical, citations, synthesis, sc:grounding
**Progressive Loading**:
- Level 0: Frontmatter (~100 tokens) - trigger detection only
- Level 1: Core SKILL.md (~2500 tokens) - primitives + routing
- Level 2: references/*.md - on-demand deep specifications
- Level 3: scripts/*.py - execute without loading context
**Integrations**:
- Skills: dialectical, critique, mega, textbook-grounding, saq, qp
- CLIs: limitless, research, pieces, pdf-search, pdf-brain, pex
- Commands: sc:grounding
- Routers: context-router
> **λΩ.τ**: Query(ο) → Atomic-Composition(λ) → Grounded-Response(τ)
Routes grounding requests through minimal atomic primitives for maximal emergent function.
## Trigger Conditions
Activate when:
- Explicit: `/grounding`, `/saq`, `/viva`, `sc:grounding`
- Implicit: SAQ, VIVA, medical exam, textbook citations, PEX sources
- Hook signal: `need_grounding=true` from intent detection
## Routing Decision Tree
```
Request Received
│
├── Mode Detection
│ ├── "SAQ" or ~200 words → SAQ Mode
│ ├── "VIVA" or examiner → VIVA Mode
│ ├── "academic" or paper → Academic Mode
│ └── Default → SAQ Mode
│
├── Composition Selection
│ ├── SAQ: (Σ ⊗ Τ) ∘ Δ ∘ Ρₛ
│ ├── VIVA: Σ* ∘ (Τ ⊗ Δ) ∘ Ρᵥ*
│ └── Academic: Σ* ∘ Τ* ∘ Δ* ∘ Ρₐ
│
└── Pipeline Execution
├── G₀: Preflight (CLI health)
├── Σ: Source extraction
├── Τ: Textbook grounding
├── Δ: Dialectical synthesis
├── G₄: Hallucination check
└── Ρ: Response generation
```
## The Four Atomic Primitives
| Symbol | Name | λο.τ Form | CLI Sources |
|:-------|:-----|:----------|:------------|
| **Σ** | SOURCE | Context(ο) → Extraction(λ) → Evidence(τ) | limitless, pieces, pdf-search, research |
| **Τ** | TEXTBOOK | Evidence(ο) → Grounding(λ) → Citation(τ) | pdf-search, pdf-brain |
| **Δ** | DIALECTICAL | Claims(ο) → Synthesis(λ) → Universal(τ) | Thesis→Antithesis→Synthesis |
| **Ρ** | RESPONSE | Synthesis(ο) → Formatting(λ) → Output(τ) | SAQ/VIVA/Academic modes |
## Composition Operators
| Operator | Notation | Function | Pattern |
|:---------|:---------|:---------|:--------|
| Sequential | ∘ | Apply in order | `Σ ∘ Τ` (extract then ground) |
| Parallel | ⊗ | Concurrent | `Σₚ ⊗ Σₜ` (parallel sources) |
| Recursive | * | Until convergence | `Δ*` (resolve all antitheses) |
| Conditional | \| | Activate on condition | `Σ \| has_cache` |
## Source Sub-Primitives (Σ)
| Symbol | CLI | Triggers | Output |
|:-------|:----|:---------|:-------|
| Σₚ | limitless | personal, lifelog, recall | personal_context[] |
| Σₗ | pieces | ltm, snippet, history | local_context[] |
| Σₜ | pdf-search | textbook, book, page | textbook_chunks[] |
| Σₐ | research | pex, guidelines, evidence | authoritative_sources[] |
| Σₚₑₓ | pex | exam, lo, saq, curriculum | exam_context[] |
### CLI Commands
```bash
# Σₚ — Personal Context
limitless lifelogs search "{topic}" --limit 10 --json
# Σₗ — Local Context
echo "" | pieces ask "{topic}" --ltm
# Σₜ — Textbook Context
pdf-search "{topic}" --limit 10 --tags {tags}
pdf-brain search "{topic}" --limit 10
# Σₐ — Authoritative Context
research pex-grounding -t "{topic}" --specialty {specialty} --format json
# Σₚₑₓ — PEX Exam Context
pex search "{topic}" --limit 10
pex prereq "LO:{id}" --model fast
pex path "{topic}" --max 10
```
## Mode Compositions
### SAQ Mode: `(Σ ⊗ Τ) ∘ Δ ∘ Ρₛ`
```
Parallel source + textbook → Sequential synthesis → SAQ output
Word count: 180-220 | Citations: 5-10 | Tables: max 1
```
### VIVA Mode: `Σ* ∘ (Τ ⊗ Δ) ∘ Ρᵥ*`
```
Recursive sources → Parallel ground+synthesize → Recursive expand
Word count: 500-800 | Citations: 15-25 | Examiner probes: 3-5
```
### Academic Mode: `Σ* ∘ Τ* ∘ Δ* ∘ Ρₐ`
```
All recursive → Maximum depth → Full scholarly
Word count: 1000-2000 | Citations: 30-50 | Full bibliography
```
## Quality Gates
| Gate | Check | Pass Criteria |
|:-----|:------|:--------------|
| G₀ | Preflight | ≥3/5 CLIs available |
| G₁ | Sources | ≥2 sources, ≥2 types |
| G₂ | Textbook | ≥50% claims grounded |
| G₃ | Synthesis | All theses subsumed |
| G₄ | Hallucination | <20% flagged claims |
| G₅ | Output | Word count compliant |
## Confidence Calculation
```python
confidence = (
0.30 * source_authority +
0.25 * textbook_coverage +
0.20 * synthesis_parsimony +
0.15 * citation_density +
0.10 * hallucination_pass_rate
)
```
| Confidence | Action |
|:-----------|:-------|
| ≥ 0.85 | Emit response |
| 0.70-0.84 | Warn, emit |
| 0.50-0.69 | Load references/, retry |
| < 0.50 | Execute scripts/, escalate |
## Progressive Loading Protocol
### Level 0: Trigger (Always Active)
- Frontmatter triggers in hook
- ~100 tokens loaded
### Level 1: Core (On Trigger Match)
- This SKILL.md body
- Routing + primitive specs
### Level 2: References (On Demand)
Load when confidence < 0.7 or customization needed:
- `references/atomic-primitives.md` — Full sub-primitive specs
- `references/composition-patterns.md` — Advanced compositions
- `references/quality-gates.md` — Detailed validation
- `references/cli-integration.md` — CLI command patterns
### Level 3: Scripts (Execute Only)
Invoke without loading context:
- `scripts/preflight.py --format json` — CLI health
- `scripts/extract.py "{query}"` — Parallel extraction
- `scripts/validate.py -r response.md` — Hallucination check
## Integration Points
### Context Router Handoff
```yaml
when: Σ primitives activated
action: Delegate to context-router for CLI orchestration
return: Aggregated sources to Τ primitive
```
### Skill Integration
```yaml
dialectical: Δ uses dialectical.atomic-composition
critique: G₄ uses critique.multi-lens
saq: Ρₛ uses saq.template
mega: Δ* escalates to mega when depth > 3
```
### Command Integration
```yaml
sc:grounding:
invokes: grounding-router with mode detection
flags: --mode, --sources, --specialty
```
## Example Invocations
### Basic SAQ
```
/grounding "Describe labetalol pharmacology" --mode=saq
Composition: (Σₗ ⊗ Σₜ ⊗ Σₐ) ∘ Δ ∘ Ρₛ
Output: 195-word SAQ with 7 citations
Confidence: 0.89
```
### Extended VIVA
```
/grounding "Pre-eclampsia management" --mode=viva --sources=all
Composition: Σ* ∘ (Τ ⊗ Δ*) ∘ Ρᵥ*
Output: 650-word VIVA with 22 citations + 5 probes
Confidence: 0.92
```
## Anti-Patterns
| Pattern | Why Harmful | Fix |
|:--------|:------------|:----|
| Σ without Τ | Ungrounded claims | Always include Τ |
| Δ without Σₜ | No textbook basis | Require textbook source |
| Ρ without Δ | No synthesis | Dialectical before response |
| Skip G₄ | Hallucination risk | Always validate |
---
**Recursion**: `grounding-router(grounding-router)` → meta-grounding for skill improvement.
This skill routes medical education grounding requests through a minimal set of atomic primitives to produce evidence‑grounded SAQ, VIVA, or academic outputs. It composes Source (Σ), Textbook (Τ), Dialectical (Δ), and Response (Ρ) primitives with operators to balance breadth, depth, and citation rigor. The design prioritizes reproducible sourcing, hallucination checks, and progressive loading to reduce latency.
On trigger, the router detects mode (SAQ, VIVA, Academic) and selects a composition pattern that orchestrates CLIs for source extraction, textbook grounding, dialectical synthesis, and formatted response generation. It runs preflight checks, executes parallel or recursive source pulls (limitless, pieces, pdf-search, research, pex), synthesizes claims via thesis/antithesis/synthesis, and enforces quality gates including hallucination checks and citation density. Confidence scoring determines whether to emit, warn, or escalate and which deeper references or scripts to load.
What triggers the skill?
Triggers include explicit commands (/grounding, /saq, /viva, sc:grounding), implicit exam intent (SAQ/VIVA), or a need_grounding flag from intent detection.
How does the skill avoid hallucination?
It enforces quality gates (G₀–G₄), runs a hallucination check, requires textbook grounding for clinical claims, and computes a confidence score to decide emission or escalation.