with one click
pr
總結當前工作、commit、推送並建立或更新 PR。自動將對話脈絡寫入 PR description,確保 reviewer 能快速理解背景。
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、推送並建立或更新 PR。自動將對話脈絡寫入 PR description,確保 reviewer 能快速理解背景。
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
本 repo 自持 agent 定義目錄索引(complexity-triage / doc-reviewer / doc-updater / tdd-guide),供 design、update 等 skill 的 general-purpose subagent 呼叫時引用定義與檢查清單;本身非直接可呼叫的 skill,不會出現在指令清單中。
萬用助手 — 自動分析情境、盤點可用資源、智慧路由至最佳 agent/skill 組合,一鍵完成複雜工作流。
開發設計 — 自動盤點可用資源,透過 Plan agent 建立完整實作計畫,輸出至 plans/active/<slug>.md 供使用者確認後才進入實作。
更新知識庫 — 依序執行文件更新、審查、context 整理、pattern 提取,將本次 session 的變更沉澱為文件與知識。
貼上 Notion URL,自動抓取頁面需求內容,串接 /design 建立實作計畫。
產生跨 context 接手 prompt — 萃取本次對話的目標、進度、決策、未完成項目,輸出可直接貼到新 session 或 /compact 之後使用的自包含 prompt。
| name | pr |
| description | 總結當前工作、commit、推送並建立或更新 PR。自動將對話脈絡寫入 PR description,確保 reviewer 能快速理解背景。 |
| allowed-tools | Bash, Read, Glob, Grep, Edit, Write, AskUserQuestion, Skill |
| argument-hint | ["PR 號碼或留空建立新 PR"] |
請依照以下步驟執行:
git status 和 git diff(staged + unstaged)了解未 commit 的變更git log 查看近期 commit 風格git fetch origin(⚠️ Stale Local Branch 陷阱:本地的 master/main/hotfix 可能落後遠端數十個 commits,忘記 fetch 會把已經 merge 的 commits 算進 PR 範圍,導致 description 嚴重失準)git log --oneline origin/<base-branch>..HEAD 查看 PR 包含的所有 commits(永遠用 origin/<base-branch> 比較,不要用本地 <base-branch>)gh pr diff <PR-number> --name-only 查看 PR 涉及的所有檔案gh pr view <PR-number> --json body 讀取現有 descriptiongit log 結果與 gh pr diff 結果,若差異過大(例如 git log 顯示 50+ commits 但 gh pr diff 僅 1-2 files),以 gh pr diff 為準並重新檢視回顧本次對話的完整內容,提取以下 context 項目(這份清單是本 skill 唯一權威清單,Step 5 撰寫 PR description 時逐條比對,不重新定義):
[A-Z]+-\d+ 編號(如 JIRA-123)、Notion URL、或「Notion Ticket」字樣,記錄找到的編號與票名(供 Step 5 PR 標題使用)⚠️ 常見錯誤:只看
git diff會遺漏 PR 中其他 commits 的內容;只看 diff 不看對話會遺漏「為什麼這樣做」的決策脈絡。PR description 必須同時反映 what changed(diff) 和 why it changed(對話 context)。
Step 1b 結束時建立「Context Manifest」,供 Step 5 逐條比對:
## Context Manifest(Step 1b → Step 5 交接)
| # | Context 類型 | 摘要 | 已寫入 PR Description? |
|---|------------|------|------------------------|
| 1 | 動機 | 使用者原始需求 xxx | 待比對 |
| 2 | 放棄的方案 | 考慮過 A 但因 B 放棄 | 待比對 |
| 3 | 決策依據 | 選 X 不選 Y,因為 Z | 待比對 |
| ... | ... | ... | 待比對 |
expected_count = N(對話中識別的 context 項目總數)
綜合 git 分析 + 對話脈絡,總結本次工作的目的、做了什麼、為什麼這樣做。
對所有變更進行快速 code review,檢查以下項目:
any 濫用rules/security-guidance/skill-integration.md 的觸發閘)判斷變更是否觸及安全敏感面(認證/輸入/endpoint/DB/反序列化/檔案/shell/SSRF/DOM/加密,定義見上述文件):
/security-review skill 審查當前 branch 的 pending changes,判準以 ~/.claude/claude-security-guidance.md 為準;findings 併入下方輸出,CRITICAL/HIGH 在「互動確認」中提示先修正/update 串接:Step 2 已含安全審查,此處不重複委派(去重)用簡潔的表格或清單呈現 review 結果:
Review 完成後,使用 AskUserQuestion 詢問使用者:
/pr如果使用者選擇「先修正問題」,則根據 review 結果逐一修正,修正完後重新從 Step 1 開始。
若 Step 2 發現可自動修正的問題(dead code、命名、nesting、重複程式碼),委派內建 /simplify skill 執行;未發現則跳過。
在 commit 之前,若本次對話涉及的 plan 已完成(plans/active/*.md 的 Status 為 COMPLETED/完成,或所有 Phase/Step 皆標記 [x]/✅),呼叫 /plan-archive skill 歸檔至 plans/completed/;沒有已完成的 plan 則跳過。
有 remote tracking branch 用 git push;沒有則 git push -u origin <branch> 建立。
PR 的 base branch 禁止直接指向主要的 production branch(如 master、main)。
執行以下檢查:
skills/git-workflow/SKILL.md 或類似文件)hotfix、develop),自動使用該 branchmaster 或 main → 必須中斷並警告:
# 範例:專案規範 base branch 為 hotfix
gh pr create --base hotfix ...
# 禁止(除非使用者明確確認)
gh pr create --base master ...
當 base branch 為 master 或 main 時,必須檢查 CHANGELOG.md:
CHANGELOG.mdgit log origin/<base-branch>..HEAD --oneline 的 commitsCHANGELOG.md 尚未包含以下變更:
<未記錄的 commit 摘要>
- 幫我更新 CHANGELOG — 自動補上缺少的條目
- 跳過 — 不更新 CHANGELOG,繼續 PR 流程
依據 base branch 和 ticket 參照決定 PR 標題:
當 PR 的 base branch 為 master 或 main 時,標題必須使用 Release 格式:
Release vX.Y.Z: <摘要>Release v1.18.0: add skill defer + CHANGELOG updates更新既有 PR 時,也必須檢查 title 是否符合此規則,不符合則一併更新。
使用 Step 1b 提取的 ticket 參照決定 PR 標題:
fix(seo): add noindex for empty about page (TICKET-1234)fix(seo): [Bug] empty about page should be no-indexed$ARGUMENTS),更新該 PRPR description 必須包含以下區塊,使用繁體中文撰寫:
## Summary
<!-- 1-3 句話說明這個 PR 的目的和背景脈絡,讓 reviewer 30 秒內理解「為什麼要做這件事」 -->
## Context(對話脈絡)
<!-- 最重要的區塊。內容依 Step 1b 的 Context Manifest 逐條寫入,來源優先序:對話脈絡 > git diff > commit messages -->
<!-- 目標:reviewer 不需要問「為什麼這樣做?」就能從這裡找到答案 -->
## Changes
<!-- 按主題分類列出變更,涵蓋 PR 的所有 commits(不只是當次對話的工作) -->
<!-- 用 git log origin/<base-branch>..HEAD 確認完整範圍(必須先 git fetch origin) -->
<!-- 用 git diff origin/<base-branch>..HEAD --diff-filter=D --name-only 確認刪除的檔案 -->
<!-- 每個主題明確標示:新增了什麼、刪除了什麼、修改了什麼 -->
## Test plan
<!-- 測試計畫,checkbox 格式 -->
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Manifest 逐條比對: 撰寫完 Context 區塊後,逐條比對 Step 1b 的 Context Manifest,確保每個項目都已反映;差集(expected_count − actual_written)> 0 的項目必須補齊,不可遺漏。
/pr # 自動偵測是否有 open PR,沒有就建新的 /pr 7195 # 更新指定 PR 的 description