requirements
Skill1 starsChanged 50 days agoMITView on GitHub
Discover user needs and maintain concise, traceable product requirements in a software project.
16 other projects use a version of this.
Adopted by
Most recently taken up by
- Jakeschincariol/whale-skilltheir own version, first seen Nov 8, 2026
- marcusbelz/di2-starter-kittheir own version, first seen Oct 31, 2026
- owainlewis/blueprinttheir own version, first seen Oct 13, 2026
- jvalin17/agent-toolkittheir own version, first seen Oct 12, 2026
- rizsotto/Beartheir own version, first seen Oct 8, 2026
- dewil/ai-toolkittheir own version, first seen Aug 25, 2026
Used with
Projects with it also use architecture and agent-browser.
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.
AnthropicSkillarchitecture
Create or evaluate an architecture decision record (ADR). Use when choosing between technologies (e.g., Kafka vs SQS), documenting a design decision with trade-offs and consequences, reviewing a system design proposal, or designing a new component from requirements and constraints.
Also in 8 projects that use this
VercelSkillagent-browser
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
Also in 3 projects that use this
Other versions16 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 16
- rizsotto/Bear★ 6.5ksame name
- owainlewis/blueprint★ 423same name
- ptsilivis/autonomousguy★ 33same name
- Jakeschincariol/whale-skill★ 15same name
- aborroy/aiup-alfresco★ 14same name
- dewil/ai-toolkit★ 9same name
- dewil/claude-toolkit★ 9same name
- saitarrun/Devforge-ai★ 4same name
- digitaldreams/tuhin★ 3same name
- websublime/mister-anderson★ 3same name
6 more not listed
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.
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 33
Use example.md as a shape example, not as a source of product facts.
- Distinctive: line 39
After confirmation, apply the whole candidate using the packaged script from this installed skill:
“Common” is measured: kept by at least 6 in 10 of the 12 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.
Files
Requirements
Maintain the project's current, confirmed user requirements. Invoke this skill explicitly when starting a product or revisiting an existing one. The deliverable is a small docs/requirements/ set that explains who uses the product, what they do and see, the value they receive, and recovery from important failures. Favor user value and convenience. Leave cosmetic choices until they change a meaningful interaction.
Discover before proposing
On first use in an existing project, inspect code, UI, tests, docs, configuration, and runnable behavior where practical. Map actors and meaningful journeys. Ask the user how people actually complete those flows, where the observed behavior differs, and which outcomes have priority. Record the sources inspected and gaps; do not infer a requirement merely from code. For a new product, elicit actor, goal, entry point, ordered actions and visible responses, success, and recovery from the user. Ask about priority and scope. Research a material external claim with relevant primary sources when needed; record provenance, date accessed where relevant, and uncertainty. Never copy secrets or sensitive personal information into these documents.
On later use, first read every current requirement file, integrity metadata, and the ledger. Inspect relevant code and UI changes since the documented revision and report possible drift. Code and observed behavior show what exists; the user's confirmation establishes what is intended. Investigate contradictions between those sources. Never silently adopt changed code as a requirement or silently revert a confirmed requirement because code differs.
Ask only questions that could change actor goals, flow, outcome, recovery, scope, or meaningful quality thresholds. Keep confirmed decisions separate from hypotheses. State inspection gaps and unresolved material claims plainly. If material uncertainty remains, keep the confirmed work in a reviewable draft and withhold final status. Do not invent confidence.
Draft the current state
Prepare a candidate directory outside the canonical docs/requirements/ directory. Use the format and integrity rules in integrity.md. The candidate contains the complete proposed set, including metadata and ledger. Run node <installed-skill>/scripts/requirements.mjs stamp <candidate-directory> <latest-ledger-id> after editing its documents to produce the hash metadata. Keep current documents short:
README.md: user groups, goals, and links to journeys only. Omit an introduction, history, plan, and bibliography.journeys/<slug>.md: one journey per file, with stable requirement ID, actor, goal and user value, entry point, ordered user actions paired with visible system responses, success result, and meaningful failure and recovery. Name a screen only when it clarifies what a user sees or does. Avoid engineering details and minor visual choices.non-functional.md: stable IDs and measurable quality conditions, or an explicitly unresolved measure. Put a meaningful interaction outcome in a journey even when a related standard is also here.evidence.md: stable source IDs, provenance, access date where relevant, finding, confidence or uncertainty, and supported requirement IDs. Current requirements may cite evidence IDs tersely.ledger.md: one history file with localYYYY-MM-DDdate groups, newest first, and stable entry IDs. Record each accepted addition, edit, or removal once, with decision, reason, affected IDs, and before/after user behavior or quality condition. Entries are logically immutable. A new entry may join today's existing group.
For an existing project, the first confirmed set gets exactly one baseline ledger entry: inspected sources, scope, known gaps, before: no maintained requirements, and after: baseline requirements. Do not invent earlier product history. The first confirmed set for a new product also gets one baseline entry. Later accepted changes get one entry per distinct decision; do not put exploratory or rejected ideas in the ledger unless they explain an accepted change. Preserve stable IDs across edits and document removals in the ledger.
Use example.md as a shape example, not as a source of product facts. Apply the human review checklist to every proposed set.
Confirm, validate, and apply
Present the concise proposed current state and each material change to the user. Obtain explicit confirmation before changing the canonical set. Silence is not confirmation. If the project has no Git repository, keep the candidate as a reviewable draft and explain that committed history checks are unavailable; do not claim final status. Likewise, unresolved material behavior or research claims remain drafts even when some other decisions are confirmed.
After confirmation, apply the whole candidate using the packaged script from this installed skill:
node <installed-skill>/scripts/requirements.mjs apply <target-project> <candidate-directory>
node <installed-skill>/scripts/requirements.mjs validate <target-project>The candidate directory is a complete docs/requirements tree, with README.md at its root. The apply command validates before replacing canonical files and retains a rejected candidate for review. Do not manually copy a failed candidate over the last valid set. Revalidate the target after apply. The checker reports uncommitted output separately. The caller chooses whether and when to commit; this skill never commits automatically.
The script checks document structure, IDs, dates, references, hashes, metadata revision links, and observable Git history constraints. It cannot prove that prose is useful, that the inspected behavior is the latest product intent, or that uncommitted changes have an append-only history. Your investigation, user confirmation, and human review address those gaps. Report the changed files, accepted decisions, validation result, uncommitted status, and any remaining inspection gaps.
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.

