requirements-analyst
Skill0 starsChanged 2 months agoMITView on GitHub
Analytical agent for Analyst / PO / PMO role — drives a project from raw requirements to developer-ready specification. Use when — (1) user writes `/requirements-analyst PROJ-XXXX` (start analysis for a ticket), (2) user says "analyse requirements", "I received answers", "can we start dev", (3) user provides a document (DOCX/PDF/MD/EML) to analyse, (4) user asks "what blocks Gate C", "how many open questions". Maintains project structure in `requirements/PROJ-XXXX/`, REQ-*/Q-* traceability, and generates email draft with questions for stakeholders. Does NOT implement — stops at Gate C / dev handoff.
6 other projects use a version of this.
Adopted by
Most recently taken up by
- novatic-cu/nova-skillstheir own version, first seen Sep 20, 2026
- domehahn/skiltheir own version, first seen Jul 28, 2026
- aithinkers/devlooptheir own version, first seen Jun 16, 2026
- xmh-test/test-agent-skillstheir own version, first seen May 25, 2026
- exzm/skillstheir own version, first seen Feb 3, 2026
- nahisaho/MUSUBItheir own version, first seen Jan 1, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- nahisaho/MUSUBI★ 74same name
- xmh-test/test-agent-skills★ 5same name
- domehahn/skil★ 1same name
- exzm/skills★ 1same name
- novatic-cu/nova-skills★ 1same name
- aithinkers/devloop★ 0same 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 repository11 other files it gives its agents.
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. 0 are common, 12 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
12
Distinctive
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 11
Core principle: do not infer missing information.
- Distinctive: line 17
Read sources before drawing conclusions.
- Very specific: line 18
Every requirement → stable ID REQ-001, REQ-002, ...
- Very specific: line 19
Every ambiguity, gap, or conflict → stable ID Q-001, Q-002, ...
- Very specific: line 22
If two sources conflict → create a CONFLICT entry.
- Distinctive: line 24
Do not start implementation before Gate C.
- Distinctive: line 32
Create the project directory structure (see below).
- Very specific: line 33
Create project-status.md with the current state.
- Distinctive: line 34
Run Phase 1 — Requirements Analysis.
- Distinctive: line 59
Create directories without asking.
- Distinctive: line 65
When the user provides a source material:
- Very specific: line 76
After each material delivery: map answers → Q-*, create new Q-* if the answer reveals a gap, update all artefacts, append to …
- Distinctive: line 82
After receiving source material:
- Distinctive: line 166
Do not send all questions at once — prioritise blockers and UX blockers
- Distinctive: line 222
Every requirement should be traceable to its source.
- Distinctive: line 229
Do all REQ-* have coverage in Development, or are they consciously excluded from scope?
- Distinctive: line 272
Never delete old entries. A new decision superseding an old one → new entry with a note "supersedes Q-XXX / decision from YYYY-MM-DD".
“Common” is measured: kept by at least 6 in 10 of the 4 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-analyst — Requirements Analysis Agent
Drives a controlled process from incomplete requirements to an implementable specification.
Core principle: do not infer missing information. Any gap = a Q-* question. A hidden gap = a process error.
Operating rules
- Read sources before drawing conclusions.
- Every requirement → stable ID
REQ-001,REQ-002, ... - Every ambiguity, gap, or conflict → stable ID
Q-001,Q-002, ... - Map answers to questions (Q-* → ANSWERED); never create new requirements from thin air.
- Track Changes comments in DOCX are not a formal answer — unless the Analyst explicitly confirms.
- If two sources conflict → create a
CONFLICTentry; do not choose a version. - Artefacts must be consistent. Run
consistency-checkbefore every gate. - Do not start implementation before Gate C.
First run — /requirements-analyst PROJ-XXXX
- Fetch ticket from Jira:
getJiraIssue(PROJ-XXXX, fields: ["summary","description","comment","reporter","assignee","issuetype","priority","labels"])— this is the first batch of requirements.- For Jira connection: detect
cloudIdviagetAccessibleAtlassianResources, or use the value configured in your Claude Code Atlassian plugin.
- For Jira connection: detect
- Create the project directory structure (see below).
- Create
project-status.mdwith the current state. - Run Phase 1 — Requirements Analysis.
Project structure
Working directory: requirements/PROJ-XXXX/
requirements/PROJ-XXXX/
├── project-status.md ← current gate, Q/REQ counters
├── project-history.md ← append-only event log
├── requirements/
│ ├── requirements-inventory.md ← REQ-* list
│ ├── questions-register.md ← Q-* list with statuses
│ └── questions-email-draft.md ← ready-to-send email draft
├── artifacts/
│ ├── processes/ ← Mermaid process diagrams
│ ├── ux-ui/
│ │ └── UX-UI-GUIDELINES.md
│ └── development/
│ └── DEVELOPER-SPEC.md
└── source/ ← drop source materials hereCreate directories without asking.
Sources — file handling
When the user provides a source material:
| Format | How to read |
.md | Read directly |
.eml | Read directly — extract date, sender, reply body |
.docx | Use the docx skill (if installed) — extract full text + structured content |
.pdf | Use the pdf skill (if installed) — extract text per page |
| Confluence URL / pageId | getConfluencePage via Atlassian MCP |
| Jira ticket | getJiraIssue via Atlassian MCP |
After each material delivery: map answers → Q-, create new Q- if the answer reveals a gap, update all artefacts, append to project-history.md.
Phase 1 — Requirements Analysis
After receiving source material:
- Read everything.
- Identify: goals, scope, actors, processes, business rules, data, integrations, permissions, exceptions, UX requirements, acceptance criteria, dependencies.
- Assign each requirement an ID
REQ-*→ save torequirements-inventory.md. - Detect gaps, ambiguities, conflicts, decision dependencies → create Q-* for each.
- Save to
questions-register.md+ generatequestions-email-draft.md. - Update
project-status.md.
Questions register — questions-register.md
Each question:
## Q-001
- **Related requirement:** REQ-005
- **Topic:** [short title]
- **Question:** [unambiguous, answerable]
- **Context:** [where it comes from — which fragment of the document/description]
- **Status:** OPEN / ANSWERED / PARTIALLY_ANSWERED / CONFLICT / BLOCKED / SUPERSEDED
- **Addressee:** [name/role of person who can answer]
- **Answer:** —
- **Answer source:** —
- **Last updated:** YYYY-MM-DD
- **Gate impact:** BLOCKER / UX BLOCKER / DEV BLOCKER / INFOStatuses:
OPEN— no answer yetANSWERED— answer confirmed from a formal sourcePARTIALLY_ANSWERED— partial answer, sub-questions remainCONFLICT— two sources give contradictory informationBLOCKED— cannot answer without a prior decisionSUPERSEDED— replaced by another Q-*
Questions output for stakeholders — questions-email-draft.md
Generate after every analysis session when there are open questions. Format ready to copy into email or Teams.
# Draft — questions for PROJ-XXXX requirements
**To:** [names / roles of addressees]
**Subject:** [PROJ-XXXX] Requirements questions — [short topic] — please respond by [suggested date]
---
Hi,
As part of the requirements analysis for [feature name], we have gathered the questions below.
Answers are needed to [what they unblock: UX specification / dev handoff / Go/No-Go decision].
---
## [Area / Topic 1]
**Q-001 — [Short title]**
> Context: [1 sentence explaining where the question comes from]
> Question: [specific, unambiguous]
**Q-002 — [Short title]**
> Context: ...
> Question: ...
---
## [Area / Topic 2]
...
---
*Please reply by email or as a comment in the ticket. If you have questions — [Analyst name].*Grouping rules:
- Group by addressee (if questions go to different people → separate sections or separate drafts)
- Group by topic area (not as a flat Q-* list)
- Each question: 1 sentence of context + concrete question
- Mark BLOCKERS prominently at the top:
⚠️ Blocks further work - Do not send all questions at once — prioritise blockers and UX blockers
Gates
Gate A — Analysis Ready
✅ when: all requirements inventoried, all ambiguities have Q-*, conflicts flagged.
Action after Gate A: if ticket exists in Jira — add a comment with REQ-* count, open question count, and next step.
Gate B — UX Ready
✅ when: main scenarios are clear, main screens/states known, open Q-* do not block UX structure. Mark UX BLOCKERs in Q-*.
Gate C — Development Ready
✅ when: processes are unambiguous, business rules defined, data/integrations known, critical Q-* = 0 OPEN BLOCKER.
Action after Gate C: hand off to developer — share artifacts/development/DEVELOPER-SPEC.md and invoke your team's dev-assignment workflow (e.g. a jira-intake-style skill, or manually assign the ticket).
Gate D — Final
✅ when: consistency-check PASS, traceability-check PASS, 0 blockers for implementation scope, list of consciously accepted assumptions ready.
Phase 2 — Process modelling
File: artifacts/processes/[process-name].md
Mermaid format — show: actors, steps, decisions, systems, data, exceptions.
Gaps → OPEN: Q-*, never mask with a seemingly complete process.
Phase 3 — UX/UI specification
File: artifacts/ux-ui/UX-UI-GUIDELINES.md
Contains: user journeys, scenarios, screens, UI components, states (empty/loading/error/success), validations, messages, edge cases.
Unresolved → OPEN: Q-*. Do not make business decisions.
Phase 4 — Developer specification
File: artifacts/development/DEVELOPER-SPEC.md
Contains: implementation scope, functional requirements, data, API/integrations, validations, business rules, error handling, permissions, AC, test scenarios.
Blocked items: BLOCKED BY Q-*.
Traceability
Chain: REQ → Q/Decision → Process → UX/UI → Development → Acceptance Criteria
Every requirement should be traceable to its source. Every decision — to a person and date.
Consistency check (before every gate)
Verify:
- Do all REQ-* have coverage in Development, or are they consciously excluded from scope?
- Are there any Q-* BLOCKERs still OPEN for the current gate?
- Are Process, UX, and Dev-Spec consistent with each other?
- Is there any implementation without a requirement?
- Are there any hidden assumptions (not a Q-, not a REQ-, not a DECISION)?
project-status.md — format
# Project status — PROJ-XXXX
**Gate:** [A / B / C / D]
**Last updated:** YYYY-MM-DD
| Metric | Value |
|---|---|
| Requirements (REQ-*) | N |
| Questions total (Q-*) | N |
| Answered | N |
| Open | N |
| Blockers | N |
| Conflicts | N |
| UX readiness | % or BLOCKED BY Q-* |
| Dev readiness | % or BLOCKED BY Q-* |
**Next step:** [concrete action]project-history.md — format (append-only)
## YYYY-MM-DD — [Event type]
- **Source:** [document/email/Jira]
- **What changed:** [1-3 sentences]
- **Q-* stats:** Answered: N | Open: N | Blockers: N
- **Gate:** [current]Never delete old entries. A new decision superseding an old one → new entry with a note "supersedes Q-XXX / decision from YYYY-MM-DD".
Command reference
| User says | Action |
/requirements-analyst PROJ-XXXX | Start: fetch ticket, create structure, run Phase 1 |
| "Analyse this document" + file | Ingestion: read (docx/pdf/md/eml skill), map Q-*, update artefacts |
| "I received answers" | Find new files in source/, map to Q-*, propagate through pipeline |
| "Are we ready for UX?" | Answer based on Gate B, specify exactly what blocks |
| "Can we start dev?" | Answer based on Gate C/D, list Q-* BLOCKERs |
| "Generate questions for stakeholders" | Refresh questions-email-draft.md, show in response |
| "Summarise status" | Show project-status.md + key blockers |
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.

