add-feature-specification
Document feature requirements - creates/updates about.md with business rules, scope, decisions
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Document feature requirements - creates/updates about.md with business rules, scope, decisions
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Consolidated view of the add-pro ecosystem - commands, skills, relationships and dependencies. Loaded by /add as source of truth.
Source of truth for ADD doc rules, depth floors, IDs, refs, validation gate. Load before any doc write.
Use when running agent-judged QA validation (read-PNG by default; the playwright plugin adds live driving) — the Level C judge rubric, severity taxonomy, dual-judge (@ux-agent review ∥ @qa-agent) method, report schema/template, and the config.json/screens.json formats. Consumed by /add.qa and both judges.
Use when a state-materializing command starts or is asked to upgrade — reads the setup receipt, compares the recorded contract against the shipped one, executes the declared upgrade deltas sequentially, and rewrites the receipt even on a verified-current no-op. Consumed by /add.qa-setup STEP 1.5 and STEP 11.
Internal skill for developing ADD framework artefacts (commands, skills, agents, scripts). Use when add-framework--plan analyzes viability of new framework features, when add-framework--build implements framework artefacts, or when creating/modifying commands, skills, or agents. Always use this skill before proposing or implementing changes to the framework itself.
Use when building, styling, or theming UI components, pages, layouts, dashboards, charts, tables, or forms for SaaS products.
| name | add-feature-specification |
| description | Document feature requirements - creates/updates about.md with business rules, scope, decisions |
Skill for documenting feature specifications. Creates/updates about.md with requirements, business rules, scope and decisions.
Principle: Document WHAT and WHY, not HOW.
about.md via questionnaireabout.md exists but incomplete → fill missing sectionsadd-feature-discovery instead)add-planning instead)add-product-discovery instead)REQUIRED: Apply before writing:
token-efficiency — minified JSON, tables, no decorationdocumentation-style/cache — Read → Preserve → Complement → Metadatacat docs/features/[FEATURE_ID]/about.md
| State | Action |
|---|---|
| Does not exist / empty | Phase 2 (questionnaire) |
| Partially filled | Phase 3 (complete) |
| Complete | Check if update needed |
Goal: Extract requirements via structured questions.
Technique: Infer answers + validate quickly.
## Quick Validation - [Feature]
I analyzed the context and inferred the answers below.
**Reply "Ok" if correct, or just the corrections.**
### 1. Scope & Goal
**1.1 Main goal:**
→ **[INFERRED]:** [description based on context]
**1.2 Users:**
- a) Authenticated end users
- b) Administrators
- c) External systems (API)
→ **[LIKELY: ?]**
**1.3 Problem solved:**
→ **[INFERRED]:** [description]
### 2. Business Rules
**2.1 Validations:**
→ **[INFERRED]:** [list]
**2.2 Limits/quotas:**
- a) No limits
- b) Per user
- c) Per workspace/plan
→ **[LIKELY: a]**
### 3. Scope
**3.1 Included:**
→ **[INFERRED]:** [list]
**3.2 Excluded:**
→ **[INFERRED]:** [list]
✅ Reply "Ok" or list corrections.
Template about.md (Business Style — WHAT/WHY only, no HOW):
# Feature: [Name]
## Summary
{"status":"discovery|planning|dev|review|done","scope":["item1","item2"],"decisions":["key decision"],"blockers":[],"next":"next action"}
## Goal
**Problem:** [description of the current problem]
**Solution:** [how the feature solves it]
**Value:** [measurable benefit]
## Requirements
<!-- IDs required (RF/RNF). Format: [Action] [object] [condition] (~15-20 words). No vague terms ("fast", "easy"). -->
### Functional
- **RF01:** User can mark notification as read with one click
- **RF02:** System groups notifications of the same type within 24h
### Non-Functional
<!-- Format: [Metric] [value] [context] -->
- **RNF01:** List loads in under 200ms for up to 100 items
- **RNF02:** Supports 1000 requests/minute per tenant
## Business Rules
<!-- Format: [condition] → [result] -->
- **RN01:** Notification unread after 30 days → auto-archive
- **RN02:** User on Free plan → maximum 50 notifications stored
## Scope
### Required Layers (based on questionnaire)
| Validated with User | Layer | Included? |
|---------------------|-------|-----------|
| [questionnaire item] | Frontend/Backend/DB | ✅ |
**⚠️ CRITICAL: If a layer is required for the user to USE the feature → MANDATORY. MUST NOT exclude a layer that makes the feature unusable (e.g., do not exclude frontend if questionnaire validated UI).**
### Included
- [Item that IS part of scope]
### Excluded (ONLY if it does not impact usability)
- [Item NOT part of scope] — [reason] — **Impacts use?** No
## Decisions
<!-- Always include rejected alternative + reason. No decisions without justification. -->
| Decision | Reason | Rejected alternative |
|----------|--------|---------------------|
| [Choice A] | [Why A] | [B — why not] |
## Edge Cases
<!-- Each case MUST have defined handling. -->
- **[Case]:** [defined handling]
## Acceptance Criteria
<!-- Verifiable and testable. -->
- [ ] [Verifiable and testable criterion]
- [ ] [Verifiable and testable criterion]
## Spec
{"feature":"[id]","type":"[new/enhancement/fix]","priority":"[high/medium/low]","users":["type1"],"deps":["feature/system"]}
## Updates
[{"date":"YYYY-MM-DD","change":"short description of change"}]
## Metadata
{"updated":"YYYY-MM-DD","sessions":N,"by":"[subagent]"}
IMPORTANT: Always update ## Summary and ## Updates when there are changes.
See Checklist below before saving.