From e2725b91ee9b17e8bbfe90aebcea3f4f0b45ff41 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 7 Oct 2026 17:04:51 +0000 Subject: [PATCH 1/2] =?UTF-8?q?Revert=20"=E6=94=B9=E7=94=A8=20Copilot=20?= =?UTF-8?q?=E4=B8=A6=E5=B0=87=E6=A8=A1=E5=9E=8B=E8=A8=AD=E7=82=BA=20auto"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit c8b7dd9876bd09bad064189c6cfa73cc3d1269d9. --- .claude-plugin/plugin.json | 2 +- .codex-plugin/plugin.json | 2 +- README.md | 2 +- plugin.json | 4 ++-- skills/herdr-issue/SKILL.md | 6 +++--- skills/herdr-issue/scripts/lib.sh | 2 +- skills/herdr-issue/scripts/prompt.txt | 2 +- skills/herdr-issue/scripts/start.sh | 6 +++--- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index c026910..fd233fe 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "herdr-issue", - "version": "0.0.4", + "version": "0.0.1", "description": "透過 Herdr 讓 Claude agent 逐一實作 Gitea 議題(每個議題一個 worktree 與 tab)。", "skills": "./skills", "author": { diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index 8e78dad..c965b0a 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "herdr-issue", - "version": "0.0.4", + "version": "0.0.1", "description": "透過 Herdr 讓 Claude agent 逐一實作 Gitea 議題(每個議題一個 worktree 與 tab)。", "skills": "./skills" } diff --git a/README.md b/README.md index 45db581..620c7c2 100644 --- a/README.md +++ b/README.md @@ -187,7 +187,7 @@ copilot plugin marketplace remove herdr-issue ### `herdr-issue` -透過 Herdr 讓 GitHub Copilot agent 逐一實作 Gitea 議題:每個議題一個 worktree 與 tab,監看到議題關閉後清理,並推薦下一批可執行的議題。僅在使用者執行 `/herdr-issue` 或明確要求以 Herdr 驅動 Gitea 議題/repo 連結時觸發。需在 Herdr 內(`HERDR_ENV=1`)執行。 +透過 Herdr 讓 Claude agent 逐一實作 Gitea 議題:每個議題一個 worktree 與 tab,監看到議題關閉後清理,並推薦下一批可執行的議題。僅在使用者執行 `/herdr-issue` 或明確要求以 Herdr 驅動 Gitea 議題/repo 連結時觸發。需在 Herdr 內(`HERDR_ENV=1`)執行。 - **Claude Code**:`/herdr-issue:herdr-issue <議題或 repo 連結>` - **skills CLI**:`npx skills add https://gitea.jsc.idv.tw/plugins/herdr-issue.git --skill herdr-issue -g`,之後 `/herdr-issue <連結>` diff --git a/plugin.json b/plugin.json index 36288ca..c89949c 100644 --- a/plugin.json +++ b/plugin.json @@ -1,6 +1,6 @@ { "name": "herdr-issue", - "version": "0.0.4", + "version": "0.0.1", "description": "透過 Herdr 讓 Claude agent 逐一實作 Gitea 議題(每個議題一個 worktree 與 tab)。", "skills": "./skills/" -} +} \ No newline at end of file diff --git a/skills/herdr-issue/SKILL.md b/skills/herdr-issue/SKILL.md index dbf6225..7c82c89 100644 --- a/skills/herdr-issue/SKILL.md +++ b/skills/herdr-issue/SKILL.md @@ -1,11 +1,11 @@ --- name: herdr-issue -description: "Run Gitea issues through Herdr: one GitHub Copilot agent per issue in its own worktree and tab, watch the issue to closure, then offer the next unblocked issues. Use only when the user runs /herdr-issue or explicitly asks to drive a Gitea issue or repo link with Herdr." +description: "Run Gitea issues through Herdr: one Claude agent per issue in its own worktree and tab, watch the issue to closure, then offer the next unblocked issues. Use only when the user runs /herdr-issue or explicitly asks to drive a Gitea issue or repo link with Herdr." --- # herdr-issue -把 Gitea 議題交給 Herdr 裡的 GitHub Copilot agent 實作。所有確定性的工作都在 `scripts/` 裡,你只在「要做決定」的時刻出手。腳本都要在該 repo 的 clone 裡執行;`S` 代表 `~/.claude/skills/herdr-issue/scripts`。 +把 Gitea 議題交給 Herdr 裡的 Claude agent 實作。所有確定性的工作都在 `scripts/` 裡,你只在「要做決定」的時刻出手。腳本都要在該 repo 的 clone 裡執行;`S` 代表 `~/.claude/skills/herdr-issue/scripts`。 ## 語言規則 @@ -55,4 +55,4 @@ description: "Run Gitea issues through Herdr: one GitHub Copilot agent per issue | `tick.sh` | 子 agent | 勾議題內文第 k 個核取方塊 | | `pr-wait.sh` | 子 agent(背景) | 等 PR 衝突、關閉或合併 | -環境變數:`HERDR_ISSUE_INTERVAL`(pr-wait 輪詢秒數,預設 300)、`HERDR_ISSUE_WATCH_INTERVAL`(watch-issue 輪詢秒數,預設 5)、`HERDR_ISSUE_BLOCKED_AFTER`(blocked 多久才通知,預設 60 秒)、`HERDR_ISSUE_MODEL`(預設 `auto`)。 +環境變數:`HERDR_ISSUE_INTERVAL`(pr-wait 輪詢秒數,預設 300)、`HERDR_ISSUE_WATCH_INTERVAL`(watch-issue 輪詢秒數,預設 5)、`HERDR_ISSUE_BLOCKED_AFTER`(blocked 多久才通知,預設 60 秒)、`HERDR_ISSUE_MODEL`(預設 `claude-opus-5-5`)。 diff --git a/skills/herdr-issue/scripts/lib.sh b/skills/herdr-issue/scripts/lib.sh index 6faf051..70e0ca1 100755 --- a/skills/herdr-issue/scripts/lib.sh +++ b/skills/herdr-issue/scripts/lib.sh @@ -6,7 +6,7 @@ LABEL="in-progress" LABEL_COLOR="0e8a16" LABEL_DESC="Herdr 的 agent 正在實作" INTERVAL="${HERDR_ISSUE_INTERVAL:-300}" -MODEL="${HERDR_ISSUE_MODEL:-auto}" +MODEL="${HERDR_ISSUE_MODEL:-claude-opus-5-5}" SCRIPTS="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" die() { echo "herdr-issue: $*" >&2; exit 1; } diff --git a/skills/herdr-issue/scripts/prompt.txt b/skills/herdr-issue/scripts/prompt.txt index 35cb962..96abd17 100644 --- a/skills/herdr-issue/scripts/prompt.txt +++ b/skills/herdr-issue/scripts/prompt.txt @@ -1,4 +1,4 @@ -/implement {LINK} +/mattpocock-skills:implement {LINK} 你在分支 issue-{N} 的 worktree 裡,從 origin/main 建立,請在這裡實作,不要另外建 worktree。 {RESUME} diff --git a/skills/herdr-issue/scripts/start.sh b/skills/herdr-issue/scripts/start.sh index 3e8e60c..df779c5 100755 --- a/skills/herdr-issue/scripts/start.sh +++ b/skills/herdr-issue/scripts/start.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # 用法:start.sh -# 在目前 clone 旁建 worktree、開 Herdr tab、啟動 copilot、送提示詞並確認 agent 有反應、掛 in-progress 標籤。 +# 在目前 clone 旁建 worktree、開 Herdr tab、啟動 claude、送提示詞並確認 agent 有反應、掛 in-progress 標籤。 # 送出提示詞後 15 秒內沒觀察到 working 或 blocked 就視為失敗並回滾(關 tab、移除 worktree、刪本次新建的分支)。 # 最後一行印出 JSON:{"tab":..,"pane":..,"path":..,"resumed":..,"state":"working"|"blocked"} source "$(dirname "$0")/lib.sh" @@ -39,13 +39,13 @@ rollback() { $RESUMED || git -C "$CLONE" branch -D "$BRANCH" >/dev/null 2>&1 || true } -TAB_JSON="$(herdr tab create --workspace "${HERDR_WORKSPACE_ID:?}" --cwd "$WT" --env COPILOT_ALLOW_ALL=true --label "#$N" --no-focus)" +TAB_JSON="$(herdr tab create --workspace "${HERDR_WORKSPACE_ID:?}" --cwd "$WT" --label "#$N" --no-focus)" TAB="$(jq_py 'print(find(d,"tab")["tab_id"])' <<<"$TAB_JSON")" PANE="$(jq_py 'print(find(d,"root_pane")["pane_id"])' <<<"$TAB_JSON")" START_ERR="$(mktemp)" for _ in 1 2 3 4 5 6; do - if herdr agent start "issue-$N" --kind copilot --pane "$PANE" --timeout 90000 -- --model "$MODEL" --allow-all-tools --allow-all-paths >/dev/null 2>"$START_ERR"; then + if herdr agent start "issue-$N" --kind claude --pane "$PANE" --timeout 90000 -- --model "$MODEL" >/dev/null 2>"$START_ERR"; then rm -f "$START_ERR"; break fi sleep 2 From 1c7791c2baa9f296746aec0f99749e910a5182b6 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 7 Oct 2026 17:04:51 +0000 Subject: [PATCH 2/2] chore: bump plugin manifests to 0.0.5 --- .claude-plugin/plugin.json | 2 +- .codex-plugin/plugin.json | 2 +- plugin.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index fd233fe..d5eb18d 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "herdr-issue", - "version": "0.0.1", + "version": "0.0.5", "description": "透過 Herdr 讓 Claude agent 逐一實作 Gitea 議題(每個議題一個 worktree 與 tab)。", "skills": "./skills", "author": { diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index c965b0a..fb84fb4 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "herdr-issue", - "version": "0.0.1", + "version": "0.0.5", "description": "透過 Herdr 讓 Claude agent 逐一實作 Gitea 議題(每個議題一個 worktree 與 tab)。", "skills": "./skills" } diff --git a/plugin.json b/plugin.json index c89949c..41dc016 100644 --- a/plugin.json +++ b/plugin.json @@ -1,6 +1,6 @@ { "name": "herdr-issue", - "version": "0.0.1", + "version": "0.0.5", "description": "透過 Herdr 讓 Claude agent 逐一實作 Gitea 議題(每個議題一個 worktree 與 tab)。", "skills": "./skills/" } \ No newline at end of file