chore(plugin 版本): 三家 manifest 升版 0.1.5 #7

Merged
admin merged 10 commits from develop into master 2026-08-17 03:43:51 +00:00
Showing only changes of commit 508527df7c - Show all commits
+8 -20
View File
@@ -1,7 +1,7 @@
--- ---
name: plan-wiki name: plan-wiki
description: 逐步詢問使用者計畫內容,並把每一輪已確認的計畫草稿直接同步到指定 Gitea wiki 的目錄頁與計畫頁,全程不建立本機計畫檔、草稿檔、暫存 JSON body 或 wiki clone。使用者要建立計畫、把計畫加入 wiki 目錄、指定 Gitea wiki repo/目錄頁/計畫頁、要求邊問邊同步 wiki、要求計畫檔案不落地、或提到 plan-wiki、計畫 wiki、wiki 目錄頁時觸發。適用於:需求尚未完整、需要逐題釐清並保存到 wiki 的計畫文件。不適用於:產生本機 plan.md/todo.md、拆 Gitea issue(用 /jsc-doc:issues-analyze)、或非 Gitea wiki。 description: 逐步詢問使用者計畫內容,並把每一輪已確認的計畫草稿直接同步到指定 Gitea wiki 的目錄頁與計畫頁,全程不建立本機計畫檔、草稿檔、暫存 JSON body 或 wiki clone。使用者要建立計畫、把計畫加入 wiki 目錄、指定 Gitea wiki repo/目錄頁/計畫頁、要求邊問邊同步 wiki、要求計畫檔案不落地、或提到 plan-wiki、計畫 wiki、wiki 目錄頁時觸發。適用於:需求尚未完整、需要逐題釐清並保存到 wiki 的計畫文件。不適用於:產生本機 plan.md/todo.md、拆 Gitea issue(用 /jsc-doc:issues-analyze)、或非 Gitea wiki。
argument-hint: "[--wiki-repo <owner/repo>] [--index CONTENTS] [--project <計畫名稱>] [--page PLAN-<yyyyMMdd>-<HASH>] [--host <gitea主機>] [--yes]" argument-hint: "[--wiki-repo <owner/repo>] [--index CONTENTS] [--project <計畫名稱>] [--page PLAN_<yyyyMMdd>_<HASH>] [--host <gitea主機>] [--yes]"
--- ---
# plan-wiki — 逐步建立計畫並同步到 Gitea wiki # plan-wiki — 逐步建立計畫並同步到 Gitea wiki
@@ -20,13 +20,13 @@ argument-hint: "[--wiki-repo <owner/repo>] [--index CONTENTS] [--project <計畫
先載入 `/jsc-shared:spec-preflight` 並依其流程處理;載入不到即代表 shared plugin 未安裝, 先載入 `/jsc-shared:spec-preflight` 並依其流程處理;載入不到即代表 shared plugin 未安裝,
依該 spec 詢問使用者是否安裝 `https://gitea.jsc.idv.tw/plugins/shared.git`,不安裝則中斷本 skill。 依該 spec 詢問使用者是否安裝 `https://gitea.jsc.idv.tw/plugins/shared.git`,不安裝則中斷本 skill。
本 skill 需要的規範:`spec-output`、`spec-execution`、`spec-gitea`、`spec-ask-user`、`spec-time-log`、`spec-no-scratch-files`、`spec-skill-invocation` 本 skill 需要的規範:`spec-output`、`spec-execution`、`spec-gitea`、`spec-wiki-contents`、`spec-ask-user`、`spec-time-log`、`spec-no-scratch-files`、`spec-skill-invocation`
本 skill 特有補充: 本 skill 特有補充:
- 本 skill 會寫入外部 Gitea wiki;目標 wiki repo 不明時必須詢問,不得臆測。 - 本 skill 會寫入外部 Gitea wiki;目標 wiki repo 不明時必須詢問,不得臆測。
- 目錄頁 title 預設固定為 `CONTENTS`,不詢問使用者;只有使用者明確提供 `--index` 時才覆蓋預設值。 - 目錄頁 title 預設固定為 `CONTENTS`,不詢問使用者;只有使用者明確提供 `--index` 時才覆蓋預設值。
- 計畫頁 title 預設固定為 `PLAN-{yyyyMMdd}-{HASH}`,不詢問使用者;`yyyyMMdd` 使用 Asia/Taipei 當日日期,`HASH` 由已確認的計畫內容、計畫名稱或需求摘要產生穩定短雜湊並轉成全大寫。 - 計畫頁 title 預設固定為 `PLAN_{yyyyMMdd}_{HASH}`,不詢問使用者;`yyyyMMdd` 使用 Asia/Taipei 當日日期,`HASH` 由已確認的計畫內容、計畫名稱或需求摘要產生穩定短雜湊並轉成全大寫。
- 加入目錄頁時,先從計畫內容尋找系統名稱;若無明確系統名稱,依計畫目標產生一個精簡系統名稱。目錄標題使用 `{系統名稱}-計畫`,並連結到計畫頁。 - 加入目錄頁時,先從計畫內容尋找系統名稱;若無明確系統名稱,依計畫目標產生一個精簡系統名稱。目錄標題使用 `{系統名稱}-計畫`,並連結到計畫頁。
- 目錄頁禁止整頁覆蓋:不存在時才新建;存在時必須保留既有內容,只修改本計畫既有列或在既有表格附加新列。 - 目錄頁禁止整頁覆蓋:不存在時才新建;存在時必須保留既有內容,只修改本計畫既有列或在既有表格附加新列。
- **不落地絕對規則**:不得建立本機 `plan.md`、`todo.md`、`.md` 草稿、暫存 JSON body、wiki clone、或任何用來傳遞中間成果的檔案;中間成果只存在於對話內容與 Gitea wiki API request body。不得使用 `curl --data @file`。 - **不落地絕對規則**:不得建立本機 `plan.md`、`todo.md`、`.md` 草稿、暫存 JSON body、wiki clone、或任何用來傳遞中間成果的檔案;中間成果只存在於對話內容與 Gitea wiki API request body。不得使用 `curl --data @file`。
@@ -37,14 +37,14 @@ argument-hint: "[--wiki-repo <owner/repo>] [--index CONTENTS] [--project <計畫
## 參數 ## 參數
`[--wiki-repo <owner/repo>] [--index CONTENTS] [--project <計畫名稱>] [--page PLAN-<yyyyMMdd>-<HASH>] [--host <gitea主機>] [--yes]` `[--wiki-repo <owner/repo>] [--index CONTENTS] [--project <計畫名稱>] [--page PLAN_<yyyyMMdd>_<HASH>] [--host <gitea主機>] [--yes]`
| 參數 | 說明 | | 參數 | 說明 |
| --- | --- | | --- | --- |
| `--wiki-repo` | Gitea wiki 所屬 repo,例如 `knowledges/Plan`。未帶且無法從目前 repo 推得時詢問使用者。 | | `--wiki-repo` | Gitea wiki 所屬 repo,例如 `knowledges/Plan`。未帶且無法從目前 repo 推得時詢問使用者。 |
| `--index` | 目錄頁 title;未帶時固定使用 `CONTENTS`,不詢問。 | | `--index` | 目錄頁 title;未帶時固定使用 `CONTENTS`,不詢問。 |
| `--project` | 計畫名稱;未帶時從計畫內容尋找或產生系統名稱,用於目錄列標題與摘要。 | | `--project` | 計畫名稱;未帶時從計畫內容尋找或產生系統名稱,用於目錄列標題與摘要。 |
| `--page` | 計畫頁 title;未帶時固定使用 `PLAN-{yyyyMMdd}-{HASH}`,不詢問。 | | `--page` | 計畫頁 title;未帶時固定使用 `PLAN_{yyyyMMdd}_{HASH}`,不詢問。 |
| `--host` | Gitea 主機,依 `spec-gitea` host 決定順序處理。 | | `--host` | Gitea 主機,依 `spec-gitea` host 決定順序處理。 |
| `--yes` | 略過一般性確認;不得略過目標 wiki 不明、寫入衝突、同步失敗後的停止,或使用者尚未確認的計畫完成判斷。 | | `--yes` | 略過一般性確認;不得略過目標 wiki 不明、寫入衝突、同步失敗後的停止,或使用者尚未確認的計畫完成判斷。 |
@@ -53,7 +53,7 @@ argument-hint: "[--wiki-repo <owner/repo>] [--index CONTENTS] [--project <計畫
1. 依 `spec-gitea` 決定 host 與 token,只輸出 token「已設定/未設定」。 1. 依 `spec-gitea` 決定 host 與 token,只輸出 token「已設定/未設定」。
2. 確認 `--wiki-repo` 是否為 `owner/repo` 格式;不符合時詢問使用者修正。 2. 確認 `--wiki-repo` 是否為 `owner/repo` 格式;不符合時詢問使用者修正。
3. 確認目錄頁 title:未帶 `--index` 時固定使用 `CONTENTS`。 3. 確認目錄頁 title:未帶 `--index` 時固定使用 `CONTENTS`。
4. 確認計畫頁 title:未帶 `--page` 時固定使用 `PLAN-{yyyyMMdd}-{HASH}`。雜湊輸入優先使用已確認的計畫內容;內容不足時使用計畫名稱、來源摘要與當輪時間組合,輸出全大寫短雜湊。 4. 確認計畫頁 title:未帶 `--page` 時固定使用 `PLAN_{yyyyMMdd}_{HASH}`。雜湊輸入優先使用已確認的計畫內容;內容不足時使用計畫名稱、來源摘要與當輪時間組合,輸出全大寫短雜湊。
5. 確認系統名稱:先從 `--project`、計畫內容、需求來源或使用者回答尋找明確系統名稱;找不到時產生精簡系統名稱,不為此單獨詢問。 5. 確認系統名稱:先從 `--project`、計畫內容、需求來源或使用者回答尋找明確系統名稱;找不到時產生精簡系統名稱,不為此單獨詢問。
6. 用 `GET /repos/<owner>/<repo>` 驗證 token 對 repo 有權限;失敗時遮蔽機密後回報並停止。 6. 用 `GET /repos/<owner>/<repo>` 驗證 token 對 repo 有權限;失敗時遮蔽機密後回報並停止。
@@ -66,21 +66,9 @@ argument-hint: "[--wiki-repo <owner/repo>] [--index CONTENTS] [--project <計畫
## 目錄頁格式 ## 目錄頁格式
目錄頁不存在時建立下列結構;更新既有目錄頁時禁止整頁覆蓋,必須保留既有標題、說明、表格與其他內容,只新增或更新本計畫相關列: 目錄頁的四欄表格格式、「已產生」欄初始值、列型別判定、以及連結來源(查表取得的 `sub_url`/`path`,不使用 percent-encode 的 title)一律依 `/jsc-shared:spec-wiki-contents`,本 skill 不重複定義。
```markdown 目錄頁不存在時,依 `spec-wiki-contents`〔目錄頁格式〕建立新頁,並在計畫列「已產生」欄填 `[ ]`(表示尚未產生對應 TODO)、「已完成」欄留空;目錄頁已存在時禁止整頁覆蓋,只能 upsert 既有的 `<系統名稱>-計畫` 列或在既有表格附加新列,保留其餘標題、說明與內容。
# CONTENTS
計畫目錄。
| 頁面 | 內容 |
|------|------|
| [<系統名稱>-計畫](<page title percent-encoded, 空白用 %20>) | plan wiki:<系統名稱> 計畫 |
產出日期:yyyy-MM-dd
```
若目錄頁已存在且不是單一計畫專用目錄,仍以同一張 `| 頁面 | 內容 |` 表格為準:保留原標題與說明,只在表格中 upsert 本計畫頁面列。若既有目錄頁沒有 `| 頁面 | 內容 |` 表格,附加一段新的目錄表格到頁面末尾,不得刪除或重排既有內容。連結文字固定為 `<系統名稱>-計畫`;連結 target 用 `encodeURIComponent(title).replace(/%20/g, "%20")` 的結果,不使用 API `sub_url` 反推人工連結。
## 計畫頁格式 ## 計畫頁格式