MCP HubMCP Hub
返回技能列表

review-spec

rhuss
更新于 Today
8 次查看
1
1
在 GitHub 上查看
设计design

关于

The review-spec skill analyzes technical specifications to validate their structure and quality before implementation. It checks for completeness, clarity, and implementability by identifying ambiguities, gaps, and missing requirements. Developers should use it after creating a specification to prevent confusion and rework during the development phase.

技能文档

Reviewing Specifications for Soundness

Overview

Validate specification quality before implementation begins.

A poor spec leads to confusion, rework, and spec/code drift. A sound spec enables smooth implementation.

This skill checks: completeness, clarity, implementability, and testability.

When to Use

  • After spec creation (before implementation)
  • Before generating implementation plan
  • When spec seems unclear or incomplete
  • Periodically for important specs

Prerequisites

Ensure spec-kit is initialized:

{Skill: spec-kit}

If spec-kit prompts for restart, pause this workflow and resume after restart.

Review Dimensions

1. Completeness

  • All sections filled
  • No TBD or placeholder text
  • All requirements defined
  • Success criteria specified

2. Clarity

  • No ambiguous language
  • Concrete, specific requirements
  • Edge cases explicitly defined
  • Error handling specified

3. Implementability

  • Can generate implementation plan
  • Dependencies identified
  • Constraints realistic
  • Scope manageable

4. Testability

  • Success criteria measurable
  • Requirements verifiable
  • Acceptance criteria clear

The Process

1. Load and Read Spec

cat specs/features/[feature-name].md

Read thoroughly, take notes on issues.

2. Check Structure

Required sections (should exist):

  • Purpose/Overview
  • Functional Requirements
  • Success Criteria
  • Error Handling

Recommended sections:

  • Non-Functional Requirements
  • Edge Cases
  • Dependencies
  • Constraints
  • Out of Scope

If sections missing:

  • Note which ones
  • Assess if truly needed for this spec
  • Recommend additions

3. Review Completeness

For each section, check:

Purpose:

  • Clearly states why feature exists
  • Describes problem being solved
  • Avoids implementation details

Functional Requirements:

  • Numbered/listed clearly
  • Each requirement is specific
  • No "TBD" or placeholders
  • All aspects covered

Success Criteria:

  • Measurable outcomes defined
  • Clear completion indicators
  • Testable assertions

Error Handling:

  • All error cases identified
  • Handling approach specified
  • Error messages/codes defined

Edge Cases:

  • Boundary conditions listed
  • Expected behavior specified
  • Not marked as "TBD"

4. Check for Ambiguities

Red flag words/phrases:

  • "should" (vs "must")
  • "might", "could", "probably"
  • "fast", "slow" (without metrics)
  • "user-friendly" (vague)
  • "handle appropriately" (non-specific)
  • "etc." (incomplete list)
  • "similar to..." (unclear)

For each ambiguity:

  • Identify the vague requirement
  • Note what's unclear
  • Suggest specific alternative

5. Validate Implementability

Ask:

  • Can I generate an implementation plan from this?
  • Are file locations/components identifiable?
  • Are dependencies clear?
  • Is scope reasonable?

Check for:

  • Unknown dependencies
  • Unrealistic constraints
  • Scope too large
  • Conflicting requirements

6. Assess Testability

For each requirement:

  • How will this be tested?
  • Is the outcome verifiable?
  • Can success be measured?

For success criteria:

  • Are they specific enough to test?
  • Can they be automated?
  • Are they objective (not subjective)?

7. Check Against Constitution

If constitution exists:

cat specs/constitution.md

Validate:

  • Does spec follow project principles?
  • Are patterns consistent?
  • Does error handling match standards?
  • Are architectural decisions aligned?

Note any violations with reasoning.

8. Generate Review Report

Report structure:

# Spec Review: [Feature Name]

**Spec:** specs/features/[feature].md
**Date:** YYYY-MM-DD
**Reviewer:** Claude (sdd:review-spec)

## Overall Assessment

**Status:** ✅ SOUND / ⚠️ NEEDS WORK / ❌ MAJOR ISSUES

**Summary:** [1-2 sentence overall assessment]

## Completeness: [Score/5]

### Structure
- [✓/✗] All required sections present
- [✓/✗] Recommended sections included
- [✓/✗] No placeholder text

### Coverage
- [✓/✗] All functional requirements defined
- [✓/✗] Error cases identified
- [✓/✗] Edge cases covered
- [✓/✗] Success criteria specified

