/clarify — Ambiguity Resolution Interview
SkillMediaTurn fuzzy requirements, strategy questions, and half-formed ideas into clear output. Clarify is a pack that gives your AI three lenses for clarity: one turns vague requirements into concrete specs, one lays out strategy blind spots in a four-quadrant playbook, and one shifts between content and form to find leverage.
Use /clarify — Ambiguity Resolution Interview in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add /clarify — Ambiguity Resolution Interview and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the /clarify skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
After adding Clarify, bring your AI something fuzzy, like a rough requirement or a strategy question, and ask it to apply the matching lens.
What your AI can do with it
- Turn vague requirements into concrete specs
- Surface strategy blind spots in a four-quadrant playbook
- Shift between content and form to find leverage
- Apply the vague, unknown, and metamedium lenses when asked
What this skill tells your AI
The instructions your AI receives, as published by team-attention/hoyeon in skills/clarify/SKILL.md and read by Ahel’s review.
clarify is a pre-spec interview loop. It is closer to grill-me than
specify: ask one precise question at a time, recommend an answer, record the
answer, and keep going until material ambiguity is gone.
Do not implement, plan execution, or generate final requirements. The output is traceable context for the next workflow.
Runtime Surface
Claude Code
- Use
AskUserQuestionfor mode selection and branching decisions. - Use
Task(subagent_type="clarity-auditor")at audit boundaries. - Use
Task(subagent_type="code-explorer")when a question can be answered from the codebase instead of asking the user.
Codex
- Use Codex-native structured input when available; otherwise ask one concise plain-text question at a time.
- Use
hoyeon-clarity-auditorwhen native adapters are loaded. - Use
hoyeon-code-explorerwhen codebase exploration can answer the question. - If native adapters are unavailable, perform the smallest direct read-only
pass and record that fallback in
qa-log.md.
Artifacts
Create a topic directory:
.hoyeon/clarify/<topic-slug>/
├── qa-log.md
└── clarity-summary.md
Read templates when writing artifacts:
templates/qa-log.mdtemplates/clarity-summary.md
Use a short kebab-case topic slug. If the current repo already has a Hoyeon
spec directory for the same work, mention it in frontmatter as related_spec.
Modes
Infer the mode from the user's request. If uncertain, ask first.
| Mode | Use For | Main Question Lens | Clear Enough When |
|---|---|---|---|
requirements | Product/feature intent before /specify | users, goal, non-goals, success, scope, flows, edge cases, constraints | $hoyeon-specify --context clarity-summary.md can start without guessing |
design | Architecture or implementation direction before planning | alternatives, boundaries, interfaces, data flow, trade-offs, risks, reversibility, verification | chosen direction, rejected alternatives, risks, and validation are explicit |
domain | Terms, concepts, and domain model | canonical terms, definitions, relationships, edge cases, conflicts with docs/code | key terms have stable definitions and unresolved terms are listed |
plan | Work sequencing before blueprint/execution | dependencies, acceptance criteria, blocking decisions, validation, rollback, ownership | no blocking execution decision remains |
Frontmatter fields:
mode: requirements | design | domain | plan
status: active | complete | paused
target_handoff: hoyeon-specify | hoyeon-blueprint | docs | none
Default mode is requirements.
Core Loop
- Mirror — State the current understanding in 2-4 bullets.
- Map ambiguity branches — List the active ambiguity branches in memory: vague terms, hidden assumptions, unresolved forks, missing criteria, external facts/code facts to verify.
- Ask one question — Ask exactly one question. Include:
- why this question matters
- your recommended answer
- the trade-off behind the recommendation
- Explore instead of asking — If the answer is discoverable from the codebase or existing docs, explore first and ask only if evidence conflicts.
- Record immediately — Append to
qa-log.mdafter every exchange. - Classify — Mark the branch as
resolved,ambiguous,assumption, ordeferred. - Audit — After 3-5 Q&A turns, after each major branch, and before
summary, call the clarity auditor with the full
qa-log.md. - Continue or summarize — If auditor returns
CONTINUE, ask the next suggested question. IfSUFFICIENT, writeclarity-summary.md.
Question Rules
- Ask one question at a time.
- Always provide a recommended answer unless the question is purely factual and must be discovered.
- Prefer concrete options over open-ended prompts, but allow "Other".
- Do not ask the user for facts that code/docs can answer.
- Do not repeat a question. If the user does not know, choose a tentative
default, mark it
assumptionordeferred, and move on. - Keep pressure on vague words: "fast", "simple", "good", "production-ready", "secure", "later", "nice UX", "admin", "sync", "done".
Mode-Specific Checks
requirements
Required branches:
- primary user or actor
- problem and desired outcome
- explicit non-goals
- success criteria
- core happy path
- important edge/failure states
- constraints and risk modifiers
design
Required branches:
- candidate approaches
- chosen direction and why
- rejected alternatives and why
- boundaries and interfaces
- state/data flow
- failure modes
- reversibility and migration
- verification strategy
domain
Required branches:
- canonical terms
- term definitions
- relationships between terms
- overloaded or conflicting terms
- boundary scenarios
- code/doc contradictions, if a repo exists
- doc target:
CONTEXT.md, ADR, glossary, or no docs
Do not update CONTEXT.md or ADRs unless the user explicitly asks for
docs-mode updates. By default, write candidates into clarity-summary.md.
plan
Required branches:
- acceptance criteria
- task dependencies
- blocking decisions
- validation evidence
- rollback/recovery
- ownership or handoff
- out-of-scope work
Q&A Log Format
Append entries under ## Q&A:
### Q<N>: <short branch title>
- mode: <mode>
- branch: <branch id or name>
- status: resolved | ambiguous | assumption | deferred
- asked: <question>
- recommended: <recommended answer>
- answer: <user answer or discovered evidence>
- rationale: <why this resolves or does not resolve ambiguity>
Maintain ## Open Ambiguities as the current queue. Remove resolved items.
Auditor Contract
Send the auditor:
- full
qa-log.md - mode
- current branch, if any
- question count since last audit
Auditor returns:
CONTINUEwith material ambiguities and suggested next question, orSUFFICIENTwith remaining non-blocking assumptions.
Only stop as complete when the auditor says SUFFICIENT or the user explicitly
stops. If the user stops early, set status to paused.
Handoff
After SUFFICIENT, write clarity-summary.md and present one next action:
| Mode | Default Handoff |
|---|---|
requirements | $hoyeon-specify --context .hoyeon/clarify/<topic>/clarity-summary.md "<topic>" |
design | $hoyeon-blueprint --context .hoyeon/clarify/<topic>/clarity-summary.md or ADR candidate |
domain | docs/glossary update, if requested |
plan | $hoyeon-blueprint or direct execution planning |
Do not run the handoff workflow unless the user asks.
Hard Rules
- No implementation.
- No final
requirements.md,plan.json, or ADR unless explicitly requested. - One question at a time.
- Recommended answer required for each user-facing question.
- Record each exchange before asking the next question.
- Continue until
SUFFICIENT,paused, or explicit user stop.
Signals
- GitHub stars
- 174
- Forks
- 24
- Last commit
- May 2026
- Hacker News mentions
- 5
Advanced
- Item type
- skill
- Key
clarify-team-attention- Source
- github.com/team-attention/hoyeon