update-reqs
Skill5 starsChanged 6 months agoMITView on GitHub
Add or update functional requirement documents in docs/requirements/
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- Trecek/useful-claude-skillsedited, first seen Mar 26, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- Trecek/useful-claude-skills★ 186% same
Wrote their own version · 0
None found.
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-specsSkill
- validate-auditSkill
- verify-diagSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. About 0 are common, 13 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈13
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Add or update functional requirement documents that describe what the software must do.
- Distinctive: line 25
If the user specifies a component, only update that file.
- Distinctive: line 29
Append and update only: NEVER remove a requirement.
- Very specific: line 30
Mark, don't delete: If a requirement no longer appears to match observed software behavior, set its status to Warning with a brief reason.
- Distinctive: line 31
No implementation details: No language, framework, library, file path, class name, function name, data structure, or internal architecture …
- Distinctive: line 33
Each requirement is one testable statement: If you cannot verify whether the software satisfies a requirement through its external behavior …
- Very specific: line 68
Read all existing files in docs/requirements/.
- Very specific: line 73
Verify it still accurately describes the software.
- Distinctive: line 74
If accurate but the wording is incomplete or imprecise, update the requirement text.
- Very specific: line 81
Create or update files in docs/requirements/.
- Distinctive: line 84
When creating a file for the first time, include all discovered requirements organized by functional area.
- Distinctive: line 88
After writing updates, launch one Explore subagent per requirement file.
- Distinctive: line 101
Leave unchanged requirements untouched.
- Very specific: line 107
NEVER modify source code, tests, or any file outside docs/requirements/.
- Distinctive: line 108
NEVER write requirements about internal architecture, module layout, or code organization.
- Distinctive: line 109
ALWAYS explore the codebase before writing.
- Distinctive: line 110
ALWAYS read existing requirement files before making changes.
- Distinctive: line 111
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 Requirements
Add or update functional requirement documents that describe what the software must do. Requirements are implementation-agnostic. From these documents alone, a team could recreate the software in any language or framework without access to the current codebase.
Scope
Requirement files live in docs/requirements/. Create files as needed based on the project's components.
| File | Coverage |
project.md | System-wide behavior, MCP tool contracts, subprocess management, data flow rules, cross-cutting constraints |
If the user specifies a component, only update that file. Otherwise update all applicable files.
Core Rules
- Append and update only. NEVER remove a requirement. Requirements are a living record.
- Mark, don't delete. If a requirement 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 requirement. Describe observable behavior and contracts between components.
- No code, pseudocode, or structural examples.
- Each requirement is one testable statement. If you cannot verify whether the software satisfies a requirement through its external behavior or documented contracts, it is too vague. If a requirement uses "and" to join two distinct behaviors, split it.
- Be concise. A requirement 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.
Requirement File Format
# [Component] Requirements
## [Functional Area]
### REQ-[NNN]: [Short Title]
**Status**: Active | Warning
**Warning**: [reason this requirement 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 REQ-001
- Functional areas group related requirements under a shared heading
- New requirements append to the end of their functional area
- New functional areas append after existing ones
- A requirement's number never changes, even if requirements 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.
For project.md: What MCP tools are exposed, what each tool does, how subprocess management works, what safety guards exist, what timeouts and error handling guarantees exist, how the server behaves as an MCP endpoint.
2. Read Existing Requirements
Read all existing files in docs/requirements/. Note every current requirement number, status, and functional area. If a file does not exist, it will be created.
3. Compare Behavior to Requirements
For each existing requirement:
- 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 requirement:
- Draft a new requirement with the next sequential number under the appropriate functional area.
4. Write Updates
- Create or update files in
docs/requirements/. - Preserve every existing requirement. Only modify status or requirement text, never delete entries.
- New requirements go at the end of their functional area.
- When creating a file for the first time, include all discovered requirements organized by functional area.
5. Validate All Requirements
After writing updates, launch one Explore subagent per requirement file. Each subagent independently validates every requirement in its assigned file against the actual codebase.
For each requirement the subagent must determine:
- Whether the described behavior exists in the software
- Whether the requirement accurately reflects that behavior as implemented
The subagent returns a list of requirement 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 requirement marked warning to
Status: Warningwith the reason the subagent identified. - Restore any previously warned requirement marked confirmed back to
Status: Activeand remove the Warning line. - Leave unchanged requirements untouched.
This is the final write pass. No further exploration or requirement additions happen after validation.
Constraints
- NEVER modify source code, tests, or any file outside
docs/requirements/. - NEVER write requirements about internal architecture, module layout, or code organization. Only specify behavior visible at component boundaries.
- ALWAYS explore the codebase before writing. Do not write requirements from memory or assumptions.
- ALWAYS read existing requirement files before making changes. Do not create duplicate requirements.
- 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.

