feat(gitea): 匯入 jsc-gitea 技能組

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-21 13:08:43 +08:00
co-authored by Claude Fable 5
parent a53079589e
commit a60686c796
3 changed files with 171 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
---
name: repo-sync
description: Batch-sync all readable repos of a chosen Gitea owner into the working directory. List owners, let the user pick, then clone or update each repo; local changes become a branch, commit, push, and PR to develop or master. Use for workspace bootstrap or bulk refresh; not for a single repo.
---
# repo-sync — 存取庫批次同步
## 步驟
1. `tools/gitea.sh owners` 列出使用者擁有讀取權限的所有 `{owner}`。
2. 依 `jsc-ask:ask` 規則讓使用者選擇要同步的 `{owner}`(選項需標明各 owner 的 repo 數量與影響範圍)。
3. `tools/gitea.sh repos {owner}` 列出該 owner 底下可讀取的所有 `{repo}`。
4. 逐一同步每個 `{repo}`,此步驟**必須以 sub agent 執行**(每個 repo 一個 sub agent):
1. 不存在 → `git clone` 到工作目錄(clone URL 取自 `tools/gitea.sh clone-url`)。
2. 已存在 → 切換到 `develop`,沒有就切 `master`(或 `tools/gitea.sh default-branch` 的結果),再 `git pull`。
3. 有檔案變更 → 從 develop/master 新建分支,依 `jsc-git:commit` 認可、push,再依 `jsc-git:pr` 建立 PR 回 develop/master。
5. 回報每個 repo 的同步結果(clone / 更新 / 建立 PR / 失敗原因)。
+29
View File
@@ -0,0 +1,29 @@
---
name: wiki
description: Read or write a Gitea wiki page through tools/gitea.sh with GITEA_TOKEN. Resolve the wiki repo per page type (QUESTION/PLAN/ANALYZE/MAINTAIN/REPO/LOG) via gitea.sh wiki-repo, falling back to JSC_WIKI_REPO or a decision-tree question. Used by jsc-ask, jsc-sdlc, and jsc-log for all wiki pages; not for repo code files.
---
# wiki — Gitea Wiki 頁讀寫
所有 jsc 技能的 wiki 操作都必須經由本技能,統一入口與權限。
## 決定 wiki 位置
不同類型的 wiki 頁可以放在不同的 `{owner}/{repo}`,以頁名前綴分類:`QUESTION`、`PLAN`、`ANALYZE`、`MAINTAIN`、`REPO`、`LOG`。
1. 執行 `tools/gitea.sh wiki-repo {TYPE}`(TYPE = 頁名前綴)。解析順序:`JSC_WIKI_REPO_{TYPE}` > `JSC_WIKI_REPO`;已設定就直接使用,不再詢問。
2. exit 3(都未設定)時依 `jsc-ask:ask` 規則詢問使用者該類型頁面所在的 `{owner}/{repo}`,並建議使用者設定 `JSC_WIKI_REPO_{TYPE}`(各類型可不同)或 `JSC_WIKI_REPO`(共用預設)。
## 操作
| 動作 | 指令 |
| --- | --- |
| 列頁 | `tools/gitea.sh wiki-list {owner}/{repo}` |
| 讀頁 | `tools/gitea.sh wiki-get {owner}/{repo} {page}`(不存在 exit 4) |
| 寫頁 | 內容先寫入暫存檔,再 `tools/gitea.sh wiki-put {owner}/{repo} {page} {file}`(自動判斷新建或更新) |
## 規則
1. 頁面命名必須符合技能準則的「Wiki 頁命名總表」(見 `jsc-meta/references/guidelines.md`)。
2. 更新目錄頁(`*_CONTENTS`)時先 `wiki-get` 取回、套用範本附加或修改後整頁 `wiki-put`,不可覆蓋他人條目。
3. 內容一律 UTF-8 繁體中文。