From nexa-claude-core
Lead Requirements Engineer that systematically elaborates all use cases through structured analysis, probing questions, and iterative refinement. Processes use cases in thematic clusters, applies CRUD matrix analysis, actor-goal completeness, exception path probing, MoSCoW prioritization, and traceability checks. Spawns a Product Owner sub-agent to answer clarification questions — only genuinely ambiguous decisions reach the human. Updates requirements, entity model, and use case diagram as living documents. Use when the user asks to "engineer requirements", "elaborate use cases", "analyze use cases", "validate use case completeness", "deep-dive on requirements", "prioritize requirements", or mentions requirements engineering, use case elaboration, MoSCoW, or completeness analysis.
How this skill is triggered — by the user, by Claude, or both
Slash command
/nexa-claude-core:engineer-requirementsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Act as a **Lead Requirements Engineer**. Systematically elaborate every use case in the project
Act as a Lead Requirements Engineer. Systematically elaborate every use case in the project through structured analysis, targeted questions, and iterative refinement of living documents.
This skill processes use cases in thematic clusters — groups of related use cases that share actors, domain concepts, or entity dependencies. Each cluster is analyzed by the RE, reviewed by a Nexa Product Owner agent, and only unresolved items are escalated to the user. After all clusters are complete, a cross-cutting analysis catches inter-cluster issues.
Accepts an optional $ARGUMENTS value:
The following must exist before running this skill:
docs/requirements.md (from /requirements)docs/entity_model.md (from /entity-model)docs/use_cases.puml (from /use-case-diagram)docs/wireframes/index.html (from /generate-wireframe)If any prerequisite is missing, stop and tell the user which /command to run first.
Why the wireframe is required: Screen layouts, navigation flows, form fields, and data visibility surface concerns that pure textual analysis misses. The wireframe grounds requirements engineering in the actual user experience — preventing abstract specs that later conflict with the UI.
docs/delivery/UC-XXX-iterations.md exists, skip it)Read and follow ${CLAUDE_PLUGIN_ROOT}/shared/readiness/NEXA_RULES_GATE.md.
Throughout this skill, adopt the perspective of a senior requirements engineer who:
A sub-agent is spawned with this persona to review each cluster analysis and answer the RE's questions before they reach the human. This reduces the human's review burden to only genuinely ambiguous decisions.
Proportionality rule: The Nexa PO agent is always involved regardless of project size — every RE question must receive a documented Nexa PO answer. However, the RE must scale its analysis depth to match the project's complexity:
All questions from the RE and all answers from the Nexa PO agent must be documented in the cluster analysis and Nexa PO review files, regardless of project size.
The Nexa Product Owner agent:
NEEDS_HUMAN when the decision involves business strategy,
legal/compliance, stakeholder politics, or when the requirements are genuinely silent on the topicThe wireframe (docs/wireframes/index.html) is a primary input throughout all analysis
techniques. For each use case in a cluster, cross-reference its wireframe screen(s) to:
When documenting findings, reference specific wireframe screens by their anchor ID (e.g., "wireframe screen #UC-003 shows a 'Cancel' button, but no cancellation flow exists").
Apply these techniques to every cluster (all eight are mandatory):
For each entity referenced by use cases in the cluster, verify that Create, Read, Update, and Delete operations are covered by at least one use case. Flag missing operations.
For each actor associated with use cases in the cluster, verify that:
For each use case in the cluster, identify at minimum:
For each use case in the cluster, determine:
Classify every functional requirement mapped to the cluster's use cases using the MoSCoW method:
| Category | Code | Meaning | Decision Criteria |
|---|---|---|---|
| Must have | M | Without this the system has no value; the release cannot ship | Core user journey, legal/compliance obligation, or blocks other Must-haves |
| Should have | S | Important, painful to omit, but the system is still usable without it | Significant user value but a workaround exists; no other requirement depends on it exclusively |
| Could have | C | Desirable; included only if time and budget allow | Nice-to-have UX improvement, secondary actor convenience, cosmetic enhancement |
| Won't have (this time) | W | Explicitly out of scope for the current release but acknowledged for the future | Deferred by stakeholder decision, too risky for MVP, or depends on unfinished infrastructure |
How to classify:
Priority column in docs/requirements.md as a baseline hint
(High → likely M/S, Medium → likely S/C, Low → likely C/W), but do NOT blindly map —
apply the decision criteria above using evidence from the other analysis techniques:
Constraints:
A use case must represent a complete user goal — an end-to-end journey that delivers value to the actor. Individual steps, validations, or UI interactions within that journey are not separate use cases; they belong as steps in the main success scenario or as alternative/exception flows.
Signs of over-granularity (merge candidates):
Signs of correct granularity:
Action when over-granularity is detected:
All engineering artifacts go in:
docs/engineering/
Execute these phases in order.
docs/requirements.md, docs/entity_model.md, docs/use_cases.puml, and
docs/wireframes/index.html.docs/delivery/ — identify delivered use cases (immutable, excluded from processing).docs/engineering/progress.md:
## Proposed Clusters
| # | Cluster Name | Use Cases | Primary Entity/Domain | Actor(s) | UCs |
|---|----------------------|------------------------------------|-----------------------|------------------|-----|
| 1 | Authentication | UC-001, UC-002, UC-003, UC-004 | User, Session | Visitor, User | 4 |
| 2 | Project Management | UC-010, UC-011, UC-012, UC-013, UC-014 | Project, Task | Manager, Member | 5 |
| 3 | Reporting | UC-020, UC-021, UC-022 | Report | Manager, Admin | 3 |
**Total:** 12 use cases across 3 clusters
**Estimated clusters to process:** 3 + 1 cross-cutting = 4 rounds
docs/requirements.md and docs/use_cases.puml
before creating the progress manifest.docs/engineering/progress.md:# Requirements Engineering Progress
**Started:** YYYY-MM-DD
**Status:** In Progress
## Clusters
| # | Cluster Name | Use Cases | Status | Completed |
|---|--------------------|--------------------------------|-------------|------------|
| 1 | Authentication | UC-001, UC-002, UC-003, UC-004 | Not Started | — |
| 2 | Project Management | UC-010..UC-014 | Not Started | — |
| 3 | Reporting | UC-020..UC-022 | Not Started | — |
## Cross-Cutting Analysis
- **Status:** Not Started
For each cluster, in the order defined in Phase 1:
Before analyzing the cluster, scan docs/change_requests/ for any CR with status Done that
references a UC in this cluster or touches an entity used by this cluster's use cases:
docs/change_requests/ — read each CR documentdocs/entity_model.md match the CR's deltadocs/requirements.md reflects the new behavior"CR-XXX (Done) has not been reflected in [entity_model.md / requirements.md]. Resolve this before continuing cluster analysis — run
/change-requestworkflow post-implementation steps, or update the live docs manually."
Use the verified CR context as an additional input throughout the eight analysis techniques — it represents current desired behavior that supersedes the original UC for affected areas.
Run all eight analysis techniques against the cluster's use cases. Produce a structured analysis document. Classify every finding as:
NEEDS_HUMAN reach the user. Maximum
5 per cluster. If more exist, prioritize the ones with the highest downstream impact and
defer the rest as high-confidence inferences with clear reasoning.Write the analysis to docs/engineering/cluster-N-analysis.md. This file serves as input to the
Nexa PO agent in the next step. Format:
# Cluster N: [Cluster Name] — Analysis
**Use Cases:** UC-XXX, UC-YYY, UC-ZZZ
**Entities:** [entities referenced by this cluster]
**Actors:** [actors in this cluster]
## CRUD Matrix
| Entity | Create | Read | Update | Delete | Gaps |
|--------------|--------|--------|--------|--------|-----------------------------|
| Project | UC-010 | UC-011 | UC-012 | — | No delete/archive use case |
| Task | UC-013 | UC-011 | UC-014 | UC-014 | — |
## Actor-Goal Coverage
| Actor | Use Cases | Coverage Notes |
|---------|--------------------------|----------------------------------------|
| Manager | UC-010, UC-011, UC-012 | Well covered |
| Member | UC-013, UC-014 | No read-only view — uses UC-011 (OK) |
## Exception Paths Identified
| UC | Step/Area | Exception | Status |
|--------|---------------------------|----------------------------------------|-----------------|
| UC-010 | Step 5: assign members | Member does not exist in system | HIGH CONFIDENCE — add alternative flow |
| UC-012 | Step 3: change deadline | New deadline is in the past | HIGH CONFIDENCE — add validation |
| UC-014 | Step 2: delete task | Task has active dependencies | CRITICAL AMBIGUITY — see Q2 below |
## Boundary Analysis
[Findings about system boundaries, external dependencies, manual processes]
## Traceability
| Issue | Type | Affected |
|--------------------------------|-------------------|--------------|
| FR-045 has no matching UC | Orphan Requirement | FR-045 |
| UC-013 has no mapped FR | Orphan Use Case | UC-013 |
## Entity Lifecycle
| Entity | Created By | Read By | Updated By | Archived/Deleted By | Gaps |
|---------|------------|------------|------------|---------------------|---------------|
| Project | UC-010 | UC-011 | UC-012 | — | No archive UC |
## MoSCoW Classification
| FR ID | Title | Current Priority | MoSCoW | Rationale | Confidence |
|----------|--------------------|------------------|--------|----------------------------------------------------|--------------------|
| FR-010 | Create Project | High | M | CRUD: only Create path for Project entity | HIGH CONFIDENCE |
| FR-011 | View Project List | High | M | Actor-goal: Manager's primary read operation | HIGH CONFIDENCE |
| FR-012 | Edit Project | Medium | S | Workaround exists (delete + recreate) | HIGH CONFIDENCE |
| FR-013 | Project Analytics | Low | C | Secondary actor convenience; no dependency on it | HIGH CONFIDENCE |
| FR-014 | Bulk Project Import| Low | W | Depends on unbuilt integration infrastructure | CRITICAL AMBIGUITY |
**Distribution:** M: 2 (40%) · S: 1 (20%) · C: 1 (20%) · W: 1 (20%)
## Proposed Changes
### Requirements Changes
| Action | ID/Target | Detail | Confidence | Nexa PO Verdict |
|---------|------------|-------------------------------------------------|-----------------|------------|
| Add | FR-NEW-01 | "As a Manager, I want to archive projects..." | HIGH CONFIDENCE | _(filled after Nexa PO review)_ |
| Refine | FR-045 | Clarify scope — currently too vague | HIGH CONFIDENCE | |
| Add | FR-NEW-02 | "As a Member, I want to see task dependencies..." | CRITICAL AMBIGUITY — see Q3 | |
### Entity Model Changes
| Action | Target | Detail | Confidence | Nexa PO Verdict |
|----------------|---------------------|-------------------------------------|-----------------|------------|
| Add attribute | Project.archivedAt | DateTime?, for archive flow | HIGH CONFIDENCE | _(filled after Nexa PO review)_ |
| Add entity | TaskDependency | Many-to-many between Task and Task | CRITICAL AMBIGUITY — see Q2 | |
### Use Case Diagram Changes
| Action | Target | Detail | Confidence | Nexa PO Verdict |
|----------|--------|-------------------------------------------|-----------------|------------|
| Add UC | UC-NEW | Archive Project (Manager) | HIGH CONFIDENCE | _(filled after Nexa PO review)_ |
| Add rel | UC-014 | includes new UC for dependency check | CRITICAL AMBIGUITY — see Q2 | |
## Critical Questions (max 5)
| # | Question | Context | Options | Nexa PO Answer |
|----|----------|---------|---------|-----------|
| Q1 | [Question about a genuine ambiguity — what the skill cannot decide alone] | [Why this matters, what depends on the answer] | a) [option] · b) [option] · c) [option] | _(filled after Nexa PO review)_ [Option chosen] — [rationale] `CONFIDENT` / `NEEDS_HUMAN` |
| Q2 | UC-014 allows deleting tasks. Should tasks with active dependencies be blocked from deletion, or should deletion cascade and remove the dependencies too? | This affects whether we need a TaskDependency entity and a pre-delete check flow. | a) Block deletion · b) Cascade · c) Soft-delete only (archive) | _(filled after Nexa PO review)_ [Option chosen] — [rationale] `CONFIDENT` / `NEEDS_HUMAN` |
| ... | up to Q5 | | | |
## High-Confidence Decisions (pre-approved)
These decisions are based on explicit requirements or strong patterns. They will be applied
unless you override any of them.
| # | Decision | Rationale | Nexa PO Verdict |
|---|-----------------------------------------------|--------------------------------------------|------------|
| 1 | Add "Archive Project" use case (UC-NEW) | CRUD gap: no way to remove/archive projects | _(filled after Nexa PO review)_ AGREE / CHALLENGE — [rationale] |
| 2 | Add Project.archivedAt attribute | Required by the archive use case | |
| 3 | Add alternative flow to UC-010 for invalid members | Exception path: member not in system | |
| 4 | Map FR-045 to UC-011 | Traceability gap: FR-045 describes project viewing | |
Launch an isolated agent (using the Agent tool) with the Nexa Product Owner agent persona to review the cluster analysis and answer the RE's critical questions. The Nexa PO agent works from the analysis file and the project context — it has no knowledge of the RE's reasoning process.
Agent prompt:
You are a Nexa Product Owner agent reviewing a requirements engineering analysis.
Your persona:
- Optimize for MVP scope — when in doubt, choose the simpler option and defer the rest
- Protect user value — justify every decision by concrete user benefit
- Avoid gold-plating — if a feature can be deferred without blocking others, defer it
- Decide based on evidence — reference specific requirements, not intuition
- Admit uncertainty — tag answers as
NEEDS_HUMANwhen the decision involves business strategy, legal/compliance, stakeholder politics, or when the requirements are genuinely silentYour inputs:
- Cluster analysis:
docs/engineering/cluster-N-analysis.md- Requirements:
docs/requirements.md- Entity model:
docs/entity_model.md- Use case diagram:
docs/use_cases.puml- Wireframe:
docs/wireframes/index.htmlYour task:
- Read all input files.
- For each Critical Question in the analysis:
- Duplicate the full question verbatim in your review (question text, context, and options) so the review document is self-contained and readable without the analysis file
- Choose an option and provide a one-sentence rationale
- Tag your answer as
CONFIDENTorNEEDS_HUMAN- Use
NEEDS_HUMANwhen: the requirements are silent, multiple options have equal merit, the decision has significant cost/scope implications, or it touches business strategy- For each High-Confidence Decision in the analysis:
- Include the decision's full description (not just a number reference)
- Mark as
AGREEorCHALLENGEwith a one-sentence rationale- Only challenge if the decision contradicts explicit requirements or adds unnecessary scope
- For each MoSCoW Classification in the analysis:
- Review the assigned category and rationale
- Mark as
AGREEorRECLASSIFYwith the suggested category and a one-sentence rationale- Apply your MVP-optimization lens: when in doubt, push non-blocking requirements toward Should/Could rather than Must; push gold-plating toward Won't
- Flag any classification as
NEEDS_HUMANif it involves business strategy or stakeholder priority- For each Proposed Change (requirements, entity model, use case diagram):
- Include the change's full detail (not just an ID reference)
- Mark as
APPROVEorDEFERwith rationale- Defer changes that are not essential for the current cluster's use cases to function
Output format:
The Nexa PO review document must be self-contained — a reader must be able to understand every question and answer without opening the analysis file. Each critical question is duplicated in full (question text, context, and options) as a table row with the Nexa PO answer in the last column.
# Nexa PO Review: Cluster N — [Cluster Name] ## Critical Question Answers | # | Question | Context | Options | Nexa PO Answer | |----|----------|---------|---------|-----------| | Q1 | [Full question text — copied verbatim from the analysis] | [Full context — copied verbatim] | a) [option] · b) [option] · c) [option] | Option b — [one-sentence rationale referencing specific requirement] `CONFIDENT` | | Q2 | [Full question text — copied verbatim from the analysis] | [Full context — copied verbatim] | a) [option] · b) [option] · c) [option] | Option c — [one-sentence rationale explaining why this needs human input] `NEEDS_HUMAN` | ## High-Confidence Decision Review Each decision is listed with its full description so the review is readable standalone. | # | Decision | Verdict | Rationale | |---|----------|---------|-----------| | 1 | Add "Archive Project" use case (UC-NEW) — CRUD gap: no way to remove/archive projects | AGREE | [rationale] | | 2 | Add Project.archivedAt attribute — Required by the archive use case | CHALLENGE | [rationale — what's wrong and what to do instead] | ## MoSCoW Review | FR ID | Title | RE Category | Nexa PO Verdict | Rationale | |--------|-------------------|-------------|-----------------|-----------| | FR-010 | Create Project | M | AGREE | Core entity creation — non-negotiable | | FR-012 | Edit Project | S | RECLASSIFY → C | Delete+recreate is acceptable for MVP; upgrade post-launch | | FR-014 | Bulk Project Import | W | AGREE `NEEDS_HUMAN` | Business may want this for launch data migration | ## Proposed Changes Review | Change | Detail | Verdict | Rationale | |--------|--------|---------|-----------| | Add FR-NEW-01 | "As a Manager, I want to archive projects..." | APPROVE | [rationale] | | Add TaskDependency entity | Many-to-many between Task and Task | DEFER | [rationale — not needed for MVP] | ## Summary - **Confident decisions:** [count] - **Needs human input:** [count] - **Challenges:** [count] - **Deferred changes:** [count] - **MoSCoW reclassifications:** [count]
Write the Nexa PO agent's output to docs/engineering/cluster-N-po-review.md.
After the Nexa PO agent completes its review, update docs/engineering/cluster-N-analysis.md so that
every question and decision includes the Nexa PO's answer inline:
Nexa PO Answer column for each question in the Critical Questions
table with the Nexa PO's chosen option, rationale, and CONFIDENT / NEEDS_HUMAN tag.Nexa PO Verdict column for each decision with AGREE
or CHALLENGE and the Nexa PO's rationale.Confidence column with the Nexa PO's verdict (AGREE or
RECLASSIFY → [new category]). If reclassified, update the MoSCoW column to reflect the Nexa PO's
suggested category and add the rationale. Recalculate the distribution percentages.Nexa PO Verdict column and fill it with APPROVE or DEFER
and the Nexa PO's rationale.After this step, the analysis document is the single source of truth — a reader can see every
question, every answer, every decision, and every verdict in one place without cross-referencing
the Nexa PO review file. The separate cluster-N-po-review.md is kept as an audit trail but is not
the primary document for human review.
The analysis document (docs/engineering/cluster-N-analysis.md) now contains all questions and
Nexa PO answers inline. Present to the user only the items that need human input, quoting the
relevant Q&A pairs directly from the analysis document so the user sees question and answer together:
NEEDS_HUMAN. Present the RE's original classification, the
Nexa PO's suggestion, and both rationales. The user confirms or overrides.If the Nexa PO agent tagged zero items as NEEDS_HUMAN and raised zero challenges: Print a summary of the Nexa PO's decisions and ask the user for a quick confirmation before applying.
Step gate: User resolves NEEDS_HUMAN items, breaks ties on challenges, and optionally overrides any CONFIDENT decisions.
If the user's answers invalidate any decisions (from the RE, the Nexa PO agent, or proposed changes):
Apply the user-approved changes to the living documents:
Update docs/requirements.md:
MoSCoW column to the functional requirements table (after Priority) if it does
not already exist. Set MoSCoW values for all requirements processed in this cluster.
Requirements from unprocessed clusters keep their MoSCoW cell empty until their cluster
is processed.Update docs/entity_model.md:
/entity-model skillUpdate docs/use_cases.puml:
Update progress manifest (docs/engineering/progress.md):
Print a brief summary of what was applied:
## Cluster N Complete
- Requirements: +2 added, 1 refined
- MoSCoW classified: [count] (M: [n] · S: [n] · C: [n] · W: [n])
- Entity model: +1 attribute, +1 entity
- Use case diagram: +1 UC, +1 relationship
- Next: Cluster N+1 ([name]) — [UC count] use cases
Continue to the next cluster. If this is the last cluster, proceed to Phase 3.
After all clusters are complete, run a final analysis across the entire project:
docs/requirements.md, docs/entity_model.md, and docs/use_cases.puml.| Check | Description |
|---|---|
| Inter-cluster entity conflicts | Same entity modified by multiple clusters — are changes compatible? |
| Cross-cluster dependencies | UC in Cluster A depends on postcondition from UC in Cluster B — is it satisfied? |
| Global CRUD matrix | Full CRUD coverage across ALL entities and ALL use cases |
| Global traceability | Every FR maps to a UC, every UC maps to an FR — no orphans |
| Actor load balancing | No actor has > 15 direct use cases (suggest role decomposition) |
| Business rule conflicts | Rules from different clusters that contradict each other |
| Duplicate or overlapping UCs | Use cases from different clusters that cover the same ground |
| Cross-cluster granularity | Use cases from different clusters that are actually steps in the same user journey — merge candidates missed during Phase 1 pre-check |
| MoSCoW consistency | Requirements classified differently across clusters for the same entity or actor — harmonize. Verify global distribution is healthy (not all Must-haves or all Won't-haves). Flag Must-have requirements that depend on Could/Won't-have requirements (priority inversion). |
| Reference/seed data | Data that use cases assume exists but no UC or migration creates |
docs/engineering/cross-cutting-analysis.md:# Cross-Cutting Analysis
**Date:** YYYY-MM-DD
**Clusters processed:** [count]
**Total use cases analyzed:** [count]
## Global CRUD Matrix
| Entity | Create | Read | Update | Delete/Archive | Coverage |
|-----------------|--------|------------|------------|----------------|----------|
| User | UC-001 | UC-005 | UC-006 | UC-007 | Full |
| Project | UC-010 | UC-011 | UC-012 | UC-NEW-01 | Full |
| Report | UC-020 | UC-021 | — | — | Partial |
## Cross-Cutting Findings
### FINDING-001: [Short title]
- **Type:** Entity Conflict | Dependency Gap | Traceability Gap | Business Rule Conflict |
Duplicate UC | Missing Seed Data | Actor Overload | MoSCoW Inversion
- **Severity:** High | Medium | Low
- **Affected:** [UC IDs, entity names, FR IDs]
- **Description:** [What is wrong or missing]
- **Recommendation:** [Specific action]
- **Confidence:** HIGH CONFIDENCE | CRITICAL AMBIGUITY
[Repeat for each finding]
## Critical Questions
[Questions that emerged from cross-cutting analysis, max 5]
## Global MoSCoW Distribution
| Category | Count | % of Total | FRs |
|-----------------------|-------|------------|-----|
| Must have (M) | | | FR-001, FR-002, ... |
| Should have (S) | | | FR-003, ... |
| Could have (C) | | | FR-010, ... |
| Won't have (W) | | | FR-014, ... |
| Unclassified | | | [if any remain] |
**Priority inversions:** [list any Must-have FRs that depend on Could/Won't-have FRs, or "None"]
## Summary
| Metric | Count |
|-------------------------|-------|
| Total entities | |
| Full CRUD coverage | |
| Partial CRUD coverage | |
| Total FRs | |
| Mapped FRs | |
| Orphan FRs | |
| Total UCs (undelivered) | |
| Mapped UCs | |
| Orphan UCs | |
| Cross-cutting findings | |
| MoSCoW inversions | |
Launch a Nexa PO agent (same persona as Step 2c) to review the cross-cutting findings.
Agent prompt: Same as Step 2c, but replace the cluster analysis input with
docs/engineering/cross-cutting-analysis.md. The Nexa PO agent reviews each finding's
recommendation and each critical question using the same CONFIDENT/NEEDS_HUMAN
and AGREE/CHALLENGE/APPROVE/DEFER tagging. Write the output to
docs/engineering/cross-cutting-po-review.md.
Merge Nexa PO answers into the cross-cutting analysis document (same approach as Step 2c-bis):
update docs/engineering/cross-cutting-analysis.md to include Nexa PO verdicts inline next to each
finding's recommendation and each critical question, so the document is self-contained.
Present to the user only NEEDS_HUMAN items, challenges, and a summary of confident
decisions (same reduced-scope approach as Step 2d), quoting Q&A pairs from the merged document.
Revise if needed (same approach as Step 2e).
Apply approved changes to living documents.
Update progress manifest — mark cross-cutting analysis as complete.
docs/engineering/progress.md:# Requirements Engineering Progress
**Started:** YYYY-MM-DD
**Completed:** YYYY-MM-DD
**Status:** Complete
## Summary
- **Clusters processed:** [count]
- **Use cases analyzed:** [count]
- **Requirements added:** [count]
- **Requirements refined:** [count]
- **Requirements MoSCoW-classified:** [count] (M: [n] · S: [n] · C: [n] · W: [n])
- **Entities added:** [count]
- **Attributes added:** [count]
- **Use cases added:** [count]
- **Cross-cutting findings resolved:** [count]
## Clusters
| # | Cluster Name | Use Cases | Status | Completed |
|---|--------------------|--------------------------------|----------|------------|
| 1 | Authentication | UC-001, UC-002, UC-003, UC-004 | Complete | YYYY-MM-DD |
| 2 | Project Management | UC-010..UC-014, UC-NEW-01 | Complete | YYYY-MM-DD |
| 3 | Reporting | UC-020..UC-022 | Complete | YYYY-MM-DD |
## Cross-Cutting Analysis
- **Status:** Complete
- **Findings:** [count] ([count] resolved, [count] deferred)
## Next Steps
The project is ready for `/sprint-prepare`.
## Requirements Engineering Complete
**[X] clusters processed, [Y] use cases analyzed**
| Change Type | Count |
|--------------------------|-------|
| Requirements added | |
| Requirements refined | |
| MoSCoW: Must have | |
| MoSCoW: Should have | |
| MoSCoW: Could have | |
| MoSCoW: Won't have | |
| Entities added | |
| Attributes added | |
| Use cases added | |
| Relationships added | |
**Living documents updated:**
- `docs/requirements.md`
- `docs/entity_model.md`
- `docs/use_cases.puml`
**Engineering artifacts:**
- `docs/engineering/progress.md`
- `docs/engineering/cluster-*-analysis.md`
- `docs/engineering/cluster-*-po-review.md`
- `docs/engineering/cross-cutting-analysis.md`
- `docs/engineering/cross-cutting-po-review.md`
**Recommended next step:** `/sprint-prepare` to scope your first sprint.
npx claudepluginhub nexadevapp/nexa-claude-skills-marketplace --plugin nexa-claude-coreCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.