feat: 新增 code-review-resolve skill(解決 findings、分類提交、push、發 PR) #8

Merged
jiantw83 merged 9 commits from develop into master 2026-06-16 07:54:16 +00:00
Showing only changes of commit 309d1b2dbf - Show all commits
+6 -6
View File
@@ -39,7 +39,7 @@ code-review/
│ │ ├── SKILL.md # 主 skill:取 diff → 選角 → 攻擊 → 裁決 → 總結 │ │ ├── SKILL.md # 主 skill:取 diff → 選角 → 攻擊 → 裁決 → 總結
│ │ └── roles/ # 一角色一檔(bard/mage/rogue/assassin/paladin │ │ └── roles/ # 一角色一檔(bard/mage/rogue/assassin/paladin
│ ├── code-review-archive/ # 保存裁決:成立→已知問題、誤判→排除事項 │ ├── code-review-archive/ # 保存裁決:成立→已知問題、誤判→排除事項
│ └── code-review-resolve/ # 解決 findings.json + 依 conventional commit 分類提交 │ └── code-review-resolve/ # 解決 findings.json + 分類提交 + push + 發 PR
├── AGENTS.md # 跨助理共用指引 ├── AGENTS.md # 跨助理共用指引
└── README.md └── README.md
``` ```
@@ -187,13 +187,13 @@ rm -rf ~/.config/opencode/skills/code-review
### `code-review-resolve` ### `code-review-resolve`
工作目錄 `.gitea/ai-review/findings.json`Gitea AI review 產出的問題清單),依嚴重等級 **🔴 嚴重 → 🟠 高 → 🟡 中 → 🔵 低** 由高到低**逐條修復**程式碼問題(無法安全自動修復者標「待人工處理」不硬改)全部處理完把 `findings.json` 清空為空陣列 `[]`接著做 git 處理:分析工作區**所有**變更,依異動內容歸類為 `feat`/`fix`/`docs`/`style`/`refactor`/`perf`/`test`/`chore`/`revert`**每個 type 各自一個 commit**commit 訊息為「`type(中文範圍): 一句總結`格式(例 `feat(新增功能): 新增使用者登入流程``perf(優化效能): 改用批次查詢降低 DB 往返`)。修改程式碼commit 前先輸出計畫並取得同意(`--yes` 可略過確認)。 四階段:**(A 解決)** 讀工作目錄 `.gitea/ai-review/findings.json`Gitea AI review 產出的問題清單),依嚴重等級 **🔴 嚴重 → 🟠 高 → 🟡 中 → 🔵 低** 由高到低**逐條修復**程式碼問題(無法安全自動修復者標「待人工處理」不硬改)全部處理完把 `findings.json` 清空為空陣列 `[]`**(B 提交)** 分析工作區**所有**變更,依異動內容歸類為 `feat`/`fix`/`docs`/`style`/`refactor`/`perf`/`test`/`chore`/`revert`**每個 type 各自一個 commit**,訊息為「`type(中文範圍): 一句總結`」(例 `feat(新增功能): 新增使用者登入流程``perf(優化效能): 改用批次查詢降低 DB 往返`)。**(C 推送)** push 當前分支:先用**認證管理器**、失敗改用 **token**、再失敗**詢問使用者**。**(D 開 PR)** 用 token 透過 **Gitea API** 對目標分支發 PR(**目標分支不明必須詢問、不可猜測**),PR 描述可選**完整版**(重新分析 `git diff` 總結)/**簡單版**(逐條列 commit 訊息)/**使用者輸入**;完成後因內文可能含 gitea token,**提醒並清除 AI 助理對話內文**。修改程式碼commitpush/開 PR 前先輸出計畫並取得同意(`--yes` 可略過)token 一律由環境變數(如 `GITEA_TOKEN`)提供,全程不明文輸出
參數:`[--findings <findings.json 路徑>] [--no-commit] [--yes]`findings 省略時預設 `.gitea/ai-review/findings.json``--no-commit` 只修復不提交`--yes` 略過確認)。 參數:`[--findings <findings.json 路徑>] [--target <目標分支>] [--pr-desc <full|simple|自訂文字>] [--no-commit] [--no-pr] [--yes]`findings 省略時預設 `.gitea/ai-review/findings.json``--target` 省略時於開 PR 階段必問;`--no-commit` 只修復不提交;`--no-pr` 推送但不開 PR`--yes` 略過確認)。
- **Claude Code / Antigravity**`/jsc:code-review-resolve`,或 `/jsc:code-review-resolve --findings .gitea/ai-review/findings.json --yes``/jsc:code-review-resolve --no-commit` - **Claude Code / Antigravity**`/jsc:code-review-resolve`,或 `/jsc:code-review-resolve --target develop --pr-desc full --yes``/jsc:code-review-resolve --no-pr``/jsc:code-review-resolve --no-commit`
- **Codex**`$code-review-resolve`,或 `$code-review-resolve --findings .gitea/ai-review/findings.json --yes`,或用 `/skills` 選單 - **Codex**`$code-review-resolve`,或 `$code-review-resolve --target develop --pr-desc simple --yes`,或用 `/skills` 選單
- **OpenCode**:描述需求(如「讀 .gitea/ai-review/findings.json 依嚴重度逐條修好清空該檔,把工作區變更依 conventional commit 分類提交」)自動觸發 - **OpenCode**:描述需求(如「讀 .gitea/ai-review/findings.json 依嚴重度逐條修好清空該檔,把工作區變更依 conventional commit 分類提交push 後對 develop 發 PR(完整版描述)」)自動觸發
<!-- JSC-SKILLS:END --> <!-- JSC-SKILLS:END -->