GitHub Workflow
transilienceai/communitytools
GitHub workflow automation — branching, committing, pushing, pull requests, issues, and code review.
在克隆的 Git 仓库中驱动完整的规格驱动开发生命周期(init→requirements→architecture→processdesign→projectplan→coding→test→bugfix→codereview→release)。阶段门控、产物强制输出、多语言支持,内置 commit message 检查、代码门控与 LOGAF Checklist 评审,支持任意阶段…
$ npx skills add LeoYeAI/openclaw-master-skills --skill spec-driven-dev -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills spec-driven-dev --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/spec-driven-dev .claude/skills/spec-driven-dev && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "spec-driven-dev" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/spec-driven-dev into .claude/skills/spec-driven-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-driven-dev", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/spec-driven-devType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill spec-driven-dev -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills spec-driven-dev --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/spec-driven-dev .agents/skills/spec-driven-dev && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "spec-driven-dev" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/spec-driven-dev into .agents/skills/spec-driven-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-driven-dev", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill spec-driven-dev -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills spec-driven-dev --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/spec-driven-dev .cursor/skills/spec-driven-dev && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "spec-driven-dev" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/spec-driven-dev into .cursor/skills/spec-driven-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-driven-dev", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/spec-driven-dev--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill spec-driven-dev -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills spec-driven-dev --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/spec-driven-dev .gemini/skills/spec-driven-dev && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "spec-driven-dev" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/spec-driven-dev into .gemini/skills/spec-driven-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-driven-dev", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills spec-driven-devInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill spec-driven-dev -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/spec-driven-dev .github/skills/spec-driven-dev && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "spec-driven-dev" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/spec-driven-dev into .github/skills/spec-driven-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-driven-dev", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill spec-driven-dev -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills spec-driven-dev --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/spec-driven-dev .opencode/skills/spec-driven-dev && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "spec-driven-dev" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/spec-driven-dev into .opencode/skills/spec-driven-dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spec-driven-dev", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
spec-driven-dev在克隆的 Git 仓库中驱动完整的规格驱动开发生命周期(init→requirements→architecture→processdesign→projectplan→coding→test→bugfix→codereview→release)。阶段门控、产物强制输出、多语言支持,内置 commit message 检查、代码门控与 LOGAF Checklist 评审,支持任意阶段…
Spec Driven Dev is an agent skill from LeoYeAI/openclaw-master-skills. 在克隆的 Git 仓库中驱动完整的规格驱动开发生命周期(init→requirements→architecture→processdesign→projectplan→coding→test→bugfix→codereview→release)。阶段门控、产物强制输出、多语言支持,内置 commit message 检查、代码门控与 LOGAF Checklist 评审,支持任意阶段 checkpoint 保存与 rollback 恢复,并实时发出结构化进度检查点。
Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `_meta.json`).
It sits in Development, covering Spec-driven development, Commit messages and Project management. It works with Git. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitnpmcargoFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comgitlab.combitbucket.orgFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SPEC_DEV_GIT_TOKENGIT_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Spec Driven Dev loads about 4.8k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 956 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 956 words, ~4,784 tokens.
.claude/skills/spec-driven-dev/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.适用于 Claude Code / OpenCode Runner 的阶段门控规格驱动开发工作流 Skill。
在 init 阶段克隆远程 Git 仓库,随后在该仓库内驱动每个生命周期阶段——强制产出产物、在迭代边界提交、并在 release 阶段推送至远端。内置 code_review 阶段,执行 commit message 合规校验、代码质量门控与 LOGAF Checklist 评审,所有 HIGH 级问题清零后方可进入 release。支持通过 spec-driven-checkpoint Skill 在任意阶段保存 checkpoint,并使用 rollback {ckpt_id} 恢复 Git 状态和 Agent 上下文。支持多语言项目,遵循 OpenSkills 渐进加载原则。
| 工具 | 用途 |
|---|---|
git | 克隆、分支、提交、打标签、推送 |
| 变量 | 是否必须 | 说明 |
|---|---|---|
SPEC_DEV_GIT_TOKEN | 必须 | HTTPS 认证用的个人访问令牌(PAT)或 OAuth2 Token。用于构造带认证的克隆 URL 并写入本地凭据助手。兼容 GitHub、GitLab、Bitbucket、Gitea 的 HTTPS 远端。 |
SPEC_DEV_GIT_USERNAME | 否 | 写入 user.name 和凭据 URL 的 Git 用户名。未设置时默认为 oauth2(兼容 GitHub/GitLab Token 认证)。 |
SPEC_DEV_GIT_EMAIL | 否 | 提交时使用的作者邮箱。未设置时默认为 bot@spec-driven-dev。 |
安全说明 —
SPEC_DEV_GIT_TOKEN仅通过 OpenClawskills.entries.*.env机制在运行时注入,绝不写入任何产物文件、日志或迭代摘要。凭据助手使用局限于当前 Agent 会话的本地~/.git-credentials存储。
# 1 – 克隆远程仓库并初始化 US 目录
init-US042
git_remote: https://github.com/my-org/my-repo.git
us_content: |
## US042 – OAuth2 登录
作为用户,我希望使用 Google 账号登录。
### 验收标准
- [ ] Google OAuth2 重定向正常
- [ ] 回调后签发 JWT
context: "Python 3.11 + FastAPI。数据库为 PostgreSQL 15,不新增依赖。"
# 2 – 链式执行各阶段(git_remote 在 init 后自动持久化到 current_iter.md)
requirements-US042
architecture-US042
process_design-US042
project_plan-US042
coding-US042
test-US042
bugfix-US042 # 仅当 test 阶段报告 HIGH 级失败时执行
code_review-US042 # 三层门控:commit message + 代码质量 + LOGAF Checklist
release-US042 # 仅当 code_review 裁决为 APPROVED 或 APPROVED_WITH_NOTES 时解锁| 变量 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
us_id | string | 必须 | 用户故事 ID(如 US042)。从 <stage>-<us_id> 触发模式中自动捕获,映射至所有产物路径。 |
stage | enum | 必须 | 生命周期阶段:init · requirements · architecture · process_design · project_plan · coding · test · bugfix · code_review · release |
git_remote | string | init 阶段必须 | 远程 Git 仓库的 HTTPS URL。init 后存入 current_iter.md,后续阶段自动读取,无需重复传入。 |
us_content | string | 否 | 用户故事完整文本。在阶段运行前写入 requirements/US/{us_id}.md。已存在时追加合并,除非 force_overwrite: true。 |
context | string | 否 | 自由格式的补充上下文,逐字注入到本次产出的每个产物的 ### 补充上下文 标题下。适用于 ADR 摘录、环境约束、Review 反馈等。 |
iter_id | string | 否 | 当前迭代 ID(如 iter_003)。省略时自动从 current_iter.md 中检测;首次运行默认为 iter_001。 |
force_overwrite | bool | 否 · 默认 false | 为 true 时覆盖已有产物文件,而非追加合并。 |
skip_skill_scan | bool | 否 · 默认 false | 为 true 时跳过 available_skills.xml 扫描(适用于 Runner 已在外部完成 Skill 解析的场景)。 |
本 Skill 在以下情况激活:
阶段命令模式 — 用户输入 <stage>-<us_id>,例如:
init-US042coding-US042code_review-US042release-FEAT_LOGINCheckpoint 命令 — 任意时刻均可触发:
save_checkpoint-{us_id} 或 checkpoint-{us_id} — 手动保存当前状态rollback {ckpt_id} — 回滚到指定 checkpointrollback {ckpt_id} --git-only — 仅回滚 Gitrollback {ckpt_id} --context-only — 仅输出恢复 Promptlist_checkpoints-{us_id} — 列出所有 checkpoint下一迭代意图 — 用户输入以下任意一种:
{us_id}进行下一个迭代next iteration {us_id}start|begin|run|execute … sprint|iteration|milestone→ 自动从 requirements/{us_id}/docs/iteration_summary/current_iter.md 恢复上下文继续执行
所有路径使用 {us_id}、{iter_id}、{version} 作为占位符。
requirements/US/{us_id}.md
requirements/{us_id}/docs/requirements.md
requirements/{us_id}/docs/architecture.md
requirements/{us_id}/docs/process_design.md
requirements/{us_id}/docs/project_plan.md
requirements/{us_id}/docs/tasks.json
requirements/{us_id}/docs/iteration_summary/current_iter.md
requirements/{us_id}/docs/iteration_summary/{iter_id}.md
requirements/{us_id}/docs/release_notes/{version}.md
requirements/{us_id}/docs/reports/test-{us_id}-report.md
requirements/{us_id}/docs/reports/review-{us_id}-{iter_id}.md
requirements/{us_id}/docs/checkpoints/index.md
requirements/{us_id}/docs/checkpoints/{ckpt_id}.md
auxiliary/coding_standards.md
auxiliary/gitflow_guide.md
auxiliary/skills/available_skills.xml
src/
tests/
config/
CHANGELOG.md
PROJECT_STATUS.md
.github/workflows/ci.yml每次调用必须按顺序执行以下六步协议。
stage_start 检查点[SKILL:spec-driven-dev] CHECKPOINT stage_start STATUS=OK us_id={us_id} stage={stage}us_id 和 stage 已存在。us_content,写入(或合并)到 requirements/US/{us_id}.md。context,在内存中保存,并在本次产出的每个产物中以 ### 补充上下文 标题开头注入。iter_id:current_iter.md 中读取。iter_001。git_remote:current_iter.md 的 git_remote: 字段中读取。init,发出警告后继续执行。[SKILL:spec-driven-dev] CHECKPOINT inputs_validated STATUS=OKskip_skill_scan: true 时跳过)auxiliary/skills/available_skills.xml。"我将调用 Skill:
<n>来辅助本次任务。" 随即完整加载auxiliary/skills/<n>/SKILL.md后再继续执行。
[SKILL:spec-driven-dev] CHECKPOINT skill_scan_done STATUS=OK skills_loaded=[…]严格按照下方阶段定义章节执行。 每写完一个强制输出文件后发出:
[SKILL:spec-driven-dev] CHECKPOINT artefacts_written STATUS=OK files=[…]按语言检测表运行静态检查和测试。
通过时:
[SKILL:spec-driven-dev] CHECKPOINT quality_gate_passed STATUS=OK失败时:发出 STATUS=FAIL,汇总失败信息,并指示 Agent 进入 bugfix 阶段。
同一问题连续失败 5 次后,停止自动修复并请求人工介入。
iter_id(如 iter_003 → iter_004)。requirements/{us_id}/docs/iteration_summary/{iter_id}.md。requirements/{us_id}/docs/iteration_summary/current_iter.md。PROJECT_STATUS.md。[SKILL:spec-driven-dev] CHECKPOINT iteration_summary_written STATUS=OK iter_id={iter_id}stage_done[SKILL:spec-driven-dev] CHECKPOINT stage_done STATUS=OK
<stage_done>init目的: 从环境变量配置 Git 凭据、将远程仓库克隆到工作区、初始化 US 目录树,并将纯文本 git_remote URL 记录到迭代摘要,供后续所有阶段免密推拉使用。
读取: 无(从零启动)
写入:
requirements/US/{us_id}.md(脚手架或来自 us_content)requirements/{us_id}/docs/ 目录树requirements/{us_id}/docs/iteration_summary/current_iter.md(存根)PROJECT_STATUS.md(初始条目)凭据配置 — 按此顺序执行:
# 1. 从环境变量解析运行时值
GIT_USER="${SPEC_DEV_GIT_USERNAME:-oauth2}"
GIT_EMAIL="${SPEC_DEV_GIT_EMAIL:-bot@spec-driven-dev}"
GIT_TOKEN="${SPEC_DEV_GIT_TOKEN}" # 必填;metadata.requires.env 已做门控
# 2. 构造带认证的克隆 URL(Token 内嵌,绝不写入产物)
# 兼容:https://github.com/… https://gitlab.com/… https://bitbucket.org/…
REMOTE_HOST=$(echo "${git_remote}" | sed 's|https://||' | cut -d'/' -f1)
CLONE_URL="https://${GIT_USER}:${GIT_TOKEN}@${REMOTE_HOST}/$(echo "${git_remote}" | sed "s|https://${REMOTE_HOST}/||")"
# 3. 克隆
git clone "${CLONE_URL}" .
# 4. 设置提交身份
git config user.name "${GIT_USER}"
git config user.email "${GIT_EMAIL}"
# 5. 持久化凭据,供本工作区后续 push/pull 静默认证
git config credential.helper store
printf "https://%s:%s@%s\n" "${GIT_USER}" "${GIT_TOKEN}" "${REMOTE_HOST}" \
>> ~/.git-credentials
chmod 600 ~/.git-credentialsToken 绝不写入任何产物或日志。 仅将不含凭据的裸
git_remoteURL 存入current_iter.md。
关键指令:
us_content,写入 requirements/US/{us_id}.md;否则写入含占位标题的 Markdown 脚手架。context,在脚手架中注入 ### 补充上下文 节。current_iter.md 的 git_remote: 字段中记录纯文本 git_remote URL(不含 Token)。requirements读取:
requirements/US/{us_id}.mdauxiliary/coding_standards.md写入:
requirements/{us_id}/docs/requirements.md关键指令:
context 至 ### 补充上下文。architecture读取:
requirements/{us_id}/docs/requirements.mdauxiliary/coding_standards.mdauxiliary/gitflow_guide.md写入:
requirements/{us_id}/docs/architecture.md — 必须包含 Mermaid 架构图关键指令:
mermaid 架构图。context 至 ### 补充上下文。process_design读取:
requirements/{us_id}/docs/architecture.md写入:
requirements/{us_id}/docs/process_design.md — 必须包含 Mermaid 流程图或状态图关键指令:
mermaid 流程图或序列图。project_plan读取:
requirements/{us_id}/docs/architecture.mdrequirements/{us_id}/docs/process_design.md写入:
requirements/{us_id}/docs/project_plan.mdrequirements/{us_id}/docs/tasks.json关键指令:
tasks.json:[
{
"id": "task-1",
"name": "任务名称",
"scope": "src/module/",
"stage": "coding",
"depends_on": []
}
]coding读取:
requirements/{us_id}/docs/iteration_summary/current_iter.md ← 优先读取requirements/{us_id}/docs/architecture.mdrequirements/{us_id}/docs/process_design.mdrequirements/{us_id}/docs/tasks.jsonauxiliary/coding_standards.mdauxiliary/gitflow_guide.md写入:
src/ 下的源代码文件tests/ 下的测试文件关键指令:
current_iter.md 了解历史进度。feature/{task-name} 分支(GitFlow)。test / bugfix 阶段完成)。context 注入相关模块级 docstring。test读取:
src/ 下的源代码文件auxiliary/coding_standards.md写入:
requirements/{us_id}/docs/reports/test-{us_id}-report.md关键指令:
bugfix读取:
requirements/{us_id}/docs/reports/test-{us_id}-report.md写入:
src/ 下更新后的源代码文件tests/ 下更新后的测试文件requirements/{us_id}/docs/reports/test-{us_id}-report.md(追加新条目)关键指令:
spec-driven-checkpoint:invoke_skill: spec-driven-checkpoint
action: save
with:
us_id: "{us_id}"
iter_id: "{iter_id}"
stage: "bugfix"
interrupt_reason: "bugfix_loop_{n}"
pending_items: "修复失败的问题列表"code_review目的(Orchestrator): 按序调用三个独立子 Agent,依次执行门控一→二→三;收集每个子 Agent 的结构化输出,合并写入最终评审报告,并根据聚合裁决决定是否解除 release 进入锁。
三个子 Agent Skill 须已安装到
auxiliary/skills/并注册在available_skills.xml中:
cr-commit-check— 门控一:Commit Message 合规校验cr-code-gate— 门控二:代码质量静态门控cr-logaf-review— 门控三:LOGAF Checklist 全面评审
读取:
requirements/{us_id}/docs/iteration_summary/current_iter.mdrequirements/{us_id}/docs/reports/test-{us_id}-report.mdauxiliary/skills/available_skills.xml(确认三个子 Agent 已注册)写入:
requirements/{us_id}/docs/reports/review-{us_id}-{iter_id}.md(汇总评审报告)[SKILL:spec-driven-dev] CHECKPOINT review_start STATUS=OK us_id={us_id} iter_id={iter_id}在调用任何子 Agent 之前,统一收集以下数据并缓存,按需传入各子 Agent:
# 1. 获取 commit log(门控一使用)
GIT_LOG=$(git log main..HEAD --pretty=full)
# 2. 获取完整 diff(门控二、三使用)
GIT_DIFF=$(git diff main...HEAD)
# 3. 路径常量
TASKS_PATH="requirements/{us_id}/docs/tasks.json"
ITER_PATH="requirements/{us_id}/docs/iteration_summary/current_iter.md"
TEST_REPORT_PATH="requirements/{us_id}/docs/reports/test-{us_id}-report.md"cr-commit-check(门控一)invoke_skill: cr-commit-check
with:
us_id: "{us_id}"
iter_id: "{iter_id}"
git_log: $GIT_LOG
tasks_json_path: $TASKS_PATH[SKILL:spec-driven-dev] CHECKPOINT review_commit_msg STATUS=<OK|FAIL>分支逻辑:
verdict == "FAIL" → 立即终止,跳转至「汇总报告」步骤,release 被阻塞。verdict == "PASS" → 继续阶段 R-2。cr-code-gate(门控二)invoke_skill: cr-code-gate
with:
us_id: "{us_id}"
iter_id: "{iter_id}"
git_diff: $GIT_DIFF
iter_summary_path: $ITER_PATH
coding_standards_path: "auxiliary/coding_standards.md"缓存返回的 findings 供门控三去重使用:
[SKILL:spec-driven-dev] CHECKPOINT review_code_gate STATUS=<OK|WARN|FAIL>分支逻辑:
verdict == "FAIL" → 立即终止,跳转至「汇总报告」步骤,release 被阻塞。verdict == "PASS" 或 "WARN" → 继续阶段 R-3,携带 findings。cr-logaf-review(门控三)invoke_skill: cr-logaf-review
with:
us_id: "{us_id}"
iter_id: "{iter_id}"
git_diff: $GIT_DIFF
us_file_path: "requirements/US/{us_id}.md"
architecture_path: "requirements/{us_id}/docs/architecture.md"
test_report_path: $TEST_REPORT_PATH
code_gate_findings: <门控二返回的 findings 数组>[SKILL:spec-driven-dev] CHECKPOINT review_checklist STATUS=<APPROVED|APPROVED_WITH_NOTES|REQUEST_CHANGES>| 最终裁决 | 触发条件 |
|---|---|
| REQUEST_CHANGES | 门控一 FAIL,或 门控二 FAIL,或 门控三 REQUEST_CHANGES |
| APPROVED_WITH_NOTES | 无 FAIL / REQUEST_CHANGES,但门控二 WARN 或门控三 APPROVED_WITH_NOTES |
| APPROVED | 三层全部 PASS / APPROVED,且无任何 h 级发现 |
[SKILL:spec-driven-dev] CHECKPOINT review_done STATUS=<APPROVED|APPROVED_WITH_NOTES|REQUEST_CHANGES>写入 requirements/{us_id}/docs/reports/review-{us_id}-{iter_id}.md:
# Code Review 报告 – {us_id} / {iter_id}
**日期:** YYYY-MM-DD
**Orchestrator:** spec-driven-dev
**最终裁决:** APPROVED | APPROVED_WITH_NOTES | REQUEST_CHANGES
---
## 门控一:Commit Message 校验(cr-commit-check)
| 规则 ID | 结果 | 备注 |
|---------|--------|------|
| CM-01 | ✅/❌ | |
| CM-02 | ✅/❌ | |
| CM-03 | ✅/❌ | |
| CM-04 | ✅/❌ | |
| CM-05 | ✅/❌ | |
| CM-06 | ✅/❌ | |
**门控结论:** PASS / FAIL
---
## 门控二:代码质量门控(cr-code-gate)
| 发现 ID | LOGAF | 结果 | 文件:行 | 描述 | 建议 |
|---------|-------|-------|---------|------|------|
| GK-xx | `h` | ✅/❌ | | | |
**门控结论:** PASS / WARN / FAIL
**h 级:** N | **m 级:** N | **l 级:** N
---
## 门控三:LOGAF Checklist(cr-logaf-review)
| 发现 ID | LOGAF | 结果 | 文件:行 | 描述 | 建议 |
|---------|-------|-------|---------|------|------|
| CR-xx | `m` | ⚠️ | | | |
**评审结论:** APPROVED / APPROVED_WITH_NOTES / REQUEST_CHANGES
**h 级:** N | **m 级:** N | **l 级:** N
---
## 总结与下一步行动
<!-- REQUEST_CHANGES:列出全部 h 级问题,说明须重走 bugfix→test→code_review -->
<!-- APPROVED_WITH_NOTES:列出 m/l 级建议,可在后续迭代跟进 -->
<!-- APPROVED:解除 release 进入锁 -->code_review 阶段裁决规则| 最终裁决 | 条件 | 对 release 的影响 |
|---|---|---|
| APPROVED | 三层门控全部 PASS,无任何 h 级问题 | ✅ 解除 release 进入锁 |
| APPROVED_WITH_NOTES | 无 h 级问题,存在 m/l 级问题已记录 | ✅ 解除 release 进入锁,已知风险已存档 |
| REQUEST_CHANGES | 存在任意 h 级问题(门控二或门控三) | ❌ 阻塞 release,必须重走 bugfix→test→code_review。同时自动触发 checkpoint 保存:invoke_skill: spec-driven-checkpoint action: save … interrupt_reason: "review_rejected" |
release目的: 提交本迭代所有变更、升级版本号、更新变更日志、写入发版说明,并将提交与标签推送至远端。
读取:
requirements/{us_id}/docs/reports/review-{us_id}-{iter_id}.md ← 必须为 APPROVED 或 APPROVED_WITH_NOTES,否则直接拒绝进入CHANGELOG.mdrequirements/{us_id}/docs/iteration_summary/current_iter.md(获取 git_remote)写入:
main(或配置的基础分支)上的单次迭代提交pyproject.toml / package.json / Cargo.toml 等)CHANGELOG.md(增量更新)requirements/{us_id}/docs/release_notes/{version}.mdv{version}关键指令:
前置门控检查:读取 review-{us_id}-{iter_id}.md,确认最终裁决为 APPROVED 或 APPROVED_WITH_NOTES。若为 REQUEST_CHANGES 则立即终止,输出:
[SKILL:spec-driven-dev] RELEASE BLOCKED — code_review 裁决为 REQUEST_CHANGES,
请先完成 bugfix → test → code_review 循环,清零所有 h 级问题。确认凭据助手仍处于活动状态;如会话已刷新,重新执行 init 凭据配置代码块:
git config credential.helper # 应返回 "store"根据本迭代最高级别的提交类型确定版本升级幅度:
feat → minorfix · chore · docs · test · refactor · perf · style · config · build → patchfeat! 或 BREAKING CHANGE → major暂存所有变更并创建单次迭代提交:
{type}(#{us_id}/{iter_id}): {task_id1}/{desc1}, {task_id2}/{desc2}, …允许的 type:feat|fix|config|docs|test|refactor|perf|style|chore|build
按语言运行版本升级命令:
cz bumpnpm version <major|minor|patch>cargo release <level>git tag v{version}在 CHANGELOG.md 中追加新版本块。
将用户友好的发版说明写入 requirements/{us_id}/docs/release_notes/v{version}.md。
推送提交和标签(凭据助手静默处理认证):
git push origin main
git push origin "v{version}"| 根目录文件 | 语言 | 格式化工具 | Lint 工具 | 类型检查 | 测试框架 |
|---|---|---|---|---|---|
pyproject.toml | Python | black | ruff | mypy | pytest |
package.json + tsconfig.json | TypeScript | Prettier | ESLint | tsc | Jest / Vitest |
go.mod | Go | gofmt | golangci-lint | — | go test |
Cargo.toml | Rust | rustfmt | clippy | — | cargo test |
pom.xml | Java | spotless | Checkstyle | SpotBugs | JUnit 5 |
用于每个 {iter_id}.md 和 current_iter.md,目标控制在 800–1500 Token。
# 迭代摘要 – {iter_id}
**日期:** YYYY-MM-DD
**US:** {us_id}
**已完成阶段:** {stage}
**git_remote:** https://github.com/org/repo.git
**Code Review 裁决:** APPROVED | APPROVED_WITH_NOTES | REQUEST_CHANGES | 本阶段未执行
**调用的 Skill:** <逗号分隔列表,或填"无">
## 本次迭代目标
<一段话说明本次迭代要达成什么。>
## 架构 / 流程变更
<本次迭代做出或修订的结构性决策。无变化则填"无"。>
## 已完成任务
| 任务 ID | 描述 | 状态 |
|---------|------|------|
| task-1 | … | ✅ 完成 |
## 关键优化点
- …
## 本次发布版本
<vX.Y.Z 或"本次迭代未发布">
## 待办 / 下一步
- …
## 项目状态快照
<2–3 句话:测试覆盖率、未解决阻塞项、下一个里程碑。>注意:
git_remote只存储纯文本 URL — 不含 Token 或任何凭据。
每次响应必须采用以下结构:
列出本次将完成的步骤。
粘贴 auxiliary/skills/available_skills.xml 的完整内容。
宣布并加载匹配 Skill 的 SKILL.md。
每个新建或修改的文件:完整路径 + 完整内容(或统一 diff),置于代码块中。
格式化工具、Lint、类型检查、测试框架的关键输出。
精确的提交信息、版本升级命令、打标签命令和推送命令。
填写完整的迭代摘要模板。
本次运行的每个检查点及其状态。
SPEC_DEV_GIT_TOKEN 或任何凭据写入任何文件、日志或产物。code_review 阶段直接进入 release。code_review 裁决为 REQUEST_CHANGES 时执行 release;必须先清零所有 h 级问题。m/l 级问题升级为阻塞项,除非用户明确要求。current_iter.md 和输入变量中获取。test 阶段存在未解决的 HIGH 级失败时进入 code_review 阶段。© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in skills/spec-driven-dev of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Spec Driven Dev next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Spec Driven Dev this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.8k | Automated safety check: Pass | MIT | |
| GitHub Workflowtransilienceai/communitytools | 559 | — | ~812 | Automated safety check: Notes | MIT | |
| Aube Bumpnubjs/nub | 4.4k | — | ~4.3k | Automated safety check: Warn | MIT | |
| ToolJet Multi-Repo CommitToolJet/ToolJet | 41k | — | ~1.3k | Automated safety check: Pass | AGPL-3.0 | |
| Git Workflow and Versioningaddyosmani/agent-skills | 102k | 2 repos | ~3.5k | Automated safety check: Notes | MIT | |
| React Router Pull Request Creatorremix-run/react-router | 57k | — | ~2.5k | Automated safety check: Pass | MIT |
transilienceai/communitytools
GitHub workflow automation — branching, committing, pushing, pull requests, issues, and code review.
nubjs/nub
Bump nub's vendored aube engine to a newer jdx/aube upstream.
ToolJet/ToolJet
Commits changes across ToolJet's root repo and its server/ee and frontend/ee submodules, writing messages from the diffs and updating submodule pointers in order.
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
remix-run/react-router
Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.
saleor/saleor
Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Works with
Categories
在克隆的 Git 仓库中驱动完整的规格驱动开发生命周期(init→requirements→architecture→processdesign→projectplan→coding→test→bugfix→codereview→release)。阶段门控、产物强制输出、多语言支持,内置 commit message 检查、代码门控与 LOGAF Checklist 评审,支持任意阶段…. Spec Driven Dev is an agent skill from LeoYeAI/openclaw-master-skills.
Spec Driven Dev fits situations like: tasks that involve Spec-driven development; tasks that involve Commit messages; tasks that involve Project management.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill spec-driven-dev -a claude-code`. Or copy the skill folder (skills/spec-driven-dev in LeoYeAI/openclaw-master-skills) into .claude/skills/spec-driven-dev in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill spec-driven-dev -a codex`. Or copy the skill folder (skills/spec-driven-dev in LeoYeAI/openclaw-master-skills) into .agents/skills/spec-driven-dev in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill spec-driven-dev -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spec-driven-dev, .gemini/skills/spec-driven-dev, .github/skills/spec-driven-dev and .opencode/skills/spec-driven-dev in your project.
Going by SKILL.md and its folder, Spec Driven Dev needs the command-line tools its instructions call (git, npm and cargo) and credentials named SPEC_DEV_GIT_TOKEN and GIT_TOKEN. Our summary lists: Python 3; A credential in SPEC_DEV_GIT_TOKEN; A credential in GIT_TOKEN.
SKILL.md names 3 domains. In commands or code: github.com, gitlab.com and bitbucket.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Spec Driven Dev is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.8k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Spec Driven Dev: GitHub Workflow (transilienceai/communitytools, 559 stars), Aube Bump (nubjs/nub, 4.4k stars), ToolJet Multi-Repo Commit (ToolJet/ToolJet, 41k stars) and Git Workflow and Versioning (addyosmani/agent-skills, 102k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,158 GitHub stars. The repository holds 1,215 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.