update-specs
Skill5 starsChanged 6 months agoMITView on GitHub
Add or update functional specification documents. Use when user says "update specs", "update specifications", "sync specs", or wants to maintain specification documents that describe what the software must do.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- imbue-ai/sculptortheir own version, first seen Oct 8, 2026
- Trecek/useful-claude-skillsword for word, first seen Mar 26, 2026
Other versions2 projects use a version of this.
Word for word · 1
- Trecek/useful-claude-skills★ 1100% same
Edited · 0
None found.
Wrote their own version · 1
- imbue-ai/sculptor★ 246same 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 repository23 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- .github/CLAUDE.mdCLAUDE.md
- tests/CLAUDE.mdCLAUDE.md
- audit-archSkill
- audit-bugsSkill
- audit-cohesionSkill
- audit-defense-standardsSkill
- audit-testsSkill
- chart-courseSkill
- check-bearingSkill
- design-guardsSkill
- elaborate-phaseSkill
- id-slopSkill
- make-arch-diagSkill
- make-reqSkill
- make-scenariosSkill
- promote-to-mainSkill
- render-recipeSkill
- review-promotionSkill
- update-architectureSkill
- update-reqsSkill
- validate-auditSkill
- verify-diagSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 15 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Add or update functional specification documents that describe what the software must do.
- Distinctive: line 23
Append and update only: NEVER remove a specification.
- Very specific: line 24
Mark, don't delete: If a specification no longer appears to match observed software behavior, set its status to Warning with a brief reason.
- Distinctive: line 25
No implementation details: No language, framework, library, file path, class name, function name, data structure, or internal architecture …
- Distinctive: line 27
Each spec is one testable requirement: If you cannot verify whether the software satisfies a spec through its external behavior or …
- Distinctive: line 62
Read all existing spec files.
- Very specific: line 67
Verify it still accurately describes the software.
- Distinctive: line 68
If accurate but the wording is incomplete or imprecise, update the requirement text.
- Distinctive: line 75
Create or update spec files.
- Distinctive: line 78
When creating a file for the first time, include all discovered specs organized by functional area.
- Distinctive: line 82
After writing updates, launch one Explore subagent per spec file.
- Distinctive: line 95
Leave unchanged specs untouched.
- Distinctive: line 101
NEVER modify source code, tests, or any file outside the specs directory.
- Distinctive: line 102
NEVER write specs about internal architecture, module layout, or code organization.
- Distinctive: line 103
ALWAYS explore the codebase before writing.
- Distinctive: line 104
ALWAYS read existing spec files before making changes.
- Distinctive: line 105
ALWAYS use the sequential numbering scheme.
≈ “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
Update Specifications
Add or update functional specification documents that describe what the software must do. Specifications are implementation-agnostic requirements. From these documents alone, a team could recreate the software in any language or framework without access to the current codebase.
Scope
Specification files live in a dedicated directory (e.g., docs/specs/). Each file covers a component or functional area. If the user specifies a component, only update that file. Otherwise update all spec files.
Core Rules
- Append and update only. NEVER remove a specification. Specs are a living record.
- Mark, don't delete. If a specification no longer appears to match observed software behavior, set its status to
Warningwith a brief reason. Humans decide removal. - No implementation details. No language, framework, library, file path, class name, function name, data structure, or internal architecture belongs in a spec. Describe observable behavior and contracts between components.
- No code, pseudocode, or structural examples.
- Each spec is one testable requirement. If you cannot verify whether the software satisfies a spec through its external behavior or documented contracts, it is too vague. If a spec uses "and" to join two distinct behaviors, split it.
- Be concise. A spec should rarely exceed two sentences. State the requirement directly.
- Describe what, never how. Say what outcome the system must produce, not what mechanism achieves it.
Spec File Format
# [Component] Specifications
## [Functional Area]
### SPEC-[NNN]: [Short Title]
**Status**: Active | Warning
**Warning**: [reason this spec may no longer apply - only present when status is Warning]
[Single requirement statement in plain prose. No bullets, sub-items, or conditional trees.]Rules:
- Numbers are sequential per file starting at SPEC-001
- Functional areas group related requirements under a shared heading
- New specs append to the end of their functional area
- New functional areas append after existing ones
- A spec's number never changes, even if specs above it receive warnings
Workflow
1. Explore Current Behavior
Launch parallel Explore subagents to understand what the software currently does. Focus on observable behavior and contracts, not implementation structure.
Investigate: How components communicate, what data flows between them, what persistence guarantees exist, what the interface exposes to users, what invariants hold across the system, how errors propagate across boundaries.
2. Read Existing Specs
Read all existing spec files. Note every current spec number, status, and functional area. If a file does not exist, it will be created.
3. Compare Behavior to Specs
For each existing spec:
- Verify it still accurately describes the software. If not, set status to
Warningwith a reason. - If accurate but the wording is incomplete or imprecise, update the requirement text.
For each observed behavior not yet covered by a spec:
- Draft a new spec with the next sequential number under the appropriate functional area.
4. Write Updates
- Create or update spec files.
- Preserve every existing spec. Only modify status or requirement text, never delete entries.
- New specs go at the end of their functional area.
- When creating a file for the first time, include all discovered specs organized by functional area.
5. Validate All Specs
After writing updates, launch one Explore subagent per spec file. Each subagent independently validates every spec in its assigned file against the actual codebase.
For each spec the subagent must determine:
- Whether the described behavior exists in the software
- Whether the spec accurately reflects that behavior as implemented
The subagent returns a list of spec numbers with a verdict: confirmed (behavior matches), warning (behavior missing, changed, or ambiguous), or unchanged (status already correct).
6. Apply Validation Results
Using the subagent findings from step 5:
- Set any spec marked warning to
Status: Warningwith the reason the subagent identified. - Restore any previously warned spec marked confirmed back to
Status: Activeand remove the Warning line. - Leave unchanged specs untouched.
This is the final write pass. No further exploration or spec additions happen after validation.
Constraints
- NEVER modify source code, tests, or any file outside the specs directory.
- NEVER write specs about internal architecture, module layout, or code organization. Only specify behavior visible at component boundaries.
- ALWAYS explore the codebase before writing. Do not write specs from memory or assumptions.
- ALWAYS read existing spec files before making changes. Do not create duplicate specs.
- ALWAYS use the sequential numbering scheme. Never skip or reuse numbers.
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.

