/maigo:take-issue
開始命令時先讀 skills/model-dispatch
並消費 --model-profile <path>;執行角色前依宿主能力解析派工,無 subagents 時依序執行。
接住 /maigo:triage-issue
判定 READY 之後斷掉的那一段——把 issue 接進真正的實作。
使用
/maigo:take-issue <issue 編號或 URL>
/maigo:take-issue --worktree <issue 編號或 URL> # 在獨立的 worktree(`<repo>/.worktrees/<topic>`)裡跑整趟流程
--worktree(opt-in,預設不開)
帶這個旗標時,在 🐱 樂奈開始之前,orchestrator 親自跑:
git fetch <remote>
root="$(git worktree list --porcelain | head -1 | sed 's/^worktree //')"
git -C "$root" check-ignore -q .worktrees/probe || echo "not ignored — see pre-flight check below"
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/worktree_path.py" --topic "<issue 標題>" --cwd "$root"
git worktree add -b <branch> <path> <remote>/<default-branch>
<remote> 判定:先試 upstream,否則退回 origin。之後每個 delegate 的 prompt
都要帶上這個 path 當 cwd(見
skills/teammate-flow
的 cwd 交辦紀律)。
收尾(🟣 立希全綠、commit 已落地)時印出這個 worktree 的路徑與 branch,明講
「留在原地,等 PR merge 後可用 /maigo:repo-audit 看到清理建議」——不在這裡
自動移除。細節、.maigo/ 歸屬規則見
skills/git-workflow/references/worktree-automation.md。
流程
1. 前置抓料(orchestrator 親跑,不開新 agent)
gh issue view <n> --json title,body,labels,comments
若曾跑過 /maigo:triage-issue,.maigo/ 底下可能有這條 issue 的 triage 產物:呼叫
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/artifact_path.py" triage-rubric --url <issue url> --repo <owner/name> --topic "Triage rubric: <title> (#<n>)"
取得這條 issue 的候選路徑,依序退路讀取:path:(.maigo/issue/<id>/rubric.md,巢狀正典路徑)
那行指的檔案存在就讀;不存在則退到 flat_exists:(.maigo/triage-rubric-<id>.md,分目錄前扁平
檔,只可讀);再不存在才退到 legacy_exists:(.maigo/triage-rubric.md,舊固定檔名,只可讀)。
三層都讀不到也不擋,就當沒有先前 triage 產物繼續。把 issue
body + comments 整理成需求敘述:acceptance criteria 從 body 與 maintainer 在 comments 的
補充萃取,帶著這份 issue context 進下一步。
邊界:issue 明顯不是 READY 形狀(缺重現步驟、需求空泛、單純提問)→ 停下建議先跑
/maigo:triage-issue,不硬做。
2. Teammate flow
依 skills/teammate-flow
走完整流程——🐱 樂奈探索(帶著步驟 1 的 issue context,「看完了。相關的在這三個檔案。」)→
🩵 燈寫 plan(必須引用 issue 編號與萃取出的 acceptance criteria,「……讓我先理清楚它想
做什麼。」)→ 使用者確認 → 🎀 愛音實作 → 🟡 爽世完整 9 項 review → 🟣 立希驗證。流程細節
不在此重抄。
3. 收尾
🟣 立希全綠後,依 skills/git-workflow /
skills/commit-message
草擬 commit 訊息(body 帶 issue 參照,如 Fixes #<n> 或 repo 既有慣例)並直接落地——
不 push、不開 PR。完成後提示可接 /maigo:describe-pr 產 PR title/description。
4. Work Board 回寫
依 skills/work-board 的 upsert 合約
更新 .maigo/board.md:
- 開工時:🐛 issue 行標
IN_PROGRESS,旁註 branch 名,留在 🎯 下一件(rank P5——半成品排在 「卡住的/球被打回/一步就結束/等你審」之後,因為它沒卡住任何人) - 收尾若已開 PR 或使用者提供 PR 編號:新增 / 更新 🔀 你的 PR 行到 ⏳ 等別人
等 review,issue 行旁註 linked PR
回寫時必須保留原 checkbox 與 🧠 標記;maigo 自己處理的項目不自動勾 checkbox。
失敗處理
Orchestrator 守則
- 旁白:開場、收場、卡關節點由 🌙 Doloris / 🌑 Mortis 旁白,依
skills/narration。 - 對話:對話本體(旁白節點以外)的互動節奏與用詞,依
skills/orchestrator-voice。 - 步驟 1 orchestrator 親自跑、不開新 agent;步驟 2 依 teammate-flow 的 model-dispatch 結果啟動角色,有 subagents 時委派,沒有時依序在主線執行。
- 不硬做、不寫 GitHub:issue 不是 READY 就建議
/maigo:triage-issue;commit 驗證綠了就落地,push / 開 PR 交使用者或/maigo:describe-pr。
→ 跟 /maigo:triage-issue / /maigo:go 的差異、場景對照:Commands reference