UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
ドキュメント · SKILL.md

deep-clarify

deep-clarify

Clarifies ambiguous requests through Socratic dialogue, drawing out goals, completion criteria, and constraints to produce a structured spec document. Pre-dispatch requirement clarification step for agent dispatch. Triggered by "I don't know what to build", "how should I approach this", "organize this for me", "clarify this", "deep-clarify".

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

name: deep-clarify description: Clarifies ambiguous requests through Socratic dialogue, drawing out goals, completion criteria, and constraints to produce a structured spec document. Pre-dispatch requirement clarification step for agent dispatch. Triggered by "I don't know what to build", "how should I approach this", "organize this for me", "clarify this", "deep-clarify". user-invocable: true allowed-tools: ["Read", "Write", "Bash", "Glob"] model: sonnet complexity_routing: base: sonnet high: opus escalate_when: - cross_project - high_stakes

deep-clarify — Socratic Requirement Clarification

A skill that clarifies vague or open-ended requests through conversation to produce actionable spec documents. An independent extension of the "direction confirmation" protocol from agent-composer Step 0-a.

Triggers

  • /deep-clarify
  • "I don't know what to build", "How should I approach this?"
  • "Organize the requirements", "Write a spec document"
  • "What should I do with this?", "The direction is unclear"
  • When agent-composer detects pre-dispatch clarification is needed and delegates automatically

Core Principles

Criteria for asking vs inferring:

  • Things only the human can know (goal, priorities, constraints, completion criteria) → ask
  • Things AI can infer (implementation method, file location, technology choices) → infer and present as (inferred: X)
  • Questions: maximum 3 rounds, maximum 2 questions per round — do not overuse

Step 1. Request Analysis

Quickly identify the following from the user's request.

Clarity check:
□ Final state (what will be different when done?) — ask if unclear
□ Completion criteria (how will it be verified?) — ask if unclear
□ Constraints (what must not be done, what must not be touched) — ask if unclear
□ Priority (fast vs thorough, now vs later) — ask if unclear

Direct entry conditions (skip to Step 3 without questions):

  • Request is specific and completion criteria are clear → draft spec document and confirm
  • Clarity at the level of "add Y feature to file X"

Step 2. Socratic Dialogue

Round 1 — Goal / Completion Criteria (core 2 questions)

Clarification needed.

1. Completion criteria: What does a completed [task name] look like?
   (inferred: [inferred completion criteria] — confirm if correct)

2. Scope: Which of [A / B / C] takes priority?
   (inferred: [inferred choice] — reason: [rationale])

Round 2 — Constraints / Priority (only if needed)

Skip if Round 1 resolves everything.

1. Is there anything this task must absolutely not do?
2. Which takes priority: fast completion vs solid design?

Round 3 — Final Confirmation (only if needed)

Draft the spec first, then single confirmation: "Is this the right direction?"


Step 3. Generate Spec Document

Structure and save the results of the conversation. This step writes a file — outputting the path is not saving it.

  1. Derive the slug: slug = kebab-case(spec title) + "-" + YYYYMMDD (lowercase, non-alphanumerics → -, collapse repeats, strip leading/trailing -). Example: "Rewrite the login flow" on 2026-08-11 → rewrite-the-login-flow-20260811.
  2. If .claude/specs/{slug}.md already exists → ABORT and report the existing path. Never overwrite and never silently suffix — an existing spec is a prior decision to extend or supersede, and that is the user's call.
  3. Create the directory, then write the file with the Write tool (not a shell redirect):
mkdir -p .claude/specs

Then Write → .claude/specs/{slug}.md with the format below, and verify:

test -f .claude/specs/{slug}.md && echo "SPEC SAVED: .claude/specs/{slug}.md"

Residency: the spec records the user's goals, constraints, and "must not touch" list. .claude/specs/ is gitignored in this repo; in a company project, confirm the path is gitignored there too before writing — if it is not, write to a gitignored location instead.

Spec Document Format

# Spec: {task title}
Created: {date} | Status: draft

## Goal
{One sentence — what is being built and why}

## Completion Criteria
- [ ] {verifiable condition 1}
- [ ] {verifiable condition 2}

## Scope
Included: {what is explicitly included}
Excluded: {what is explicitly excluded}

## Constraints
- {technical constraint}
- {what must not be done}

## Priority
{Fast completion / Solid design / Balanced} — {reason}

## References
{related files / existing skills / prerequisite work}

Step 4. Follow-up Connections

After generating the spec document, suggest the appropriate next path:

SituationConnected skill
Agent orchestration needed for implementationagent-composer — pass spec document path
Plan / design review neededbuilt-in Plan agent — build plan based on spec
Single task is now clearStart implementation directly
Audit needed before external sharinghub-persona-auditor

Done When

ConditionCompletion verdictCheck class
Socratic dialogue complete (≤3 rounds, ≤2 questions/round)✅ Clarification completemandatory-pass
test -f .claude/specs/{slug}.md exits 0 — the file exists on disk✅ Save completemandatory-pass (a printed path is not a saved file)
The spec's Completion Criteria are independently verifiable — someone other than the author could tell whether each is met✅ Spec actionablejudged — adversarial pairing: fh-meta:beginner cold-reads the spec and attempts to state, per criterion, how they would check it; a criterion they cannot operationalize fails
Follow-up skill connection suggestion output✅ Handoff completemandatory-pass

This skill's Done When = "actionable spec document saved". Implementation itself is the domain of follow-up agents/skills.

保存したスキル