Quick protocol recommendation from recent sessions, or quest-based learning through scenario, trial, and quiz.
Start with a quick recommendation based on recent sessions, then optionally continue to guided learning — so users experience value first, learn second.
Invoke directly with /onboard when the user wants onboarding or protocol discovery.
Invoke this skill when:
Skip when:
Quick Proof: ENTRY → QUICKSCAN → PICK-1 → EVIDENCE → TRIAL → INSIGHT → NEXT
Targeted: ENTRY → QUICKSCAN → MAP → SCENARIO → TRIAL → QUIZ → GUIDE
Targeted + std: ENTRY → SCENARIO → TRIAL → QUIZ → GUIDE| Phase | Owner | Tool | Purpose |
|---|---|---|---|
| 0. Entry | Main | Gate | Path selection: quick/targeted |
| 1. Quick Scan | Main | Glob, bounded head read | User Context Profile extraction |
| 2a. Pick-1 | Main | — | Quick path: select 1 recommendation |
| 2b. Evidence | Main | — | Quick path: show 1 evidence card |
| 2. Map | Main | — | Targeted path: Profile → Protocol matching |
| 3. Scenario | Main | Gate | Targeted path: context-personalized intervention point |
| 4. Trial | Main | Gate | Real protocol execution (quick: mini trial, targeted: full trial) |
| 4→Q. Insight | Main | — | Quick path: post-trial insight card |
| 4→Q. Next | Main | Gate | Quick path: simplified navigation |
| 4→5 LOOP | Main | Gate | Targeted path: post-trial navigation |
| 5. Quiz | Main | Gate | Targeted path: Socratic protocol recognition quiz |
| 6. Guide | Main | Gate | Targeted path: summary + next protocol suggestion |
Compact mapping for inline use.
| Protocol | Cluster | When to Use | Key Patterns |
|---|---|---|---|
Aitesis /inquire | Planning | A task rests on missing context or unchecked assumptions — collect what the AI can reach on its own, hand back what it cannot as the user's own unknown | Hand-off or execution about to start on context nobody gathered; implicit requirements, environment dependencies, prior decisions (for prior-session recall → use /recollect) |
Euporia /elicit | Planning | Intent articulated but the decisions it turns on not yet named | Multi-axis intent without single axis-specific protocol fit; coordinates surface from the user's material, words, and the domain's usual decisions |
Heuresis /ideate | Planning | Object-level candidate field is empty or has prematurely converged — widen it before any selection is made | Zero entry questions (seed vs. blank inferred from the utterance), frame-first mode on a blank entry, no elimination or ranking during generation, every candidate tagged origin ∈ {User, AI} |
Proplasma /preview | Planning | Right before a direction commitment when the candidates cannot be judged from descriptions — contrast cheap discard-committed placeholder probes on AI-drafted axes relayed with their basis | Principle-delegation at direction gates ("go with the recommended direction"), option-set reconstruction instead of choosing, "I'd have to see it" decision stalls |
Hypotyposis /sketch | Planning | A form has to be made, intent cannot yet be settled from descriptions, and the user would recognize it on sight — sketch under a settled focus, take marks on a specific version, revise the retained version, finish on the recognized one | "I'd know it when I see it", a plan stalled at its first draft, a description rewritten repeatedly instead of made |
Analogia /ground | Analysis | Auditing what a mapping being relied on licenses about a case, reading any account it can reach as evidence | Intended conclusions whose structural evidence or limits remain uncertain |
Periagoge /induce | Analysis | Concrete cases accumulating into an unnamed essence — crystallize the emerging abstraction | 2+ concrete cases with essence intuition but no located abstraction; /ground misfit where colimit is forced into substitution |
Merismos /apportion | Execution | An autonomous goal is stated but its unit plan is uncompiled — cut it into coarse units at cited seams and close each unit before the run begins — a derived completion condition where one compiles, a recorded acceptance or a recorded reservation where none does | An unattended-run directive ("work through", "go through all", "run until done"), a goal that plainly exceeds one execution horizon, or a stop-hook being configured — each only shows an autonomous interval is intended, so the deciding check is whether the goal already carries units whose completion conditions are settled — closed by a determinate predicate, by a recorded acceptance, or by a recorded reservation; a plan that does is out of scope |
Epharmoge /contextualize | Verification | A result — this session's or another's — is correct but may not fit where it lands or may leave out an intent the conversation stated | Misfits and omissions against everywhere the result lands and the session-built constraints, shown on one sheet |
Elenchus /sublate | Verification | The working context about to be acted on — externalized or committed — may no longer hold: stale, weakly sourced, or contradicted | Dialectical antithesis per claim under test (provenance / counterfactual / cross-source consistency / inference) before action rests on it |
Horismos /bound | Cross-cutting | Deciding what to delegate to AI | Provisional whole map, progressive examination, source-bound settlement and residual |
Anamnesis /recollect | Cross-cutting | Resolving vague recall of prior sessions or discussions — one session, or a line of work, topic, or settled concept spread across several | Cross-session state recovery via narrative recognition (Recognition over Retrieval); a unit above one session is composed from its deposits at read time |
Katalepsis /grasp | Cross-cutting | Rapid comprehension verification via intent-scented entry points | User-intent grasp for a target present in context and quotable, whoever produced it — reviews, plans, papers, docs, or code changes |
Hyphegesis /conduct | Cross-cutting | Conducting the method of a multi-move work prospect before object-level cognition — order, independence, reconciliation, termination, routing | Multi-move work with non-trivial conduct (migrations, staged investigations, entangled adversarial/parallel/synthesis); "how should I approach this whole thing?" meta-questions |
Paths below written {config_dir}/… take {config_dir} = CLAUDE_CONFIG_DIR when set, else ~/.claude. Resolve it ONCE per invocation with Bash printf '%s\n' "${CLAUDE_CONFIG_DIR-$HOME/.claude}" and substitute the absolute result before any Read/Glob/Grep call.
Begin with a concise welcome and path selection, reserving the full catalog for the Browse-all path.
Gate #1:
If Quick recommendation: set path = quick, proceed to Phase 1.
If Browse all: Present the protocol catalog (check installation status via Glob {config_dir}/plugins/cache/epistemic-protocols/*/, then render all core protocols from Data Sources as a numbered list grouped by Cluster with name + "When to Use" + installation badge). After catalog, present:
Then proceed based on selection.
If Targeted + Other contains protocol name: proceed directly to session source question.
If Targeted + no protocol specified:
Present a condensed catalog as text output: render the Data Sources table grouped by Cluster, each protocol as /command — When to Use description.
Then Gate #2:
Gate #3 (Targeted only, session source):
State after Phase 0:
path: quick | targetedtarget_protocol: (targeted only) selected protocol namesession_source: (targeted only) scan | standard — Quick path always runs Quick ScanSkip rule: If targeted + standard → skip Phases 1-2, jump to Phase 3 with preset scenarios from references/scenarios.md.
Build a User Context Profile from the person's own opening turns in their recent Claude Code conversations. Runs inline (no subagent delegation). Both Quick and Targeted paths share this phase.
Step 1: Collect recent opening turns
{config_dir}/projects/*/*.jsonl — a session record sits directly inside a project partition; anything nested deeper is a subordinate capture and is excluded by depth. Exclude partitions whose name contains -worktrees-, which hold delegated work rather than the person's own sessions. Take the ~10 most recently modified records.head -c 262144 <record>), never the whole file. Skip a line that does not parse — the last one may be cut by the bound.type is user, isMeta and isCompactSummary are both absent, and its text (message.content as a string, or the text parts of a content list — tool results are not text parts) neither opens with < nor is a bare control marker such as [Request interrupted by user]. Hook output, command wrappers, and injected envelopes arrive in the same user stream and are excluded by this rule.Step 2: Infer User Context Profile
From the collected turns, infer:
If no person turns were collected — a fresh install, or a host that keeps no such records: Quick path proceeds to Pick-1 with fallback (/elicit); Targeted path falls back to Onboarding Pool (/elicit, /inquire).
Output for Phase 2: User Context Profile (work domains, conversation patterns, task types). Quick Scan infers user context for protocol matching and scenario personalization.
Quick path only. Select exactly 1 protocol recommendation from the auto-recommend pool.
Onboarding Pool: /elicit (Euporia), /inquire (Aitesis). These two are chosen because users can quickly experience their value. Protocols like /grasp are user-initiated by nature and should not be proactively suggested in the first encounter.
Recommendation rules (applied to Quick Scan Profile):
| Protocol | Signal patterns | Priority |
|---|---|---|
/elicit | Vague first prompts ("improve", "optimize", "make it better", "help me plan"); intent articulated but the decisions it turns on not yet named. An ideation ask ("ideas for", "brainstorm") routes to /ideate (Heuresis), which is user-initiated and therefore outside this proactive pool | Highest (also fallback) |
/inquire | Hand-off or finalization language ("go ahead", "just do it", "ready", "ship", "merge") — the AI is about to execute on the context it has; tasks with implicit requirements or environment dependencies in summary. It checks what the imminent execution rests on (assumptions, missing facts, environment dependencies); it does not audit the decision for unconsidered trade-offs, alternatives, or omitted steps | Medium |
Decision logic:
/ideate (user-initiated: named as the route for that ask, not presented as the onboarding recommendation), then continue via the Fallback rule; the Phase 2b evidence card follows its fallback form, since the recommendation rests on the default, not on a matched signal/elicit > /inquire/elicitOutput: Present exactly one recommendation as a single sentence.
Format: Present as a single sentence stating which protocol is most likely to help right now.
Quick path only. Present exactly 1 evidence card explaining why this recommendation was made.
Evidence generation (per protocol, referencing Data Sources table):
Fallback (no session data): State that no patterns were detected, then cite the protocol's core value proposition from Data Sources "When to Use."
Rules:
After presenting evidence, present:
Branch: Try it now → Phase 4 (quick trial), Learn more about this recommendation → show Data Sources row for the recommended protocol then re-ask, See a different recommendation → pick next from pool and re-present from Phase 2a, Go to full learning path → set path = targeted and go to Phase 0 targeted flow.
Targeted path only. Apply User Context Profile to match protocols to the user's context.
/elicit, /inquire)./elicit, /inquire). Proceed immediately without blocking the onboarding flow.Targeted path only. Present a concrete scenario showing where the protocol would have helped.
Scenario construction (2-tier fallback):
references/scenarios.md using Profile data.references/scenarios.md.Present scenarios for each of the top 2-3 protocols sequentially.
Scenario format:
Scenario: /X (Protocol Name)
[Situation]: [Concrete situation grounded in user's work context — or preset from scenarios.md]
[Intervention]: If you had called /X at this point:
- [what the protocol would have done — step 1]
- [step 2]
Expected outcome: [e.g., reduced rework, clearer direction]Clarity rule: Scenarios must present clear-cut protocol fits where the mapping is unambiguous. If a situation could plausibly map to multiple protocols (e.g., "exploration" could be /elicit or /ideate), reserve it for Phase 5 quiz material instead of using it as a scenario. The scenario phase builds confidence through recognition; the quiz phase builds discrimination through ambiguity.
Anti-pattern: Scenarios must be self-contained (situation + intervention) with unambiguous protocol fit. Ambiguous patterns belong in Phase 5 quiz.
Present each scenario as regular text output (Tier 1/2 format above). Then present for navigation only:
Gate (per scenario):
Guide the user through a real, abbreviated protocol experience.
Mini practice prompt: Present a single realistic request (one sentence) that naturally triggers the selected protocol's deficit. When User Context Profile is available, adapt the domain to match the user's work context. Source from references/scenarios.md Trial prompt field, or generate from Data Sources context. Follow with gate interaction:
Execution: The user invokes the actual protocol (e.g., type /elicit). The protocol runs in the same session with the mini prompt as context. Trial ends when the invoked protocol reaches its natural termination. After protocol termination, proceed to Quick Post-Trial below.
Quick Post-Trial Insight (2 lines max):
Generate from the protocol just experienced:
references/scenarios.md Philosophy field)Epistemic Ink Tip (1 line, after Post-Trial Insight): "Tip: Run /config to enable Epistemic Ink — an Output Style that enhances protocol interactions with structured formatting."
Quick Post-Trial Navigation:
Present via gate interaction:
Branch: That's enough for today → end session with brief closing, Try a different protocol → check pool exhaustion: if unrecommended protocols remain in Onboarding Pool, pick next and restart from Phase 2a; if pool exhausted (every pool protocol recommended in session), present You've experienced all core recommendations and offer Targeted transition, Continue to full onboarding → set path = targeted and go to Phase 2 MAP with Quick Scan results.
"Try it" selection from Phase 3 already signals intent — enter trial directly without additional confirmation.
Mini practice prompts (scoped for 2-3 exchanges): Use the Trial prompt field from references/scenarios.md for the target protocol. Present the trial guidance as regular text output.
Execution: Prompt the user to invoke the actual protocol (e.g., type /inquire). The protocol runs in the same session with the mini prompt as context. Trial ends when the invoked protocol reaches its natural termination. After protocol termination, present Post-Trial Insight and LOOP.
Offer trial for the top-recommended protocol first. If user completes it, optionally offer trial for the second recommendation.
Post-Trial Insight (presented after trial completion):
After each trial, present a brief insight card sourced from the Philosophy field in references/scenarios.md. Structure:
Protocol Insight: /X (Greek name)
[Core principle — one sentence]
[Workflow position — where this protocol sits and why]
[Game feel — the experiential pattern you just went through]Post-Trial LOOP:
After the Post-Trial Insight, present:
Branch: Quiz → Phase 5, Another scenario → Phase 3, Different protocol → Phase 3 with next MAP protocol or Phase 0 with cached MAP, Guide → Phase 6.
Test protocol recognition through situation-based questions. Question format differs by path.
Question sourcing (in priority order):
/elicit or /ideate)references/scenarios.mdType 1 — Binary recognition (2-3 questions):
Present via gate interaction for each:
/X situation?"Type 2 — Reverse recognition (1 question):
Present via gate interaction:
/X situations?"Type 3 — Design thinking (1 question):
Present via gate interaction:
Applies when the targeted flow was entered from the Quick path ("Continue to full onboarding", or the pool-exhausted transition) without a single target protocol, so MAP selected 2-3 protocols.
Type 1 — Situation recognition (3-4 questions):
Present via gate interaction for each:
Type 2 — Design thinking (1 question):
Same format as Targeted Path Type 3.
Immediate feedback after each question:
Correct: Reinforce with the core principle + why the distinction matters. "Correct — /inquire collects what the AI can reach on its own and hands back what remains as the user's own unknown (what can I reach, and what is yours?), while /apportion cuts an autonomous goal into coarse units at cited seams and closes each unit before the run begins. /inquire exhausts the context the AI can reach and names what only the user holds (context sufficiency), /apportion gives the run a closed unit each — a checkable finish line where one compiles, a recorded acceptance or a recorded reservation where none does (execution structure)."
Incorrect (reasoning inquiry → targeted correction):
/inquire works before a result exists, on what the AI lacks — collecting what it can reach and handing back the user's unknowns — while /contextualize works after, on whether the result fits its context."Reasoning inquiry cap: Apply reasoning inquiry for the first 2 incorrect answers per quiz session. Subsequent incorrect answers receive direct targeted correction (step 2 only) without the reasoning inquiry step.
Distinction depth: Quiz feedback should go beyond "A, not B" to explain the design dimension that separates confused pairs. Reference the distractor pairs from Quiz Design section. The goal is that even wrong answers teach — the user leaves understanding why two protocols that sound similar serve different purposes.
Summarize the learning experience, connect it to the broader epistemic workflow, and provide actionable next steps.
Learning summary:
/X formalizes this"Epistemic Map (connect the dots):
Present the Epistemic Concern Clusters from references/workflow.md. Highlight protocols the user experienced with emphasis (e.g., bold or ★).
Next protocol suggestion: Based on quiz results and MAP data, suggest the next protocol to explore — preferring related protocols in the same cluster.
Advanced Usage (bonus tips after main guide):
Present 3-5 tips from references/advanced-usage.md (declared protocol chains, multi-protocol sessions, invocation techniques, etc.), prioritizing tips related to protocols from TRIAL and QUIZ — a declared chain that touches a protocol they experienced comes first.
Continue exploring (when MAP results contain unexplored protocols):
Present via gate interaction:
If "Yes" → return to Phase 3, using the next recommended protocol from MAP results.
Difficulty progression: Start with high-contrast pairs (e.g., /elicit vs /apportion), progress to subtle distinctions (e.g., /elicit vs /inquire, /inquire vs /contextualize).
Distractor selection: Choose protocols that share surface similarity with the correct answer:
/elicit ↔ /inquire: both about "unclear starting point" but different layers — Aitesis collects the facts the AI can reach and hands back what only the user holds (information layer), Euporia surfaces the decisions the user's intent turns on (coordinate-explication layer)/inquire ↔ /apportion: both run right before the AI acts, but /inquire collects the context the action rests on as far as the AI can reach and names the rest as the user's unknown, /apportion cuts an autonomous goal into coarse units and closes each one — on a compiled completion predicate, on an acceptance you recorded when none compiles, or on a reservation where a judgment rather than a check settles it — before an autonomous run/inquire ↔ /contextualize: both about "context" but different timing (pre vs. post execution)/bound ↔ /inquire: both pre-execution and AI-directed, but different targets (ownership boundaries vs. missing context)Path-specific question counts:
Quick path targets 3-4 calls. Targeted path targets 6-12 calls.
| Phase | Calls (Quick) | Calls (Targeted) | Purpose |
|---|---|---|---|
| 0. Entry | 1-2 | 2-3 | Path + protocol + session source |
| 2b. Evidence | 1 | — | Trial confirmation |
| 3. Scenario | — | 1-2 | Navigation after scenario text |
| 4. Trial | 1 | 0 | Quick: situation choice. Targeted: direct entry |
| 4→Q. Next | 1 | — | Quick: post-trial navigation |
| 4→5 LOOP | — | 1 | Targeted: post-trial navigation |
| 5. Quiz | — | 4-7 | MC/design or binary/reverse/design + reasoning inquiry |
| 6. Guide | — | 0-1 | Optional continue exploring |
/elicit, /inquire are the unified recommendation set for both Quick path auto-recommend and Targeted path fallback. User-initiated protocols (/grasp, /apportion) and specialized protocols (/contextualize) are excluded. When pool is exhausted in Quick path, transition to Targeted path.references/scenarios.md ensures every user gets a complete experience regardless of session history availability.10abcb3
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.