用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/q512426816/SillyHub --skill sillyspec-execute命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | sillyspec:execute |
| description | 用于按 plan 执行代码实现。适合用户说"开始写代码、执行任务、跑 execute、开干"。按 plan.md 中的 Wave 和 Task 逐步实现,遵循 design.md 和模块文档。 |
项目有多个活跃变更(.sillyspec/changes/ 下有多个目录)时,所有 sillyspec run 命令需加 --change <变更名> 指定操作目标;只有一个变更时可省略(CLI 自动检测)。
sillyspec execute是sillyspec run execute的顶层别名,两者等价。
sillyspec run execute # 输出当前步骤 prompt(首次自动创建 worktree)
sillyspec run execute --done --output "摘要" # 完成当前步骤(--input "用户原话" 记录输入)
sillyspec run execute --status # 查看阶段进度
sillyspec run execute --skip # 跳过可选步骤
sillyspec run execute --reset # 重置阶段(从头开始)
sillyspec run execute --reopen --from-step N # 重新打开已完成阶段修订(N=序号或名称)
| 参数 | 说明 |
|---|---|
--change <名> | 指定变更名(多活跃变更必填,单变更可省略自动检测) |
--spec-dir <path> | 指定规范目录(默认 <项目>/.sillyspec) |
--non-interactive | CI/脚本下禁用交互式 prompt |
--skip-approval | 跳过阶段转换/审批检查(不能跳产物校验 gate——review.json/文档产物硬校验仍在) |
worktreePath),后续子代理的 cwd 必须设为该路径sillyspec worktree apply 步以命令实际输出为准(apply 会校验 dirty,按输出处理)origin/<默认分支>,CLI 会醒目报告(⚠️「落后 N 个 commit」+ 对齐命令),不阻断 execute。看到此报告时评估是否提示用户先对齐 main,但不要自行 fetch/ff——对齐是用户/主仓库的显式动作--done 时 CLI 校验 worktree 的依赖状态(depsStatus)。不达标会阻断完成并提示:
# 修复依赖供给
sillyspec worktree doctor --fix --change <变更名>
linked / installed / n/a 放行;missing / stale / failed / unknown 阻断。Wave 内所有 task 声明 no_deps_verify: true 时可 opt-out。
execute 前缀步「加载上下文」的 --done 会硬校验符号影响面报告:
{SPEC_ROOT}/changes/<变更名>/symbol-impact.md(步骤 prompt 中会输出具体路径)。--done 被阻断(进度不推进),补全后重跑即可。execute 完成时,每个 task 必须有 review.json 且 verdict 通过,否则阻断完成。例外:task 在 tasks/task-XX.md frontmatter 声明 low_risk: true(type-only / 机械迁移等低逻辑风险)时,缺 review.json 只发 warning 不阻断。cannot_verify 的 task 会写入 verify-required-evidence.json,由 verify 阶段消费。
路径:.sillyspec/.runtime/execute-runs/<execute-run-id>/tasks/task-XX/review.json(目录不存在需先建)。
execute-run-id 取自第一次 --done prompt 输出(形如 exec-2026-07-28-112833),也写在 marker 文件 .runtime/current-execute-run-id-<变更名>。多个 run 时 gate 读最新 marker。
字段(schemaVersion:1):
{
"schemaVersion": 1,
"task": "task-01",
"base": "<git-base-commit-hash>",
"head": "<git-head-commit-hash>",
"changedFiles": ["src/..."],
"specVerdict": "pass", // pass | fail | cannot_verify
"qualityVerdict": "pass", // pass | fail | cannot_verify
"reviewerNotes": "...",
"requiredEvidence": [] // cannot_verify 时必须非空
}
base / head 必须是(),否则判伪造并阻断。 与实际 完全不相交也判伪造。base..head 空 commit diff 但 working-tree 有未提交改动 → 视为有效改动(warning 不阻断)。
execute 还有第二道独立的 stage 级审查:除逐 task review.json 外,整个 execute 阶段完成还需一个 stage 级 review.json(在 "完成确认"/acceptance 步骤产出)。CLI Stage Review Gate 硬校验其 schema 与 docHash 真实性。
路径:.sillyspec/.runtime/stage-reviews/execute-review-<stage-review-run-id>/review.json(目录可能不存在需手建;run-id 由该步 --done prompt 输出指定)。marker 文件 .runtime/current-stage-review-run-id-execute-<变更名>。
run-id / marker 由 CLI 自动生成注入(review step prompt 渲染时 echo 完整目录路径 + 写 marker;撞 gate 报缺 review.json 时 gate 也 echo 完整路径 + 写 marker)。直接用 CLI 给的路径写 review.json,勿手算 run-id(必须 review- 前缀)、勿手写 marker。卡住时用 sillyspec register-stage-review --change <名> --stage execute 一步生成。
字段(schemaVersion:1,reviewType=acceptance —— 区别于 brainstorm/plan 的 "design"):
{
"schemaVersion": 1,
"reviewType": "acceptance",
"reviewedFiles": ["changes/<变更名>/design.md", "<可选追加 git diff 涉及的源码>"],
"docHash": "<sha256(reviewedFiles[0] 文件内容,hex)>",
"specVerdict": "pass", // pass | fail | cannot_verify
"qualityVerdict": "pass", // pass | fail | cannot_verify
"checklist": [ // 扁平数组(非按层嵌套!),逐条对照 design 章节 + FR/NFR/决策核验代码
{ "item"
运行时 CLI 会把精确 schema 表 + 完整 JSON 示例 + docHash 算法注入到该步 prompt。本段为常驻摘要;以你实际收到的注入版契约为权威逐字模板。
execute Wave 内的子代理默认用本机 Agent tool 执行。若消费方配置了 SillyHub MCP(local.yaml 的 mcp 段写 mcp.url / mcp.token——可由 sillyspec platform connect 同源写入或手填;或环境变量 SILLYHUB_MCP_URL / SILLYHUB_MCP_TOKEN 作回退),Wave 步骤 prompt 运行时可能注入一段 SillyHub 派发指令——出现就照其中的指令执行(创建 mission / dispatch_worker / 轮询结果 / 本机兜底),没出现就用本机 Agent tool。未配置 MCP 时完全不注入,行为与无此机制一致。
可选:sillyspec dispatch probe 查看 SillyHub 是否可用。
单个 change 的 task 可以分散到主仓 + 多个跨仓仓实现(典型场景:dogfood 自指、monorepo 多包仓、共享库 + 调用方联合改造)。单仓 change 不需要任何跨仓配置(所有 task 不写 repo: 即走原流程,零回归)。
repo: 字段:跨仓 task 在 tasks/task-NN.md frontmatter 写 repo: <key>(缺省='main'=主仓 task,不写即主仓)。repos: 段:在 .sillyspec/local.yaml 注册跨仓仓路径(main 不用注册,隐式=当前项目):
repos:
shared-lib: ../shared-lib
tool-repo: C:/path/to/your/tool-repo
task 卡 repo: 引用的 key 必须在此注册,否则 execute 启动 fail-closed 阻断(跨仓 apply 走错仓=数据所有权事故,配置错误不降级)。allowed_paths:指相对跨仓仓根的路径(非主仓根)。base_commit:CLI 派发跨仓 task 前实时 git -C <跨仓仓根> rev-parse HEAD 落盘到 task 卡 frontmatter(锁 base,防同 Wave 多 task 改同跨仓仓时 HEAD 推进致 diff 漂移)。head_commit:跨仓 task 子代理 commit 完成后、写 review.json / 勾选 checkbox 之前,由你(主 agent)运行 git -C <跨仓仓根> rev-parse HEAD 把结果写入该 task 卡 frontmatter head_commit: 字段。base/head 取这两个锡点(非瞬时 HEAD)。.sillyspec/.runtime/execute-runs/<run-id>/tasks/task-XX/review.json(review 统一存主仓)。repo: <key> 字段标该 task 所属仓(缺省='main')。base/head 是跨仓仓的 commit(取 task 卡锡点),CLI 据此在跨仓仓根跑 git 校验。跨仓 task 的代码由子代理直接 commit 到跨仓仓主干(commit 即落地),主仓 worktree apply 对跨仓 task 不打 patch、不 cleanup——只校验 review.head 是跨仓仓真实 commit。主仓 task 走原 apply 路径不变。
sillyspec worktree apply <变更名> # 校验并应用 worktree 变更到主工作区
sillyspec worktree apply <变更名> --check-only # 只检查不应用
sillyspec worktree assess <变更名> # 风险审计 + 自动 apply
sillyspec worktree list # 列出所有活跃 worktree
sillyspec worktree meta <变更名> # 读取 worktree meta.json
sillyspec worktree cleanup <变更名> # 清理 worktree
sillyspec worktree doctor [--fix] # 健康检查 + 修复
plan → execute → verify
execute 完成后(所有 Wave/task 完成 + Task Review Gate 通过),运行 sillyspec run verify --change <变更名> 验证。
当 plan.md 所有 task checkbox 已勾(人工勾或基于各 task review.json pass 由 CLI 自动勾)且代码客观核验通过(checkExecuteCodeEvidence 非"零变更")时,任一 execute --done 会一次性补完所有剩余 step 直达阶段完成,不必逐次 +1 推进。日志会打印 🚀 execute 批量完成:plan 全勾 + 代码核验通过,一次性补完 N 个剩余 step。条件不满足(plan 未全勾 / 代码零变更)时仍按单步推进,要求补 review 后重跑 --done 直至满足。
--done,不跳过$ARGUMENTS
git rev-parse --verifychangedFilesgit diff base..head后端 router task 另需在 .sillyspec/.runtime/contract-artifacts/<task-name>/endpoints.json 写 API 端点清单(扫 @router.get/post/...)。
docHash = sha256(主审查文档内容)(hex)—— execute 主审查文档是 design.md,即 reviewedFiles[0]。CLI 会重算 sha256 比对,不符判伪造(fail-closed);找不到主文档也 fail。改 design.md 后须重算 docHash 再写,可用 sillyspec run execute --done 触发的 prompt 注入版契约(运行时注入的 schema 表 + JSON 示例 + docHash 算法)逐字改值。
tier=independent 时必须由独立 QA 子代理产出该 review.json(独立上下文,不共享实现者分析);tier=self(变更 ≤3 文件)降级为当前 agent 自审。
审查范围分级(tier=independent 时省重复消耗):Task Review Gate 已产出 review.json 且 specVerdict/qualityVerdict 双 pass 的 task,QA 子代理只抽查(读 1-2 个核心 diff 文件抽验 reviewerNotes 与实际改动相符);fail/cannot_verify/缺失的 task 全量重审。三项始终必查:跨 task 交界、design.md 整体对照、组装行为(全量测试/构建/启动)——task review 只看单 task diff,覆盖不到这三项。
该 acceptance review 同时覆盖"代码审查"视角,后续代码审查步骤仅需轻量复审。