extract-features
Skill300 starsChanged 42 days agoMITView on GitHub
Turn PRD.md into FEATURES.md: permanent feature IDs, MoSCoW priorities, acceptance criteria and the PRD requirement each feature comes from.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- me2resh/apexyardtheir own version, first seen Oct 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- me2resh/apexyard★ 542same 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 repository12 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- create-prdSkill
- document-existingSkill
- generate-rfcsSkill
- generate-rulesSkill
- implement-rfcSkill
- manage-changesSkill
- review-rfcSkill
- test-strategySkill
- verify-prdSkill
- workflow-statusSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 8 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
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 12
Create a comprehensive FEATURES.md file that clearly outlines all features, organized by priority and category.
- Distinctive: line 14
If PRD-REVIEW.md exists, read it too.
- Distinctive: line 16
If any critical information is missing or unclear, ask specific questions before proceeding.
- Distinctive: line 22
Ensure each feature is discrete, specific, and implementable
- Distinctive: line 30
Must have: Critical for the minimum viable product
- Distinctive: line 31
Should have: Important but not critical for initial release
- Distinctive: line 34
Consider dependencies between features when prioritizing
- Very specific: line 51
If FEATURES.md has a Status column (written by /document-existing), keep it, and keep every Implemented feature as it is unless the PRD …
- Distinctive: line 58
Verify every internal cross-reference -- feature IDs, rule IDs, RFC numbers, section references -- points at what the surrounding text …
- Very specific: line 60
If trace-check.py is available -- in a scripts/ folder beside these instructions, or in the project's own scripts/ folder -- run it on the …
≈ “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
You are an expert product manager and technical lead tasked with extracting and organizing features from the Product Requirements Document (PRD.md, or the PRD provided in the conversation).
Create a comprehensive FEATURES.md file that clearly outlines all features, organized by priority and category. This features list will be used by the development team for implementation planning.
If PRD-REVIEW.md exists, read it too. Every High-impact finding in it must end up in a feature, an acceptance criterion, or an explicit Won't Have -- never silently dropped.
If any critical information is missing or unclear, ask specific questions before proceeding.
Extract and organize the features by:
- FEATURE IDENTIFICATION AND CATEGORIZATION:
- Extract all explicit and implicit features from the PRD
- Ensure each feature is discrete, specific, and implementable
- Assign a unique identifier (e.g., F1, F2, F3)
- Group by logical category (e.g., User Authentication, Dashboard, Reporting)
- Distinguish core features from enhancements
- Tag by user persona where applicable
- PRIORITIZATION:
- Apply MoSCoW prioritization to each feature:
- Must have: Critical for the minimum viable product
- Should have: Important but not critical for initial release
- Could have: Desirable but can be deferred
- Won't have: Out of scope for current release but noted for future
- Consider dependencies between features when prioritizing
- Apply MoSCoW prioritization to each feature:
- FEATURE DETAILING:
- Clear, concise description for each feature
- Acceptance criteria
- Technical considerations or constraints
- Potential edge cases or special handling requirements
- IMPLEMENTATION COMPLEXITY:
- Relative complexity for each feature (Low, Medium, High)
- Features requiring third-party integrations or special expertise
- Features that may present significant technical challenges
Write every feature as a row in a table with these columns: | ID | Feature | Priority | Source | Complexity | Acceptance Criteria |. Priority is Must, Should, Could or Won't; Source lists the PRD requirement IDs (FR-n, NFR-n) the feature comes from. Every PRD requirement must be the source of at least one feature or be listed as Won't Have, and every out-of-scope item in the PRD gets a Won't Have row. Group the tables by category.
First, provide a brief overview of the product based on the PRD. Then create the FEATURES.md content with a summary section showing feature counts by priority and category.
If FEATURES.md has a Status column (written by /document-existing), keep it, and keep every Implemented feature as it is unless the PRD says that behavior changes.
Feature IDs are permanent. If FEATURES.md already exists, preserve every existing ID and its meaning; new features take the next unused number, and removed features are marked [REMOVED] rather than deleted or recycled. Never renumber -- the RFCs cite these IDs by number.
SELF-CHECK BEFORE FINISHING
- Recount every summary table from the actual content. Never carry a count forward from earlier in your own output.
- Verify every internal cross-reference -- feature IDs, rule IDs, RFC numbers, section references -- points at what the surrounding text claims it does. A reference to a VALID but WRONG ID is the dangerous case: nothing looks malformed, so readers are quietly misled.
- Confirm no two tables in the document disagree with each other.
- If
trace-check.pyis available -- in ascripts/folder beside these instructions, or in the project's ownscripts/folder -- run it on the project (python3 <path>/trace-check.py .) and fix every FAIL it reports. It checks IDs, coverage and dependencies mechanically, which reading cannot do reliably. - State that you ran this check and what it turned up.
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.

