把 commit、pr 兩支技能的行為清單收攏進 develop #24

Merged
jiantw83 merged 6 commits from feat/skill-behaviors-and-version-block/main into develop 2026-08-31 08:10:34 +00:00
Member

摘要

  • 需求描述:本 PR 是功能主幹的收攏層。子功能 PR 先併入 feat/skill-behaviors-and-version-block/main,再由本 PR 一次併回 develop。本輪功能是新增 commit、pr 兩支技能的行為清單,並在清單裡標清兩者的邊界。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

變更內容

檔案 為什麼改
由子功能 PR 帶入 本 PR 自身不提交檔案。內容來自 plugins/git#23,該 PR 併入功能主幹後才會出現在這裡

設計重點

  • 走完整階梯。子功能分支先併入功能主幹,功能主幹再併回 develop,中間不跳級。
  • 功能主幹目前與 develop 指向同一個 commit,所以本 PR 剛開時的變更檔案數是 0。這是預期結果,不是開錯 base。plugins/git#23 併入功能主幹之後,內容才會浮現在本 PR。
  • 功能主幹集中審查。同一輪功能的子功能分支併攏後,develop 只收一次。

測試結果

  • 本 PR 不含自身提交,測試結果以子功能 PR plugins/git#23 為準。該 PR 跑過 comment-scope.sh sweep,結束碼 0;本輪只新增參考文件與同步版本號,沒有可執行的測試。

前置 Push Request

  • plugins/git#23:#23
## 摘要 - 需求描述:本 PR 是功能主幹的收攏層。子功能 PR 先併入 `feat/skill-behaviors-and-version-block/main`,再由本 PR 一次併回 `develop`。本輪功能是新增 commit、pr 兩支技能的行為清單,並在清單裡標清兩者的邊界。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 變更內容 | 檔案 | 為什麼改 | | --- | --- | | 由子功能 PR 帶入 | 本 PR 自身不提交檔案。內容來自 plugins/git#23,該 PR 併入功能主幹後才會出現在這裡 | ## 設計重點 - 走完整階梯。子功能分支先併入功能主幹,功能主幹再併回 `develop`,中間不跳級。 - 功能主幹目前與 `develop` 指向同一個 commit,所以本 PR 剛開時的變更檔案數是 0。這是預期結果,不是開錯 base。plugins/git#23 併入功能主幹之後,內容才會浮現在本 PR。 - 功能主幹集中審查。同一輪功能的子功能分支併攏後,`develop` 只收一次。 ## 測試結果 - 本 PR 不含自身提交,測試結果以子功能 PR plugins/git#23 為準。該 PR 跑過 `comment-scope.sh sweep`,結束碼 0;本輪只新增參考文件與同步版本號,沒有可執行的測試。 ## 前置 Push Request - plugins/git#23:https://gitea.jsc.idv.tw/plugins/git/pulls/23
jiantw83 added 3 commits 2026-08-31 08:09:19 +00:00
What:新增 `references/behaviors.md`。檔內收錄 jsc-git 的 commit、pr 兩節,每節一張五列表,欄位為觸發時機、關鍵步驟、外部呼叫、完成條件、可驗證跡象。

Why:技能驗證原本沒有共同的比對基準,只能回頭讀 SKILL.md 逐段推敲。清單放在 jsc-git 自己的 repo,技能改動與清單走同一個 PR,不會互相漂移,也不用跨 repo 開兩條 PR 互卡。

How:逐支技能盤點行為並寫成固定格式。節標題用技能名稱、欄位順序固定,格式由 `jsc-meta/tools/check-behaviors.sh` 在程式層檢查。觸發時機同時寫該叫用與不該叫用的情形,把 commit 與 pr 的邊界標清楚。外部呼叫逐一列出腳本、`git` 指令、`gitea.sh` 子命令與被叫用的技能。可驗證跡象寫成外部觀察得到的結果,並明講兩支技能都不寫 wiki 頁。

Who:jsc-git 的 commit、pr 兩支技能,供技能驗證使用。日後任何技能異動都要在同一個 PR 內同步更新這一頁。
What:把 `.claude-plugin/plugin.json`、`.codex-plugin/plugin.json`、`plugin.json` 的 `version` 從 `0.1.1` 改成 `0.1.2`。

Why:本 repo 新增 `references/behaviors.md`,內容有變就要出新版。三份 manifest 分別給 Claude、Codex 與根目錄讀取,版本必須一致,否則版本檢查會判定不相符。

How:只動 `version` 一個欄位,三份檔案改成相同的 0.1.2。描述、技能路徑、`jsc.requires` 的相依範圍都不動。

Who:jsc-git 這個 plugin 的版本標示,供各 CLI 的 plugin 版本檢查使用。
jiantw83 added 3 commits 2026-08-31 08:09:19 +00:00
What:
- `jsc-git:pr` 步驟 7 的 PR 標題改成一句繁體中文摘要,不再等於分支名。
- 步驟 8 的標題校準改成只問標題還描述不描述得了 PR 目前的內容。
- 步驟 3.2 註明摘要就是 PR 標題,規則 4 補上標題與分支名互不套用。
- `references/behaviors.md` 的 pr 一節與 README 的 pr 說明同步新行為。

Why:
- 語言規則明列 PR 標題與描述一律繁體中文,且有 hook 在程式層強制,技能內文擋不住。
- 審查列表全是長串 ASCII slug,看不出這條 PR 改了什麼。
- 分支名給機器判階梯,標題給人看,兩者本來就承擔不同任務。
- 舊校準拿分支名比對標題,每跑一次就把繁中標題改回 slug,還通知所有審查者。

How:
- 步驟 7 改寫標題來源,並在完成條件加上「送出的標題不是分支名」。
- 步驟 8 第一項改成內容比對,寫明分支名不進入這項比對。
- 分支名維持 ASCII,`tools/slugify.sh` 與 `tools/base-branch.sh` 的行為不動。

Who:
- 使用者裁定標題讓位給語言規則,jsc-git 修改代理執行。
What:
- 三份 plugin manifest 的 version 由 0.1.2 升到 0.1.3。

Why:
- `pr` 技能的標題行為改了,版本要跟著動,各 CLI 才收得到更新。

How:
- 跑 `sh /root/plugins/meta/tools/sync-skill-manifest.sh /root/plugins/git`,退出碼 0。

Who:
- jsc-git 修改代理執行。
jiantw83 merged commit fd5b364f0f into develop 2026-08-31 08:10:34 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Reference: plugins/git#24