**Issues:**
- [List any completeness issues]

## Clarity: [Score/5]

### Language Quality
- [✓/✗] No ambiguous language
- [✓/✗] Requirements are specific
- [✓/✗] No vague terms

**Ambiguities Found:**
1. [Quote ambiguous text]
   - Issue: [What's unclear]
   - Suggestion: [Specific alternative]

## Implementability: [Score/5]

### Plan Generation
- [✓/✗] Can generate implementation plan
- [✓/✗] Dependencies identified
- [✓/✗] Constraints realistic
- [✓/✗] Scope manageable

**Issues:**
- [List any implementability issues]

## Testability: [Score/5]

### Verification
- [✓/✗] Success criteria measurable
- [✓/✗] Requirements verifiable
- [✓/✗] Acceptance criteria clear

**Issues:**
- [List any testability issues]

## Constitution Alignment

[If constitution exists]

- [✓/✗] Follows project principles
- [✓/✗] Patterns consistent
- [✓/✗] Error handling aligned

**Violations:**
- [List any violations]

## Recommendations

### Critical (Must Fix Before Implementation)
- [ ] [Critical issue 1]
- [ ] [Critical issue 2]

### Important (Should Fix)
- [ ] [Important issue 1]

### Optional (Nice to Have)
- [ ] [Optional improvement 1]

## Conclusion

[Final assessment and recommendation]

**Ready for implementation:** Yes / No / After fixes

**Next steps:**
[What should be done]

9. Make Recommendation

If sound (minor issues only):

  • ✅ Ready for implementation
  • Proceed with sdd:implement

If needs work (important issues):

  • ⚠️ Fix issues before implementing
  • Update spec, re-review

If major issues:

  • ❌ Not ready for implementation
  • Significant rework needed
  • May need re-brainstorming

Review Checklist

Use TodoWrite to track:

  • Load and read spec thoroughly
  • Check structure (all sections present)
  • Review completeness (no TBD, all covered)
  • Identify ambiguities (vague language)
  • Validate implementability (can plan from this)
  • Assess testability (can verify requirements)
  • Check constitution alignment (if exists)
  • Generate review report
  • Make recommendation (ready/needs work/major issues)

Example: Sound Spec

# Spec Review: User Profile Update API

**Spec:** specs/features/user-profile-api.md
**Status:** ✅ SOUND

## Overall Assessment

Specification is well-written, complete, and ready for implementation.
Minor suggestions for improvement but no blocking issues.

## Completeness: 5/5

✓ All required sections present
✓ All functional requirements clearly defined (6 requirements)
✓ All error cases identified (4 cases)
✓ All edge cases covered (3 cases)
✓ Success criteria specified and measurable

## Clarity: 4.5/5

✓ Requirements are specific and unambiguous
✓ Error handling clearly defined
⚠️ One minor ambiguity (see below)

**Ambiguities Found:**
1. "Response should be fast"
   - Issue: "Fast" is subjective
   - Suggestion: Specify "Response time < 200ms" or remove

## Implementability: 5/5

✓ Can generate detailed implementation plan
✓ All dependencies identified (JWT auth, database)
✓ Constraints are realistic
✓ Scope is manageable (single endpoint)

## Testability: 5/5

✓ All success criteria measurable
✓ Each requirement verifiable through tests
✓ Clear acceptance criteria

## Constitution Alignment

✓ Follows RESTful conventions (from constitution)
✓ Error handling matches project patterns
✓ Auth requirements aligned with standards

## Recommendations

### Important (Should Fix)
- [ ] Clarify "fast" response requirement (specify < 200ms or remove)

### Optional
- [ ] Consider adding rate limiting requirement
- [ ] Specify audit logging if required by project

## Conclusion

Excellent spec, ready for implementation after minor clarification on
performance requirement.

**Ready for implementation:** Yes (after performance clarification)

**Next steps:** Clarify "fast" requirement, then proceed to sdd:implement

Example: Needs Work

# Spec Review: Real-time Notifications

**Spec:** specs/features/real-time-notifications.md
**Status:** ⚠️ NEEDS WORK

## Overall Assessment

Specification has good foundation but several important gaps that will
cause confusion during implementation.

## Completeness: 3/5

✓ Purpose clearly stated
✗ Non-functional requirements missing
✗ Error handling incomplete
⚠️ Edge cases partially defined

**Issues:**
- No specification of real-time latency requirements
- Database storage requirements unclear
- Error recovery not defined
- Scalability requirements missing

## Clarity: 3/5

**Ambiguities Found:**
1. "Notifications should appear in real-time"
   - Issue: "Real-time" undefined (< 100ms? < 1s? < 5s?)
   - Suggestion: Specify exact latency requirement

2. "Handle notification delivery failures appropriately"
   - Issue: "Appropriately" is non-specific
   - Suggestion: Define retry logic, fallback, user notification

3. "Support many users"
   - Issue: "Many" is vague
   - Suggestion: Specify target (100? 1000? 10000?)

## Implementability: 2/5

✗ Cannot generate complete implementation plan
✗ Technology stack not specified (WebSocket? SSE? Polling?)
✗ Storage mechanism unclear

**Issues:**
- Is this WebSocket or polling? Spec doesn't say
- Where are notifications stored? For how long?
- What happens when user offline?
- No mention of infrastructure requirements

## Testability: 3/5

⚠️ Some criteria measurable, others vague

**Issues:**
- "Users receive notifications quickly" - not measurable
- "System handles failures" - no specific test criteria

## Recommendations

### Critical (Must Fix Before Implementation)
- [ ] Define exact real-time latency requirement (< Xms)
- [ ] Specify technology (WebSocket vs polling vs SSE)
- [ ] Define notification storage (where, how long)
- [ ] Specify error handling and retry logic
- [ ] Define scalability target (number of users)

### Important (Should Fix)
- [ ] Add detailed error cases
- [ ] Specify offline handling
- [ ] Define notification expiration
- [ ] Add infrastructure requirements

## Conclusion

Spec has good intent but lacks critical technical details needed for
implementation. Requires significant expansion before coding can begin.

**Ready for implementation:** No

**Next steps:**
1. Address all critical issues
2. Re-review spec
3. Then proceed to implementation

Quality Standards

A sound spec has:

  • All sections complete
  • No ambiguous language
  • Specific, measurable requirements
  • Identified dependencies
  • Realistic constraints
  • Clear error handling
  • Defined edge cases
  • Testable success criteria

A poor spec has:

  • Missing sections
  • Vague language
  • Unmeasurable requirements
  • Unknown dependencies
  • Unrealistic constraints
  • Unclear error handling
  • Ignored edge cases
  • Subjective criteria

Remember

Reviewing specs saves time in implementation.

  • 1 hour reviewing spec saves 10 hours debugging
  • Ambiguities caught early prevent rework
  • Complete specs enable smooth TDD
  • Sound specs reduce spec/code drift

Be thorough but not pedantic:

  • Flag real issues, not nitpicks
  • Focus on what blocks implementation
  • Suggest specific improvements
  • Balance perfection with pragmatism

The goal is implementability, not perfection.

快速安装

/plugin add https://github.com/rhuss/cc-superpowers-sdd/tree/main/review-spec

在 Claude Code 中复制并粘贴此命令以安装该技能

GitHub 仓库

rhuss/cc-superpowers-sdd
路径: skills/review-spec

相关推荐技能

langchain

LangChain是一个用于构建LLM应用程序的框架,支持智能体、链和RAG应用开发。它提供多模型提供商支持、500+工具集成、记忆管理和向量检索等核心功能。开发者可用它快速构建聊天机器人、问答系统和自主代理,适用于从原型验证到生产部署的全流程。

查看技能

project-structure

这个Skill为开发者提供全面的项目目录结构设计指南和最佳实践。它涵盖了多种项目类型包括monorepo、前后端框架、库和扩展的标准组织结构。帮助团队创建可扩展、易维护的代码架构,特别适用于新项目设计、遗留项目迁移和团队规范制定。

查看技能

issue-documentation

该Skill为开发者提供标准化的issue文档模板和指南,适用于创建bug报告、GitHub/Linear/Jira问题等场景。它能系统化地记录问题状况、复现步骤、根本原因、解决方案和影响范围,确保团队沟通清晰高效。通过实施主流问题跟踪系统的最佳实践,帮助开发者生成结构完整的故障排除文档和事件报告。

查看技能

llamaindex

LlamaIndex是一个专门构建RAG应用的开发框架,提供300多种数据连接器用于文档摄取、索引和查询。它具备向量索引、查询引擎和智能代理等核心功能,支持构建文档问答、知识检索和聊天机器人等数据密集型应用。开发者可用它快速搭建连接私有数据与LLM的RAG管道。

查看技能