mit einem Klick
sdr
规格驱动开发(SDD)流程助手,包含 Git 工作流管理
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Menü
规格驱动开发(SDD)流程助手,包含 Git 工作流管理
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Basierend auf der SOC-Berufsklassifikation
分析 Python 项目的代码品位 — 6 维度评分(极简度/一致性/可读性/防御性/工程化/Agent Engineering),输出诊断 + 处方 + SVG 雷达图报告
Awwwards 设计灵感侦察 — 按奖项/分类/技术栈/UI元素/配色采集前端设计参考
行为驱动开发(BDD)流程助手
Python 代码冗余检测清单
活文档维护
优雅编码与重构规范
| name | sdr |
| description | 规格驱动开发(SDD)流程助手,包含 Git 工作流管理 |
| user-invocable | true |
| version | 0.0.2 |
| tags | ["workflow","planning","spec-driven","git"] |
| dependencies | {"git":"any"} |
检测当前项目状态,引导下一步行动,全程 Git 管理
按顺序检查项目状态,进入对应阶段:
| 检查项 | 文件/目录 | 进入阶段 |
|---|---|---|
| 无宪法 | specs/000-constitution/spec.md | 阶段0:创建宪法 |
| 无规格 | specs/001-*/ 目录 | 阶段1:创建规格 |
| 无计划 | specs/*/spec.md 存在但无 plan.md | 阶段2:创建计划 |
| 无任务 | plan.md 存在但无 tasks.md | 阶段3:分解任务 |
| 就绪 | 以上都有 | 阶段4:执行实现 |
执行 /sdr 自动检测并进入对应阶段
每个功能对应一个独立分支:
| 时机 | 分支命名格式 | 示例 |
|---|---|---|
| 创建规格 | ###-feature-name | 001-photo-albums |
| 实现中 | 保持不变 | - |
| 完成后 | 合并到 main 后删除 | - |
分支编号规则:
specs/ 目录| 阶段 | 前缀 | 示例 |
|---|---|---|
| 创建宪法 | chore: | chore: 初始化项目宪法 |
| 创建规格 | docs: | docs: 添加图片上传功能规格 |
| 澄清需求 | docs: | docs: 澄清图片格式限制 |
| 创建计划 | docs: | docs: 添加技术实现计划 |
| 分解任务 | docs: | docs: 生成任务列表 |
| 实现功能 | feat: | feat: 实现图片上传接口 |
| 修复问题 | fix: | fix: 修复上传失败bug |
| 重构代码 | refactor: | refactor: 优化上传逻辑 |
| 目录/文件 | Git 管理 | 说明 |
|---|---|---|
| TDD | ||
tests/ | ✅ 提交 | 单元/集成测试 |
conftest.py | ✅ 提交 | pytest 配置 |
.pytest_cache/ | ❌ 忽略 | pytest 缓存 |
| BDD | ||
features/*.feature | ✅ 提交 | 可执行文档 |
features/steps/*.py | ✅ 提交 | 步骤定义 |
features/environment.py | ✅ 提交 | 环境配置 |
.behave/ | ❌ 忽略 | behave 缓存 |
reports/ | ❌ 忽略 | 测试报告 |
features/screenshots/ | ❌ 忽略 | 失败截图 |
| 通用 | ||
.coverage | ❌ 忽略 | 覆盖率数据 |
htmlcov/ | ❌ 忽略 | 覆盖率报告 |
.env | ❌ 忽略 | 环境变量(密钥) |
# Python
__pycache__/
*.py[cod]
.pytest_cache/
*.so
# 测试覆盖率
.coverage
.coverage.*
htmlcov/
*.cover
# TDD (pytest)
.pytest_cache/
.cache/
# BDD (behave)
.behave/
reports/
features/screenshots/
*.log
# 环境变量
.env
.env.local
# IDE
.idea/
.vscode/
*.swp
| 目录 | Git 管理 | 说明 |
|---|---|---|
specs/ | ✅ 提交 | 完整规格历史 |
specs/*/spec.md | ✅ 提交 | 功能规格 |
specs/*/plan.md | ✅ 提交 | 技术计划 |
specs/*/tasks.md | ✅ 提交 | 任务列表 |
原则:specs/ 是项目的活文档,保留所有历史版本。
目标:定义不可变更的开发原则
输出:specs/000-constitution/spec.md
操作:
specs/000-constitution/specs/000-constitution/spec.md模板:
# 项目宪法
## 开发原则
- Library-First: 每个功能作为独立库开始
- CLI Interface: 所有库必须暴露命令行接口
- Test-First: 强制 TDD(不可协商)
- Simplicity: 限制项目数量(初始最多3个),禁止过度抽象
## 质量标准
- 测试覆盖率:核心逻辑 ≥ 80%,整体 ≥ 70%
- 文档要求:每个功能必须有规格说明
- 代码审查:所有代码必须经过审查
## 技术约束
- 语言版本:
- 禁止使用的库:
- 必须使用的工具:
完成标志:
Git 提交:git commit -m "chore: 初始化项目宪法"
目标:描述"做什么",不涉及"怎么做"
操作:
git checkout -b ###-feature-namespecs/###-feature-name/specs/###-feature-name/spec.md模板:
# [功能名称]
## 概述
[一句话描述功能]
## 用户故事
作为 [角色],我想要 [功能],以便 [价值]
## 功能需求
### 核心功能
- [ ] 功能点1 [NEEDS CLARIFICATION]
- [ ] 功能点2
### 边界条件
- 输入限制:
- 输出要求:
## 验收标准
- [ ] 场景1:Given-When-Then
- [ ] 场景2:
## 非功能性需求
- 性能要求:
- 安全要求:
完成标志:
[NEEDS CLARIFICATION] 标记Git 提交:git commit -m "docs: 添加[功能名称]规格"
目标:定义"怎么做"的技术路径
输出:specs/###-feature-name/plan.md
模板:
# 技术实现计划
## 技术上下文
- 语言/框架版本:
- 主要依赖库:
## 架构决策(ADR)
### 决策1:选型 X 而非 Y
- 理由:
- 权衡:
- 后果:
## 数据模型
[类型/表定义]
## API 契约
### 接口1:[名称]
- 请求:
- 响应:
- 错误处理:
## 关键验证场景
1. 场景1:
2. 场景2:
完成标志:
Git 提交:git commit -m "docs: 添加技术实现计划"
目标:将计划分解为可执行任务列表
输出:specs/###-feature-name/tasks.md
格式:
# 任务列表
## [P] 用户故事1:[标题]
### 任务1.1 [P]
- 文件:`path/to/file.py`
- 描述:[具体操作]
- 测试:[测试点]
### 任务1.2
- 依赖:任务1.1
- 文件:
- 描述:
## 用户故事2:[标题]
### 任务2.1 [P]
- 文件:
- 描述:
说明:
[P] = 可并行执行(Parallel)完成标志:
Git 提交:git commit -m "docs: 生成任务列表"
目标:按任务列表实现,遵循 TDD
流程:
git commit -m "test: 添加[功能]的失败测试"git commit -m "feat: 实现[功能]"git commit -m "refactor: 优化[功能]代码"完成标志:
合并流程:
git checkout main
git merge ###-feature-name
git branch -d ###-feature-name
/sdr # 自动检测状态,引导下一步
/sdr constitution # 强制创建/更新项目宪法
/sdr spec # 强制创建功能规格
/sdr plan # 强制创建技术计划
/sdr tasks # 强制分解任务列表
/sdr implement # 强制执行实现
/sdr constitution
↓
创建 specs/000-constitution/spec.md
↓
git commit -m "chore: 初始化项目宪法"
/sdr spec
↓
git checkout -b 001-feature-name
↓
创建 specs/001-feature-name/spec.md
↓
git commit -m "docs: 添加功能规格"
/sdr plan
↓
创建 specs/001-feature-name/plan.md
↓
git commit -m "docs: 添加技术计划"
/sdr tasks
↓
创建 specs/001-feature-name/tasks.md
↓
git commit -m "docs: 生成任务列表"
/sdr implement
↓
逐个任务执行(每个任务 TDD 循环)
- 🔴 测试 → git commit -m "test: ..."
- 🟢 实现 → git commit -m "feat: ..."
- ♻️ 重构 → git commit -m "refactor: ..."
↓
合并到 main
每阶段完成后报告:
示例:
✅ 阶段1完成:创建功能规格
📁 specs/001-photo-albums/spec.md
🌿 分支:001-photo-albums
💬 提交:docs: 添加图片上传功能规格
➡️ 下一步:执行 /sdr plan 创建技术计划
记住:宁可多花时间澄清需求,也不要在错误的方向上狂奔