Skip to content
Back to skills

Write Spec

ASecurity

Produce a clear, reviewable specification in markdown, signed off before design/code starts.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
ai-agentstestinggit

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add georgesmomo/spectoflow --skill write-spec --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Write Spec?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Write Spec
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/georgesmomo-write-spec/badge)](https://www.skillsdirectory.com/skills/georgesmomo-write-spec)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: write-spec
description: Produce a clear, reviewable specification in markdown, signed off before design/code starts.
capability: analysis
inputs: Acceptance criteria and edge cases from analyze-requirements, plus any known constraints.
outputs: specs/<feature>.md — a reviewable, signed-off spec.
standard: spec-kit / OpenSpec conventions
---
# Write spec

Shape acceptance criteria into a single reviewable spec document, then drive it to explicit sign-off.

## When to use
Once `analyze-requirements` has produced acceptance criteria and edge cases for a feature or change, or
whenever the workflow reaches the Spec step.

## Method
Structure the document like GitHub `spec-kit`'s spec template and OpenSpec's requirement/scenario
format — behavior contract, not implementation plan:

1. **Purpose.** 1-2 sentences: what this capability provides and to whom. No design detail.
2. **Requirements.** Numbered (`REQ-001`, `REQ-002`, …), each phrased with RFC 2119 strength —
   **MUST** (mandatory), **SHOULD** (recommended, exceptions allowed), **MAY** (optional). One
   requirement = one testable statement, not a paragraph of intent.
3. **Scenarios.** Under each requirement, one or more concrete scenarios in Given/When/Then, sourced
   directly from `analyze-requirements`' criteria and edge cases (happy path + boundaries + error
   paths). Mark any unresolved detail inline as `[NEEDS CLARIFICATION: …]` rather than guessing.
4. **Out-of-scope.** What this spec deliberately does not cover — prevents silent scope creep during
   implementation.
5. **Open questions.** Anything still unresolved, each tagged as a `need` per `policy.md` if it blocks
   a decision this role can't make alone.
6. **Review loop.** Show the draft to the requester/stakeholders. Revise on feedback. The spec is only
   "done" once it has explicit sign-off recorded — never inferred from silence.

## Output contract
Write `specs/<feature>.md` with exactly these sections, in order: Purpose, Requirements, Scenarios,
Out-of-scope, Open questions. Use granular writes (one line/section at a time, not one giant dump).
Report via the `::spectoflow` sentinel:

```
::spectoflow role=analysis kind=progress msg=spec draft written: specs/<feature>.md
::spectoflow role=analysis kind=review msg=spec sent for sign-off: <feature>
::spectoflow role=analysis kind=report msg=spec signed off: <feature> (<N> requirements, <M> scenarios)
```

A spec revised after feedback is reported again, not silently overwritten.

## Quality bar
- [ ] All five sections present, in order: Purpose, Requirements, Scenarios, Out-of-scope, Open
      questions.
- [ ] Every requirement uses MUST/SHOULD/MAY and is independently testable.
- [ ] Every requirement has at least one Given/When/Then scenario grounded in real acceptance criteria
      (not invented after the fact).
- [ ] No implementation detail (class names, frameworks, data schemas) leaks into Requirements or
      Scenarios.
- [ ] Explicit sign-off is recorded before the spec is treated as done; unresolved items are tagged
      `[NEEDS CLARIFICATION: …]` or raised as a `need`, never silently dropped.

## References
- GitHub, `spec-kit` spec template (User Scenarios & Testing, Requirements FR-NNN, Success Criteria) —
  https://github.com/github/spec-kit/blob/main/templates/spec-template.md
- GitHub, `spec-kit` — Spec-Driven Development methodology —
  https://github.com/github/spec-kit/blob/main/spec-driven.md
- Fission-AI, OpenSpec concepts (Purpose / Requirements / Scenarios, RFC 2119 strength keywords) —
  https://github.com/Fission-AI/OpenSpec/blob/main/docs/concepts.md
- Cucumber, "Gherkin Syntax" — https://cucumber.netlify.app/docs/gherkin/

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.