一键导入
sspec-clarify
Build shared understanding through dialogue and investigation. Produces Problem Statement + direction sketch. Reusable posture, not rigid phase.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Build shared understanding through dialogue and investigation. Produces Problem Statement + direction sketch. Reusable posture, not rigid phase.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Pre-scan Markdown files before reading. Use `sspec tool mdtoc` to get file size + heading structure with line numbers (L<n> format) before reading long docs, SKILLs, or spec-docs. Eliminates blind reads.
Assess scale, create change, fill spec.md + design.md, align with user. Use after clarify when ready to define the solution.
Execute tasks from tasks.md. Implement code changes, update progress. Use after plan approval.
Break design into concrete tasks. Fill tasks.md with file-level execution plan. Use after design alignment.
User acceptance and feedback loop. Handle argue-improve cycles until user is satisfied.
Structured, efficient agent-user synchronization at decision points. Formalized exchange over prose.
| name | sspec-clarify |
| description | Build shared understanding through dialogue and investigation. Produces Problem Statement + direction sketch. Reusable posture, not rigid phase. |
| metadata | {"author":"frostime","version":"6.2.0"} |
Clarify excavates the problem space: align user intent with reality before Design. The output is a cheap, faithful proxy: the user can predict the likely design, patch scope, user-visible behavior, and major risks before implementation begins.
Clarify is a posture, not a rigid phase. Before leaving Clarify, make explicit at the minimum needed scale:
Re-enter Clarify whenever understanding drifts: Review feedback, implementation contradiction, revision, or scope drift.
No implementation: dialogue + investigation only. Do NOT modify code/files except notes.
Clarify recursively resolves a MECE decision tree. Each design-shaping node is processed through:
Subjective intent + Objective reality → Synthesis
| Concept | Role |
|---|---|
| Subjective | User-owned intent, priority, boundary, external constraint, judgment |
| Objective | Codebase/system/docs/API/trusted-source reality the agent can inspect |
| Synthesis | Current working model, bet, branch classification, next uncertainty |
| Recursive MECE | How the decision tree expands: non-overlapping, no gaps, dependency-aware |
| Socratic questioning | How the agent asks the user to inspect/correct a falsifiable bet |
The format is flexible. Avoid performative status output. Each clarification turn must advance the tree or make clear why it is ready to exit.
For each unresolved design-shaping node:
A useful turn closes a branch, opens a necessary sub-branch, revises the framing, classifies uncertainty, surfaces a blocker, or proves the current model is ready for Design.
Incomplete clarification: surface choices without an inspectable working model, objective reality, or decision-tree consequence.
User words are raw input, not the requirement itself. Separate goal / symptom / proposed solution.
Socratic questioning: state a falsifiable framing or recommended bet → ask the user to confirm, correct, or refine it.
| Pattern | Example |
|---|---|
| Restate | "I think the real problem is X, not Y — correct?" |
| Boundary | "This excludes W — correct?" |
| Priority | "If only one outcome matters, which one? My bet is ..." |
| Unknown | "I am unsure whether Z applies. My current assumption is ..." |
| Challenge | "If this direction is wrong, the alternative framing may be ..." |
Rules:
Investigate before asking factual questions: inspect code/docs/commands/logs/tests/project state/trusted sources first when they can answer.
Read as relevant:
project.md, spec-docs/, existing change memory filessspec change list or sspec change find <name>Ask the user for intent, priorities, external constraints, and judgments the system cannot reveal. If tools or sources are unavailable, state that limitation as an assumption.
Feed findings back: "You said X; the system/source shows Y. Does that change the framing?"
When intent + reality are sufficient, sketch a working model.
Working model = problem framing + relevant evidence + open decision branches + agent's current bet.
| Part | Content |
|---|---|
| Problem Statement | Actual problem, not surface symptom |
| Direction | Approach that fits intent + reality |
| Evidence map | User intent, system evidence, trusted external-source evidence, user constraints, assumptions |
| Open branches | Classified as blocker / assumption / deferred / irrelevant |
Branch classification:
| Type | Meaning | Action |
|---|---|---|
| Blocker | Could change framing, scope, user-visible behavior, risk, or implementation direction | Resolve before Design |
| Assumption | Safe to proceed if explicit and reviewable | Record |
| Deferred | Intentionally outside current scope/phase | Record boundary |
| Irrelevant | Does not affect Design | Drop |
Design should formalize this sketch, not discover it from scratch.
One-confirmation Clarify: proceed only if no blocker is visible after basic reality inspection.
Formal Clarify: enter Design only when all are true:
Adversarial audit probes:
| Probe | Question |
|---|---|
| Alternative framing | If this is the wrong problem, what is the real one? |
| Counter-evidence | What fact would contradict this direction? Can it be checked now? |
| Smaller solution | What narrower change could satisfy the outcome? |
| Failure forecast | What later failure would prove Clarify missed something? |
| Boundary/term attack | Which terms, actors, states, or responsibilities are ambiguous? |
For complex/vague/high-impact/anchoring-prone Clarify, use subagent review when available. Brief: working model, confirmed facts, stable file/doc pointers, request to find missing branches/alternative framings/contradictions/premature-exit risks. Main agent verifies claims and decides.
Then transition to sspec-design.
Bad:
Questions:
- Which label should the result use?
- Which optional behavior should be included?
User answers → Agent enters Design.
Why bad: surface choices only; no working model, reality check, decision-tree consequence, or adversarial pressure.
Better:
Model: desired outcome / proposed change / relevant evidence / current bet
Branches: blocker / assumption / deferred
Questions:
- Framing group — my bet: ...; impact: ...; confirm/correct?
- Boundary group — my bet: ...; impact: ...; confirm/correct?
sspec tmp new clarify_<topic>; the command adds the timestamp prefix.change/reference/.