agentleFS
zaxbysaucezaxbysauce/opencode-swarm/.claude/skills/clarify-spec/SKILL.md

clarify-spec

Skill517 starsChanged 3 days agoMITView on GitHub

Full execution protocol for MODE: CLARIFY-SPEC -- resolving spec clarification markers and maintaining spec/planning alignment.

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 4 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read the effective spec resolved by /swarm sdd status (native .swarm/spec.md OR OpenSpec openspec/ OR Spec-Kit .specify/ — read the …

    line 20
  2. Distinctive:

    After each accepted answer, write the resolution to the resolved effective source (source-aware write-back):

    line 35
  3. Distinctive:

    If the answer invalidates an earlier requirement, update it to remove the contradiction.

    line 42
  4. Distinctive:

    Stop when: all critical ambiguities are resolved, user says "done" or "stop", or 8 questions have been asked.

    line 43
  5. Distinctive:

    Do not modify any part of the spec that was not affected by the accepted answer.

    line 49
  6. Very specific:

    Always write the accepted answer back to the resolved effective source before presenting the next question.

    line 50
  7. Very specific:

    Do not create, overwrite, or shadow the spec file — only refine what exists.

    line 52
  8. Very specific:

    Apply the Overconfidence guard: If the critic supplies a RESOLVE verdict with a default answer, but that default is not directly supported …

    line 61

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Clarify Spec Protocol

This protocol is loaded on demand by the architect runtime. The architect prompt keeps only activation, action, and hard safety constraints; the full execution details live here.

MODE: CLARIFY-SPEC

Activates when: /swarm sdd status reports a single resolved EFFECTIVE spec (non-null) AND it contains [NEEDS CLARIFICATION] markers; OR user says "clarify", "refine spec", "review spec", or "/swarm clarify" is invoked; OR architect transitions from MODE: SPECIFY or MODE: BRAINSTORM with open markers.

/swarm sdd status reflects readEffectiveSpecSync, which returns null (NO effective spec) for: no sources at all, multiple competing sources (e.g. openspec/ AND .specify/), multi-feature Spec-Kit without a selected feature, or any other unresolvable state. CLARIFY-SPEC does NOT activate in these null cases — tell the user: "No resolved effective spec exists. Disambiguate with /swarm sdd project --source <source> or --feature <feature>, or run /swarm specify to generate one first." and stop.

CONSTRAINT: CLARIFY-SPEC must NEVER create a spec. Always consult /swarm sdd status to determine the effective spec source before proceeding.

  1. Read the effective spec resolved by /swarm sdd status (native .swarm/spec.md OR OpenSpec openspec/ OR Spec-Kit .specify/ — read the resolved spec FIRST before making any changes).
  2. Scan for ambiguities beyond explicit [NEEDS CLARIFICATION] markers:
    • Vague adjectives ("fast", "secure", "user-friendly") without measurable targets
    • Requirements that overlap or potentially conflict with each other
    • Edge cases implied but not explicitly addressed in the spec
    • Acceptance criteria (SC-###) that are not independently testable
  3. Present all spec modifications using delta format with ## ADDED/MODIFIED/REMOVED Requirements sections:
    • ADDED Requirements: New requirements being added to the spec

    • MODIFIED Requirements: Existing requirements being revised (show old vs new)

    • REMOVED Requirements: Requirements being deleted (show what was removed)

  4. Delegate to the active swarm's sme agent for domain research on ambiguous areas before presenting questions.
  5. Present questions to the user ONE AT A TIME (max 8 per session):
    • Offer 2–4 multiple-choice options for each question
    • Mark the recommended option with reasoning (e.g., "Recommended: Option 2 because…")
    • Allow free-form input as an alternative to the options
  6. After each accepted answer, write the resolution to the resolved effective source (source-aware write-back):
    • NATIVE effective spec (.swarm/spec.md exists): update .swarm/spec.md with the resolution directly.
    • NON-NATIVE effective spec (openspec/specify-only, NO native .swarm/spec.md): do NOT write .swarm/spec.md — this would silently shadow the non-native source. Instead:
      • (a) If the resolved source supports in-place edits (e.g., OpenSpec sections), update the source artifacts directly.
      • (b) If no in-place edit path exists, ask the user: "The effective spec lives in <source>. To persist this resolution as a native spec, run /swarm sdd project first to materialize one, or I can stop here. Proceed?" — if the user consents to project, materialize via /swarm sdd project then write .swarm/spec.md; otherwise stop.
      • (c) If neither (a) nor (b) applies, stop and tell the user the clarification cannot be auto-written to a non-native source without a projection step.
    • Replace the relevant [NEEDS CLARIFICATION] marker or vague language with the accepted answer.
    • If the answer invalidates an earlier requirement, update it to remove the contradiction.
  7. Stop when: all critical ambiguities are resolved, user says "done" or "stop", or 8 questions have been asked.
  8. Report a ## Clarification Summary: total questions asked, requirements added/modified/removed, remaining open ambiguities (if any), and suggest next step (PLAN if spec is clear, or continue clarifying).

CLARIFY-SPEC RULES:

  • FR-ID increment rule: When adding new requirements, find the highest existing FR-ID and increment from there (FR-001 → FR-002). Never reuse or skip FR-IDs.
  • One question at a time — never ask multiple questions in the same message.
  • Do not modify any part of the spec that was not affected by the accepted answer.
  • Always write the accepted answer back to the resolved effective source before presenting the next question. Never write .swarm/spec.md in a non-native (openspec/specify-only) repo — see step 5 source-aware write-back rule.
  • Max 8 questions per session — if limit reached, report remaining ambiguities and stop.
  • Do not create, overwrite, or shadow the spec file — only refine what exists. In non-native (openspec/specify-only) repos, never silently materialize a .swarm/spec.md that would shadow the effective source.

Scoped Funnel Protocol (CLARIFY-SPEC only)

CLARIFY-SPEC handles already-surfaced [NEEDS CLARIFICATION] markers and spec ambiguities — it does not perform open-ended discovery of new uncertainties. The full four-stage clarification funnel (inventory, classify, consult critic, surface) described in the clarify skill applies to MODE: CLARIFY and MODE: PLAN, not here.

However, before surfacing each marker question to the user, CLARIFY-SPEC MUST:

  1. Consult critic_sounding_board with the candidate marker question and surrounding spec context to check whether the question wording can be improved or the item can be resolved from existing context.
  2. Apply the Overconfidence guard: If the critic supplies a RESOLVE verdict with a default answer, but that default is not directly supported by user request, spec, or recorded context, classify the item as user_decision rather than self_resolved.
  3. Apply always-surface protection: If the marker belongs to an always-surface category (scope boundaries, destructive behavior, security/privacy, backward compatibility, breaking API changes, new dependencies, deprecations, cross-platform impact, cost/performance tradeoffs, user-visible UX, rollout strategy, QA gates), the item MUST NOT receive UNNECESSARY/DROP from the critic — override to APPROVED/ASK_USER.

Critic verdict mapping (SoundingBoardVerdict): UNNECESSARY→DROP, RESOLVE→RESOLVE, REPHRASE→REPHRASE, APPROVED→ASK_USER.

This scoped protocol is lighter than the full funnel because CLARIFY-SPEC starts from known markers rather than open uncertainty inventory, but it still protects against overconfident self-resolution and premature dropping of important questions.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.