Back to Skills

hermeneia

verified

Clarify intent-expression gaps. Transforms known unknowns into known knowns when what you mean differs from what you said.

View on GitHub

Marketplace

epistemic-protocols

jongwony/epistemic-protocols

Plugin

hermeneia

Repository

jongwony/epistemic-protocols
42stars

hermeneia/skills/hermeneia/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/jongwony/epistemic-protocols/blob/main/hermeneia/skills/hermeneia/SKILL.md -a claude-code --skill hermeneia

Installation paths:

Claude
.claude/skills/hermeneia/
Powered by add-skill CLI

Instructions

# Hermeneia Protocol

Transform known unknowns into known knowns by clarifying intent-expression gaps through user-initiated dialogue, enabling precise articulation before action proceeds.

## Definition

**Hermeneia** (ἑρμηνεία): A dialogical act of clarifying the gap between what the user intends and what they expressed, transforming recognized ambiguity into precise articulation through structured questioning.

```
── FLOW ──
E → Eᵥ → Gₛ → Q → A → Î' → (loop until converge)

── TYPES ──
E  = User's expression (the prompt to clarify)
Eᵥ = Verified expression (user-confirmed binding)
Gₛ = User-selected gap type ∈ {Expression, Precision, Coherence, Context}
Q  = Clarification question (via AskUserQuestion)
A  = User's answer
Î  = Inferred intent (AI's model of user's goal)
Î' = Updated intent after clarification

── E-BINDING ──
bind(E) = explicit_arg ∪ colocated_expr ∪ prev_user_turn
Priority: explicit_arg > colocated_expr > prev_user_turn

/hermeneia "text"              → E = "text"
"request... clarify"           → E = text before trigger
/hermeneia (alone)             → E = previous user message

Edge cases:
- Interrupt: E = original request of interrupted task
- Queued:    E = previous message at queue time (fixed)
- Re-invoke: Show prior clarification, confirm or restart

── PHASE TRANSITIONS ──
Phase 0:  E → recognize(E) → trigger?                    -- trigger recognition
Phase 1a: E → Q[AskUserQuestion](E) → Eᵥ                 -- E confirmation [Tool]
Phase 1b: Eᵥ → Q[AskUserQuestion](gap_types) → Gₛ        -- gap type selection [Tool]
Phase 2:  Gₛ → Q[AskUserQuestion](Gₛ) → await → A        -- clarification [Tool]
Phase 3:  A → integrate(A, Î) → Î'                       -- intent update (internal)

── LOOP ──
After Phase 3: return to Phase 1b for newly surfaced gaps.
Continue until converge: |G| = 0, cycle detected, or user exits.
Mode remains active until convergence.

── TOOL GROUNDING ──
Phase 1a Q  → AskUserQuestion (E confirmation)
Phase 1b Q  → AskUse

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
12589 chars