skills/review-requirements/SKILL.md
Review an existing requirements document for quality: problem clarity, testable needs, constraint inventory, scope boundedness, requirement IDs, and open questions. Evaluative atomic skill; output is a findings list.
npx skillsauth add nesnilnehc/ai-cortex review-requirementsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
根据定义的质量标准评估现有需求文档。不生成或重写需求;这些是“分析需求”的职责。发出发现列表,以便作者可以在设计开始之前或审查之前改进文档。
首要目标:生成需求质量调查结果列表,识别所有六个质量维度的差距,使作者能够在移交给设计之前达到可审查的标准。
成功标准(必须满足所有要求):
需求质量)、严重性、标题、描述和可选建议验收测试:作者是否可以阅读调查结果列表,确切地知道要修复哪个部分或要求,并理解“已修复”是什么样子 - 而无需提出澄清问题?
本技能负责:
本技能不负责:
capture-work-itemsreview-* 系列技能转交点:当结果发布后,交给作者修复差距,或者确认文档是无发现的并交给 AgentFabric runtime 进入下游设计工作流。
对于每个维度,扫描整个文档并发布发现的所有违规行为的结果:
问题清晰
需求的可测试性
限制库存
范围界限
需求 ID
开放式问题
|严重程度 |何时使用 |
| :--- | :--- |
| 关键 |缺少问题陈述;对于任何必须具备的要求没有接受标准;没有范围定义 |
| 主要 |存在验收标准但无法测试(仅限形容词);约束库存缺失;无 V1 边界 |
| 轻微 |部分需求缺少ID;一些验收标准不完整;假设未分离|
| 建议 |开放性问题可以更明确; ID 不连续;细微的措辞改进 |
docs/requirements-planning/<topic>.md)或内联粘贴的原始内容。不要做这些(其他技能可以处理它们):
capture-work-itemsorchestrate-code-review、review-architecture 等何时停止并交接:
需求质量)、严重性、标题、描述和可选建议作者是否可以阅读调查结果列表,确切地知道要修复哪个部分或需求 ID,并了解“已修复”是什么样子 - 而无需提出澄清问题?
如果否:调查结果不完整或不精确。添加位置参考和具体建议。
如果是:调查结果已准备就绪。移交给作者进行改进或确认文档已准备好用于“设计解决方案”。
输入:要求文档,其中包含 5 个必须具备的项目;其中 3 个没有验收标准。
预期结果:
- **Location**: `## Need Hierarchy / Must Have / R-02`
- **Category**: requirements-quality
- **Severity**: major
- **Title**: Must Have requirement lacks acceptance criteria
- **Description**: R-02 ("Users can export data") has no acceptance criteria. Without a testable criterion, this requirement cannot be verified or designed against.
- **Suggestion**: Add acceptance criteria in the form "Given [context], when [action], then [outcome]". Example: "Given a user has at least one dataset, when they click Export, then a CSV file is downloaded within 3 seconds."
输入:问题陈述为“我们需要一个带有 PostgreSQL 数据库的 React 应用程序,因为用户无法跟踪库存。”
预期结果:
- **Location**: `## Problem Statement`
- **Category**: requirements-quality
- **Severity**: major
- **Title**: Problem statement contains solution references
- **Description**: "React app" and "PostgreSQL database" are technology choices, not problem descriptions. The problem statement should describe the pain without referencing solutions.
- **Suggestion**: Rewrite as: "Small business owners lose inventory data due to manual tracking limitations. They need a reliable way to track and query inventory across devices."
输入:需求文档有 10 个需求,但没有范围内/范围外部分,也没有 V1 边界。
预期结果:
- **Location**: (document-level — no scope section present)
- **Category**: requirements-quality
- **Severity**: critical
- **Title**: No scope definition or V1 boundary
- **Description**: The document lists requirements but does not define what is in scope for V1, what is deferred, or what a minimal useful version looks like. Without scope boundaries, design and implementation have no stopping condition.
- **Suggestion**: Add a "## Scope Definition" section with explicit In scope (V1), Out of scope, and Walking skeleton entries.
输入:完全已满足需求文档,包括问题陈述、所有需求的可测试验收标准、约束库存、V1 范围、唯一验证 R-NN ID 以及带有解决计划的开放问题。
预期输出:
要求文档满足所有六个质量维度。所有必须有的需求都有可测试的验收标准;问题陈述没有解决方案;约束和假设是分开的; V1范围明确;所有需求都带有R-NN ID;开放性问题有解决计划。准备“设计解决方案”。
development
Generate an LLM agent test suite (golden cases, mock-LLM unit tests, evaluator harness) from an agent implementation and its agent-test contract. Use when an agent has no tests, or a contract exists but the test code is missing.
development
After code changes, auto-detect the project's build system and local deployment method for a given directory, then build the project and restart its locally-deployed environment (Docker Compose / systemd / process manager). Never assumes — asks only when detection is ambiguous. Caches detected commands per project in .cortex/redeploy-local.yaml; re-invocations on the same project skip re-scanning until signal files change, the cache expires (30 days), or the skill version bumps.
tools
Publish a NATS message conforming to a cross-team contract, using NATS MCP tools. Authors the contract on first use if missing. Reads project-level cache (.cortex/nats.yaml) to avoid re-prompting basics across sessions.
tools
Drain pending NATS messages from a producer contract via NATS MCP tools (default batch / drain-style). Applies Tolerant Reader semantics and per-message ack/nak/term, returning aggregated stats. Reads project-level cache (.cortex/nats.yaml) to avoid re-prompting.