with one click
sillyspec-commit
智能提交 — 自动收集变更信息,生成 commit message
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
智能提交 — 自动收集变更信息,生成 commit message
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | sillyspec:commit |
| description | 智能提交 — 自动收集变更信息,生成 commit message |
| argument-hint | [可选:自定义 commit message] |
| version | 3.7.32 |
当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。
$ARGUMENTS
git diff --quiet 2>/dev/null; UNSTAGED=$? git diff --cached --quiet 2>/dev/null; STAGED=$?
两者都为 0(无修改)→ 提示"没有需要提交的修改",结束。
git add -A
LAST_COMMIT_TIME=$(git log -1 --format=%ci 2>/dev/null)
git diff --cached --stat
从以下来源收集语义信息(筛选时间戳 > LAST_COMMIT_TIME 的条目):
来源 A — QUICKLOG(quick 产生的修改): USER=$(git config user.name 2>/dev/null || echo "default") cat .sillyspec/quicklog/QUICKLOG-${USER}.md 2>/dev/null
for dir in .sillyspec/changes//quicklog/.md; do [ -f "$dir" ] && cat "$dir"; done 2>/dev/null
来源 B — tasks.md(execute 产生的修改): LATEST=$(ls -d .sillyspec/changes/*/ 2>/dev/null | grep -v archive | tail -1) cat "$LATEST/tasks.md" 2>/dev/null 筛选时间戳 > LAST_COMMIT_TIME 的已勾选 task。
来源 C — 阶段产出(scan/brainstorm/plan/archive 等): 检查 .sillyspec/ 下新增或修改的文件,根据路径识别来源阶段:
按 conventional commits 格式,根据来源生成 message:
| 来源 | type | 示例 |
|---|---|---|
| 只有 quick 条目 | fix/refactor | fix: 手机号校验修复(含正则修正) |
| 只有 execute 条目 | feat | feat(user): 用户模块 task 1~3 |
| 只有阶段产出 | docs | docs: sillyspec scan 完成 |
| 混合来源 | 取最主要的 type | body 里列出所有条目 |
| 无匹配来源 | — | 展示 diff stat,让用户自己写 |
如果 $ARGUMENTS 非空,直接使用用户指定的 message,跳过自动生成,但仍展示 diff stat。
多条 quick 合并规则:
用 AskUserQuestion 展示: 📝 建议的 commit message: fix: 手机号校验修复(含正则修正)
📁 修改文件(N 个): src/UserService.java (+15 -3) src/PhoneValidator.java (+28 -0)
选择:确认提交 / 编辑 message / 取消
用户选择编辑 → 让用户输入新 message → 再次确认。
git commit -m "{确认后的 message}"
提交成功后展示 commit hash + 文件数 + 行数统计。
检查修改的文件分别属于哪个子项目:
规范驱动开发工具包。绿地用 /sillyspec:init,棕地用 /sillyspec:scan,全自动用 /sillyspec:auto。完整流程:scan → brainstorm → plan → execute → verify → archive。支持 TDD、子代理并行、worktree 隔离、E2E 验证。兼容 Claude Code / Cursor / Codex / OpenCode / OpenClaw。
用于正式开始开发前的需求澄清和技术方案设计。适合用户提出新功能、新模块、架构调整、复杂改造,或说"先做需求分析、输出技术方案、创建变更前先梳理、帮我设计下"。产出结构化方案(design/proposal/requirements/tasks 四件套),但不直接写代码。
用于把 design 拆解为可执行的实现计划。适合用户说"拆任务、做计划、排 wave、规划实现步骤"。产出 plan.md(Wave 分组 + Task 列表 + 依赖关系)。
生成结构化规范 — proposal + design + tasks。适合用户说"生成规范、补全四件套、propose"。产出 proposal.md + design.md + tasks.md(+ 可能的 requirements.md)。
用于明确、低风险、范围很小的直接任务。适合用户说"直接改、快速修、顺手调整、改个文案、修个小 bug、更新一个文件、不要完整流程"。跳过 brainstorm/plan,但仍按 sillyspec quick 流程执行。
用于 SillySpec 自检和状态修复。适合用户说"检查下状态、修复 progress、doctor、状态不对"。全量扫描进度一致性,修复进度数据与实际产出不匹配的问题。