ai 代码测试
- 作者仓库星标 0
- 作者仓库 skills-registry
AI Agent SDD — Software Design Document for AI Agents
You guide product teams to write a professional SDD before writing AI agent code, so vibe-coding doesn't drift into a swamp of unboundable scope, fake metrics, and untestable behavior.
A good SDD answers, in order:
- Why — what problem, for whom, measured how
- What — functional + non-functional requirements
- How — system architecture + LLM strategy + agent workflow + data + APIs + UI
- Bounds — failure modes, security, evaluation, acceptance criteria
- Sequence — phased delivery, risks, open questions
Without this, a vibe-coded AI product will (1) hallucinate its own goals mid-build, (2) be impossible to evaluate, (3) be impossible to hand off, and (4) demo well once but be unmaintainable.
When to Use
- 🚀 Starting a new AI agent / AI-powered product (greenfield)
- 🔁 An existing AI feature is mid-flight and scope is drifting
- 🤝 Handing off an AI product to a new engineer, contractor, or co-founder
- 📊 Pitching an AI product to investors / partners — need a single source of truth
- 🎯 Vibe-coding session where you want the agent to write good code, not random code
- 🧪 Defining an evaluation framework (golden set, regression checks) before shipping
When NOT to Use
- Tweaking copy / prompt one-liners (overhead too high)
- Pure infrastructure work with no LLM or agent logic (use a regular tech spec)
- Throwaway prototypes you'll abandon in <1 day (use a 5-line README)
Non-Negotiable Principles
- Problem before solution — fill sections 1-4 (Problem, Goals, Success Metrics, Personas) BEFORE writing any feature requirements
- Goals are testable — every goal has a metric and a target. "Improve UX" is not a goal
- Non-goals are explicit — what you're choosing NOT to do is as important as what you are
- No magic in agent workflow — every LLM call has model, prompt location, expected input/output documented
- Failure modes are first-class — list hallucination, infinite loops, downstream API failures BEFORE writing happy-path code
- Acceptance criteria are check-able by anyone — including a non-engineer; pass / fail must be unambiguous
- Eval framework is part of MVP — at least 10 golden inputs + expected outputs before shipping V1
Two Templates
| Template | Sections | Fill time | Use when |
|---|---|---|---|
templates/sdd-template-mvp.md |
12 | ~30 min | Small feature, single agent, pre-existing infra; or you need to start coding within hours |
templates/sdd-template-full.md |
23 | ~2 hours | New product, multi-agent system, will be handed off, will be pitched, will be open-sourced |
Default: start with MVP. Promote to Full when scope exceeds the MVP template.
Workflow — How to Run This Skill
Step 1: Decide template depth
Ask the user: "Is this a new standalone product (Full), or a feature inside an existing product (MVP)?"
Step 2: Copy the template
mkdir -p docs/sdd
cp .cursor/skills/ai-agent-sdd/templates/sdd-template-mvp.md docs/sdd/<product-slug>-sdd.md
# or sdd-template-full.md for the bigger version
Step 3: Fill section-by-section (don't skip ahead)
The template enforces a fill-order. Force the user/agent to answer each section in sequence:
- Don't allow Section 6 (Functional Requirements) to be filled until Sections 1-5 are done
- Don't allow Section 9 (Agent Workflow) to be filled until Section 8 (System Architecture) is done
- Don't allow Section 19 (Acceptance Criteria) to be filled until Sections 6-7 (FRs/NFRs) are done
This is because skipping ahead is what causes vibe-coded products to fail.
Step 4: Get sign-off before code
Once SDD is filled:
- Show it to a stakeholder (advisor, co-founder, friend with PM background) — get 1-2 critical questions
- If 50%+ of FRs are vague, send back for refinement
- If acceptance criteria can't be tested, send back
Only then start coding.
Step 5: Treat SDD as living doc
- Every PR that changes behavior must update the SDD section it affects
- At end of each phase (MVP → V1 → V2), bump version and add a changelog entry
- If SDD diverges from code by >2 sections, schedule a 30-min sync to reconcile
Section Checklist (Full template — 23 sections)
| # | Section | Required? | What it answers |
|---|---|---|---|
| 0 | Doc Metadata | ✅ | version, owner, status, last_updated, reviewers |
| 1 | TL;DR | ✅ | 3-sentence elevator pitch |
| 2 | Problem & Goals | ✅ | what's broken, what we want to achieve, what we won't try |
| 3 | Success Metrics | ✅ | primary metric + guardrails + targets |
| 4 | Personas | ✅ | primary + secondary user roles |
| 5 | User Journeys | ✅ | 2-3 narrative flows |
| 6 | Functional Requirements | ✅ | FR-1, FR-2 ... with ID, priority, acceptance |
| 7 | Non-Functional Requirements | 🟡 | latency, throughput, accuracy, cost ceiling |
| 8 | System Architecture | ✅ | high-level diagram + component list |
| 9 | LLM Strategy | ✅ (AI) | model selection, fallback chain, prompt files location |
| 10 | Agent Workflow | ✅ (AI) | state machine / DAG of steps |
| 11 | Tools / Function Calls | ✅ (AI) | list of tools agent can invoke |
| 12 | Memory Strategy | 🟡 (AI) | none / short-term / long-term |
| 13 | Human-in-the-Loop | 🟡 (AI) | where humans intervene |
| 14 | Evaluation Framework | ✅ (AI) | golden set, eval cadence, regression checks |
| 15 | Data Model | ✅ | entities, relationships, schema sketch |
| 16 | API Design | ✅ | endpoint table |
| 17 | UI / Page Structure | 🟡 | wireframe sketch, route map |
| 18 | Tech Stack & Rationale | 🟡 | why each choice |
| 19 | Deployment Topology | 🟡 | where each component runs |
| 20 | Observability | 🟡 | metrics, logs, traces, alerts |
| 21 | Cost Model | 🟡 | LLM tokens, infra, third-party APIs |
| 22 | Security & Privacy | ✅ | authn/authz, data handling, secrets |
| 23 | Failure Modes | ✅ | hallucination, infinite loop, downstream failure |
| 24 | Acceptance Criteria | ✅ | testable, verifiable |
| 25 | Phased Delivery | 🟡 | MVP → V1 → V2 |
| 26 | Open Questions & Risks | 🟡 | what's unresolved |
| 27 | Glossary | ⚪ | domain terms |
| 28 | Changelog | ⚪ | v0.1, v0.2 ... |
✅ = required · 🟡 = recommended · ⚪ = optional · (AI) = AI-specific
The MVP template (
sdd-template-mvp.md) keeps only the ✅ rows + collapses 9–14 into one "AI Behavior" section, totaling 12 sections.
Anti-Patterns to Reject
| Anti-pattern | Why it kills the SDD |
|---|---|
| "We'll add metrics later" | If you can't measure success, you can't ship |
| "The agent will figure it out" | LLM behavior must be specified, not hoped for |
| "Acceptance criteria: works as expected" | Untestable = won't be tested = silent failure in prod |
| "We'll handle errors gracefully" | List actual failure modes; "gracefully" is meaningless |
| Copying every section header but leaving content blank | A blank section is worse than no section |
| Writing SDD AFTER code is built | The doc loses its point — it's now just documentation, not design |
Pairing with Other Skills
- Before SDD:
pm-feature-specfor the broader product PRD;persona-researchfor personas - After SDD:
growth-experiment-templatefor launch experiments;daily-review-updatefor execution tracking - Implementation: run a vibe-coding session with Cursor / Claude Code, passing the SDD as context in the system prompt — "read docs/sdd/<product>.md, then implement section-by-section"
Output Artifact Structure
After running this skill, the workspace should contain:
docs/sdd/
└── <product-slug>-sdd.md # the filled SDD
If the product also has a PRD (from pm-feature-spec):
docs/
├── prd/<product-slug>.md # what & why (product framing)
├── sdd/<product-slug>-sdd.md # how & bounds (technical design)
└── eval/<product-slug>-golden.json # evaluation set (referenced by SDD §14)
Strategic Note
A great SDD is a forcing function for clarity. Most AI product failures are not "bad code" — they're "we didn't know what we were building." Filling out a 12-section MVP template will catch ~80% of those failures before any code is written.
Treat the SDD as the cheapest way to find out you're building the wrong thing.
<!-- tomevault:4.0:skill_md:2026-05-23 -->Source: Celina-create/X-Studio — distributed by TomeVault.
- 流狐分类
- 设计与多媒体
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @tomevault-io · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需简单配置
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- 未声明
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- 允许写入 / 修改
- Shell 执行
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 Workflow — How to Run This Skill
Ask the user: "Is this a new standalone product (Full), or a feature inside an existing product (MVP)?"
Step 2: Copy the template
The template enforces a fill-order. Force the user/agent to answer each section in sequence: Don't allow Section 6 (Functional Requirements) to be filled until Sections 1-5 are done Don't allow Section 9 (Agent Workflow) to be filled until Section 8 (System…
Once SDD is filled: Show it to a stakeholder (advisor, co-founder, friend with PM background) — get 1-2 critical questions If 50%+ of FRs are vague, send back for refinement
Every PR that changes behavior must update the SDD section it affects At end of each phase (MVP → V1 → V2), bump version and add a changelog entry If SDD diverges from code by >2 sections, schedule a 30-min sync to reconcile
# AI Agent SDD — Software Design Document for AI Agents
You guide product teams to **write a professional SDD before writing AI agent code**, so vibe-coding doesn't drift into a swamp of unboundable scope, fake metrics, and untestable behavior.
A good SDD answers, in order:
1. **Why** — what problem, for whom, measured how
2. **What** — functional + non-functional requirements
3. **How** — system architecture + LLM strategy + agent workflow + data + APIs + UI
4. **Bounds** — failure modes, security, evaluation, acceptance criteria
5. **Sequence** — phased delivery, risks, open questions
Without this, a vibe-coded AI product will (1) hallucinate its own goals mid-build, (2) be impossible to evaluate, (3) be impossible to hand off, and (4) demo well once but be unmaintainable.
---
## When to Use
- 🚀 Starting a new AI agent / AI-powered product (greenfield)
- 🔁 An existing AI feature is mid-flight and scope is drifting
- 🤝 Handing off an AI product to a new engineer, contractor, or co-founder
- 📊 Pitching an AI product to investors / partners — need a single source of truth
- 🎯 Vibe-coding session where you want the agent to write good code, not random code
- 🧪 Defining an evaluation framework (golden set, regression checks) before shipping
## When NOT to Use
- Tweaking copy / prompt one-liners (overhead too high)
- Pure infrastructure work with no LLM or agent logic (use a regular tech spec)
- Throwaway prototypes you'll abandon in <1 day (use a 5-line README)
---
## Non-Negotiable Principles
1. **Problem before solution** — fill sections 1-4 (Problem, Goals, Success Metrics, Personas) BEFORE writing any feature requirements
2. **Goals are testable** — every goal has a metric and a target. "Improve UX" is not a goal
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> When to Use → When NOT to Use → Non-Negotiable Principles → Two Templates → Workflow — How to Run This Skill → Step 1: Decide template depth
要点 -> write a professional SDD before writing AI agent code · Why · What · How · Bounds · Sequence · Problem before solution · Goals are testable
文件/命令 -> templates/sdd-template-mvp.md · templates/sdd-template-full.md · sdd-template-mvp.md · pm-feature-spec · persona-research · growth-experiment-template · daily-review-update
内容 SHA-256 -> 32f079548cf7
方法与流程
适用与边界
原文中的明确线索
templates/sdd-template-mvp.md、templates/sdd-template-full.md、sdd-template-mvp.md、pm-feature-spec、persona-research、growth-experiment-template、daily-review-update