spec-flow
Skill3 starsChanged 27 days agoMITView on GitHub
Write, validate and archive OpenSpec specs (konvoy-delivery schema); map screens, convert docs, draft specs from code, triage drift. Use before code for a feature or unclear task.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- plimeor/agent-skillstheir own version, first seen Sep 29, 2026
- SmartAssets-io/skillstheir own version, first seen Aug 12, 2026
- echoVic/spec-flowtheir own version, first seen Feb 16, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- echoVic/spec-flow★ 32same name
- plimeor/agent-skills★ 4same name
- SmartAssets-io/skills★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- adrSkill
- api-contract-syncSkill
- architecture-advisorSkill
- ci-triageSkill
- compassSkill
- debugSkill
- delivery-digestSkill
- design-taste-skillsSkill
- grillSkill
- harness-improveSkill
- harness-loopSkill
- impact-analysisSkill
- native-mobile-skillsSkill
- plugin-authorSkill
- pr-flowSkill
- project-memorySkill
- remaining-workSkill
- reviewSkill
- slide-deckSkill
- task-flowSkill
- ui-conformanceSkill
- working-style-skillsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
25 rules. About 0 are common, 9 are distinctive, and 16 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
16
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Use the smallest spec that prevents a misunderstanding.
- Very specific: line 41
Read status before each step.
- Very specific: line 42
Run validate before you report done.
- Very specific: line 44
Run ac check --docs before you report done.
- Distinctive: line 49
Use this to start a project from input documents: a brief, a tender, meeting notes.
- Very specific: line 51
Run ac init --from-specs <dir>.
- Very specific: line 53
Run grill on the inbox. It writes one RAID file for each open question.
- Very specific: line 54
Write {{OPENSPEC_DIR}}/constitution.md if it does not exist.
- Distinctive: line 55
Write one change for each feature: the proposal first, then the quartet for each capability.
- Distinctive: line 56
Keep the inbox files. They are the source of each requirement.
- Very specific: line 60
Use this for a project with spec-kit (.specify/, specs/<feature>/), a root specs/ folder or a single-file question list.
- Very specific: line 62
Run ac migrate --docs --dry.
- Very specific: line 63
Run ac migrate --docs only when the user says yes.
- Very specific: line 64
Do each manual item with the user.
- Very specific: line 66
Run ac check --docs. Report each openspec validate failure.
- Very specific: line 70
Read references/delta-section.md when you append the delta section to a spec.
- Distinctive: line 92
Use this for a codebase that has no specs.
- Distinctive: line 95
Read the entry points, routes, jobs, migrations, schemas and tests.
- Very specific: line 96
Put this line under the title of each draft: > Inferred from code, not reviewed.
- Distinctive: line 97
Add the sections "Open questions" and "Not covered" to each draft.
- Distinctive: line 98
Never invent a requirement.
- Distinctive: line 99
Never overwrite a spec. Write the draft beside it and name the conflict.
- Very specific: line 104
Read references/openspec.md for the root rule, the config.yaml rules and a checklist gate.
- Very specific: line 108
Read references/drift-triage.md when a spec changes after tickets exist.
- Very specific: line 112
Read references/convert-documents.md when a task needs the content of a .docx, .pptx, .xlsx, .odt, .rtf, .epub or .pdf file.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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.
Files
spec-flow
Use the smallest spec that prevents a misunderstanding. A tiny edit needs only an inline brief: goal, non-goal, acceptance, validation.
Layout
OpenSpec lives in {{OPENSPEC_DIR}}. The schema is konvoy-delivery.
{{OPENSPEC_DIR}}/constitution.md
{{OPENSPEC_DIR}}/changes/<id>/proposal.md
{{OPENSPEC_DIR}}/changes/<id>/specs/<cap>/{spec,plan,checklist,tasks}.md
{{OPENSPEC_DIR}}/changes/archive/Flow
- Proposal: write what and why. Do not name a stack. Start with
openspec new change <id>. - Clarify: ask until no high-impact
[NEEDS CLARIFICATION]remains. Usegrillfor a long interview. - Specs: fill the headings of the schema template. Then append the delta section. See
references/delta-section.md. - Plan and tasks: write ordered tasks, tests first. Mark parallel-safe tasks with
[P]. - Apply: implement only after the spec, plan and tasks are stable.
- Validate, then archive.
openspec status --change <id> --json
openspec instructions apply --change <id> --json
openspec validate --all --strict --json
openspec archive <id>Read status before each step. Do not guess which artifact is ready.
Run validate before you report done. Run archive only when the user asks.
Run ac check --docs before you report done. It checks the RAID files, the ADRs and the screen tags.
It also runs openspec validate when the CLI is installed.
Init from specs
Use this to start a project from input documents: a brief, a tender, meeting notes.
- Run
ac init --from-specs <dir>. It creates the layout and copies the documents into{{OPENSPEC_DIR}}/inbox/<dir name>/. - Convert each document that is not Markdown. See
references/convert-documents.md. - Run
grillon the inbox. It writes one RAID file for each open question. - Write
{{OPENSPEC_DIR}}/constitution.mdif it does not exist. Ask for the governing rules. Do not invent them. - Write one change for each feature: the proposal first, then the quartet for each capability.
- Keep the inbox files. They are the source of each requirement.
Migrate specs
Use this for a project with spec-kit (.specify/, specs/<feature>/), a root specs/ folder or a single-file question list.
- Run
ac migrate --docs --dry. Show the plan to the user. - Run
ac migrate --docsonly when the user says yes. Each source moves undermigrated/. Nothing is deleted. - Do each
manualitem with the user. - Append the delta section to each migrated
spec.md. Seereferences/delta-section.md. - Run
ac check --docs. Report eachopenspec validatefailure. Do not hide it.
Delta section
Read references/delta-section.md when you append the delta section to a spec.
Screens
The registry is {{DESIGNS_DIR}}/screens.json. It has one entry per screen:
{ "version": 1, "screens": [
{ "id": "SCR-014", "aliases": ["login"], "route": "/login",
"figma": { "fileKey": "<key>", "nodeId": "12:345" },
"stories": ["Auth/LoginForm"], "specRefs": ["auth/spec.md#REQ-003"] } ] }- Tag each requirement of a screen with the line
Screen: SCR-014. An alias is also correct:Screen: login. - Match a name from the user against
aliasesfirst. - An alias belongs to one screen only.
- Take the next free number for a new screen. Never reuse an id.
ac checkfails on a tag that is not an id or an alias in the registry.ui-conformancereads this registry.
Specs from code
Use this for a codebase that has no specs.
- Group the code into capabilities. Draft the eight largest first. List the others under "Not covered".
- Read the entry points, routes, jobs, migrations, schemas and tests. Use the code graph first when the project has one.
- Put this line under the title of each draft:
> Inferred from code, not reviewed. Drafted from <commit sha>. - Add the sections "Open questions" and "Not covered" to each draft.
- Never invent a requirement. Never present a likely defect as intended behavior.
- Never overwrite a spec. Write the draft beside it and name the conflict.
- Hand the open questions to
grill.
OpenSpec CLI
Read references/openspec.md for the root rule, the config.yaml rules and a checklist gate.
Drift triage
Read references/drift-triage.md when a spec changes after tickets exist.
Convert documents
Read references/convert-documents.md when a task needs the content of a .docx, .pptx, .xlsx, .odt, .rtf, .epub or .pdf file.
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
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.

