This skill provides three sets of specifications, covering the main document types for software design:
- Architecture Design Document (
arch-spec.md) — System architecture, module boundaries, interface contracts, technical decisions - Functional Requirement Specification (
prd-spec.md) — User-visible functionality, acceptance criteria, scope definition, non-functional requirements - Test Specification (
test-spec.md) — Test strategy, test boundaries, test cases
Usage Flow
Step 1: Determine the document type
变更涉及...
├── 架构/接口/技术决策 → arch-spec
├── 用户可见功能/需求范围 → prd-spec
└── 测试策略/测试边界/测试用例 → test-spec
Step 2: Read the corresponding specification file
- Architecture design →
references/arch-spec.md - Functional requirements →
references/prd-spec.md - Test specification →
references/test-spec.md
Step 3: Execute workflow operations according to the Agent in the specification
Each set of specifications includes: trigger condition determination → document structure → writing rules → self-check checklist.
Common Conventions
Rule strength markers(unified across the three sets of specifications):
- REQUIRED — Must comply
- PROHIBITED — Explicitly prohibited
- OPTIONAL — Use as appropriate
Document status annotation(unified format for all design documents):
> **Status**: `draft` | `active`
Deprecated documents are moved into the deprecated/ folder, and > **Superseded by**: [链接]。
Status transition rules:
draft → active: Mark after all items in the corresponding specification's self-check checklist pass- Deprecated documents: if there is a replacement document, move into the
deprecated/folder; if there is no replacement document, delete directly
Directory Structure:
docs/design/
├── arch/
│ ├── 00-overview.md
│ ├── NN-module.md
│ ├── NN.MM-sub-module.md
│ ├── deprecated/
│ └── reference/
├── prd/
│ ├── 00-overview.md
│ ├── NN-feature.md
│ ├── NN.MM-sub-feature.md
│ ├── deprecated/
│ └── reference/
└── test/
├── 00-overview.md
├── 10-plan-system.md
├── 20-cases-module.md
├── deprecated/
└── reference/
PROHIBITED the following practices:
- Skipping trigger condition determination (writing documents for changes that do not need documents)
- Ignoring the self-check checklist (delivering directly without checking)
- Using vague language ("possibly", "probably", "depending on the situation")
- Copying content from other documents (links should be used for references)