agentleFS
wtsi-hgiwtsi-hgi/agentskills/skills/spec-writer/SKILL.md

spec-writer

Skill1 starsChanged 40 days agoMITView on GitHub

Orchestrates spec creation and review via subagents. Use when designing a new feature or writing a spec.

25 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use security-reviewer, code-reviewer and 1 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • JeffallanSkill

    security-reviewer

    Identifies security vulnerabilities, generates structured audit reports with severity ratings, and provides actionable remediation guidance. Use when conducting security audits, reviewing code for vulnerabilities, or analyzing infrastructure security. Invoke for SAST scans, penetration testing, DevSecOps practices, cloud security reviews, dependency audits, secrets scanning, or compliance checks. Produces vulnerability reports, prioritized recommendations, and compliance checklists.

    Also in 3 projects that use this

  • GoogleSkill

    code-reviewer

    Also in 4 projects that use this

  • genomewalkerSkill

    learn

    Learn from web sources, generate SKILL.md, and store key patterns in soul memory. Trigger keywords: learn, skill-gen, web-learn, documentation, tutorial.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 7 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 21 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read and follow agent-conduct and subagents before starting.

    line 8
  2. Distinctive:

    If the subagent returns NONE, the loop is done - proceed to "Note skill file paths".

    line 42
  3. Distinctive:

    Stop the current cycle. Do not have spec-author invent functionality to fill the gap.

    line 113
  4. Very specific:

    Write blocker.md alongside prompt.md describing the impossibility (what was requested, why it cannot work) and 1-3 proposed alternatives or …

    line 115
  5. Distinctive:

    Do not author or revise the spec further.

    line 118
  6. Distinctive:

    Follow the rules in subagents (no direct spec writing/reviewing, no read-only agents for writing work, etc.).

    line 123
  7. Distinctive:

    NEVER pass feature description to spec-proofreader.

    line 125
  8. Distinctive:

    NEVER skip review cycles. Feature review and proofreading each need 2 consecutive passes.

    line 126

“Common” is measured: kept by at least 6 in 10 of the 21 edited versions of this file we could read. “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

Spec Writer Skill

Read and follow agent-conduct and subagents before starting. subagents owns delegation: agent choice, briefing, skill discovery, and error handling. This skill covers only the spec-writing procedure.

Input

  • Feature description and output path (e.g. .docs/myfeature/spec.md).

Procedure

1. Initialise prompt

Save the feature description verbatim to prompt.md in the same directory as the target spec.md. This file is the evolving source of truth for requirements.

2. Clarify requirements (subagent Q&A rounds)

Work the open decisions as a tree: settling one unblocks the questions that depended on it. The frontier is every decision whose prerequisites are already settled. Ask the whole frontier in one round, then recompute it.

Repeat until a subagent returns NONE:

  1. Launch a fresh subagent with: the conventions skill path, prompt.md path, and the instruction "Read the conventions skill. Read prompt.md. Research the codebase to understand what exists. Return every question on the current frontier: each decision the spec needs that prompt.md does not already settle and that does not depend on another question you are returning now. Anything observable in the codebase, in project docs, or by running a command is a fact, not a question: find it yourself and return it as a finding. Ask only what is genuinely the user's to decide. Give each question a short title, its options, and your recommended answer, numbered so the user can answer by number. If nothing is left to decide, return NONE."
  2. If the subagent returns NONE, the loop is done - proceed to "Note skill file paths".
  3. Relay the questions with the harness's structured question tool (ask_questions, AskUserQuestion, or equivalent), keeping each recommended answer so the user can accept it as-is.
  4. Append each settled decision to a ## Notes section in prompt.md (create the section on first use) as a direct statement of how the feature should work. Include the subagent's findings the user did not contradict. Do NOT paste raw questions or answers.
  5. Go to step 2.1 (new subagent, fresh context, updated prompt).

A question whose answer depends on another question in the same round belongs to the next round, not this one. The loop ends when the frontier is empty, not after a fixed number of rounds.

This keeps the parent agent's context lean - only prompt.md content and the question relay, never codebase research.

3. Note skill file paths

Note paths for: conventions, spec-author, spec-reviewer, spec-proofreader, phase-creator, phase-reviewer, unslop. Do not read them.

4. Spec authoring

Launch spec-author subagent with: spec-author + conventions + unslop skill paths, prompt.md path (not raw feature description), output path. "Read prompt.md for requirements. Research codebase, write spec."

5. Feature coverage review cycle

Launch spec-reviewer subagent with: spec-reviewer + conventions skill paths, prompt.md path (as feature description), spec path. "Return PASS or FAIL."

  • PASS: increment consecutive pass count. After 2nd consecutive PASS, go to step 6.
  • FAIL: reset count. Launch new spec-author with reviewer feedback, then re-launch a fresh reviewer. Repeat.

6. Text quality proofreading cycle

Launch spec-proofreader with: spec-proofreader + unslop skill paths, spec path. Do NOT include feature description. "Fix errors directly, return PASS or FIXED."

  • PASS: increment count. After 2nd consecutive PASS, go to step 7.
  • FIXED: reset count. Repeat with fresh proofreader.

7. Phase document creation

Launch phase-creator with: phase-creator skill path, spec path, output directory, implementor + reviewer skill names.

8. Phase document review

For each phase file, launch phase-reviewer with: phase-reviewer skill path, phase file path, spec path.

  • PASS: next file.
  • FIXED: repeat for same file until PASS.

Report completion when all phases pass.

Error Handling

Transient subagent failures: see subagents.

Blocker during clarification or authoring (per agent-conduct § Honesty About Blockers - e.g. the requested feature relies on a capability the chosen external API does not provide):

  1. Stop the current cycle. Do not have spec-author invent functionality to fill the gap.
  2. Write blocker.md alongside prompt.md describing the impossibility (what was requested, why it cannot work) and 1-3 proposed alternatives or scope changes.
  3. Do not author or revise the spec further. Report the blocker path to the user and stop.

Rules

  • Follow the rules in subagents (no direct spec writing/reviewing, no read-only agents for writing work, etc.).
  • NEVER pass feature description to spec-proofreader.
  • NEVER skip review cycles. Feature review and proofreading each need 2 consecutive passes. Phase reviews need 1 clean pass each.

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.