05 Skills
主路徑上的七個入口逐一說明;其餘 skill 只列總表。使用者層 skill 在 ~/.claude/skills/(由 ron-skills repo 同步),專案層在 repo 的 .claude/skills/。
主路徑
issue-create.mjs(開單;是腳本不是 skill,但是流程起點)
- 階段:需求 → 開單。
- 輸入:
--title、--description-file、可選--label。輸出:Issue 網址;預設needs-triage。 - 背後:
glabAPI;開成ready-for-*時先用deliver-preflight.mjs的規則檢查SQL prerequisite:與## 關聯,不合格 exit 3 不建立。 - 為什麼不用
glab issue create:格式檢查只在這個入口,auto mode 也只允許這個入口。
/issue-queue(分級與釐清;專案層 skill)
- 階段:開單 → 可開工。
- 做法:讀 GitLab 列出四區總覽(待補關聯、待釐清、可開工、阻塞中),逐張問釐清問題,最後設 label。
- 背後:
issue-queue.mjs(解析## 關聯、找 Blocked by 循環)、issue-state.mjs --set。 - 注意:
/triage、/grilling不是 spay2 的入口;只讀 GitLab,不看本地分支。
/issue-run <n> [<m> …](實作到候選 commit)
- 階段:認領 → 實作 → 驗證 → 候選。
- 六步:Gate(
batch-dispatch.mjs --prepare)→ Graph(依## 關聯排順序)→ Claim(issue-state.mjs --set … in-progress,建 worktree)→ Build(單張用implement/tdd,多張用implement-spec派 subagent)→ Candidate(deliver-candidate.mjs)→ Report。 - 專案事實放在 repo 的 adapter
docs/agents/issue-run.md;skill 本身不含 spay2 的路徑與指令。 - 驗證只跑本單 focused 測試;Docker 測試一律經
run-docker-tests.sh。
orca-cli(建 worktree)
- 階段:認領時。
- 用法:流程內不直接呼叫
orca,而是scripts/orca-worktree-create.mjs(單次呼叫+輪詢)與worktree-audit.mjs --apply。 - 注意:
which orca不是可用性檢查(那是 GNOME 螢幕閱讀器);看ORCA_CLI_COMMAND是否設定。
「結案 n」(close-issue.mjs,兩段式)
- 第一次:
merge-into-integration.sh合入整合分支 →check-before-push.sh→ 停在PUSH_REQUIRED。 - Operator
! git push。 - 第二次:
check-issue-closable.mjs(確認已合入且已推送,用ls-remote即時查)→ 留言 → close →completed→ 刪 worktree 與分支。 - SQL Issue 改用
close-sql-issue.mjs。
/retro(回顧)
- 階段:交付後。
- 做法:回顧這次 session 的失誤與摩擦,產出環境改善項目;修正放本地 retro 分支,不開 Issue;只改
scripts/、.claude/、docs/的分支可插隊合入。 - 原則:規則寫了仍會被忽略,就升級成腳本或 gate(見 06)。
pr(MR body)
- 階段:整合分支要進
develop時。 - 做法:依 skill 範本寫 MR 描述;Issue 層級不用。
其餘 skill 總表
| skill | 用途 | 階段 | 狀態 |
|---|---|---|---|
implement、tdd、code-review | 單張實作、紅綠重構、Standards/Spec 雙軸審查 | 實作、驗證 | 現行(由 /issue-run 引用) |
implement-spec | task graph、多個 implementer subagent | 多張實作 | 現行(由 /issue-run 引用) |
grilling、to-spec、to-tickets | 拆票前的釐清、整理 spec、切 tickets | 需求討論 | 輔助;不是 spay2 流程入口 |
handoff、claude-handoff | 把對話壓成交接文件;開背景 agent | 跨 session | 輔助 |
diagnosing-bugs、research、prototype | 診斷、查證、丟棄式原型 | 隨需 | 輔助 |
archify | 本資料夾的圖 | 文件 | 輔助 |
triage | 通用 triage 狀態機 | 分級 | 不用(spay2 改用 /issue-queue) |
project-batch | Pi 批次流程試行 | — | 不用 |
deliver-spec、deliver-batch(repo 內) | 舊版交付 skill | 實作 | 淘汰中(/issue-run 仍借用部分步驟) |
publish-spay4-docs(repo 內 .agents/skills/) | 發布 docs/spay4 到 Cloudflare Pages(publish-spay4-docs.py) | 文件 | 現行;本資料夾的導讀站改用 publish-workflow-site.py(是腳本不是 skill,見 07),兩者共用 scripts/lib/cloudflare_pages.py |