新增 notifications skill 與 manifest 對齊 #44
@@ -1,7 +1,7 @@
|
||||
# jsc-doc — 跨 AI 助理文件化 Skill 集合
|
||||
|
||||
一個可同時被 **Claude Code、Codex、Antigravity、OpenCode、GitHub Copilot** 使用的文件化 skill 集合。
|
||||
目前內含六個實作型 skills:`docker` 用於整理 `docker-compose.yaml` 的行內註解與標題日期;`funcs` 用於掃描專案 functions、建立 `.docs/` 草稿、補齊 XML 文件註解並重建 README 功能列表與使用範例;`issues-analyze-to-file` 用於讀取 Gitea issue、彙整需求並拆成多階段 issue、產生實作草稿與交付留言;`issues-analyze` 用於把專案/議題/文件來源(議題連同留言與附件一起讀取)拆成小功能議題(母議題須待所有子議題關閉後才可關閉)、分析完成後把屬於專案看板的議題移到「待處理」欄位並依到期日排序留言(不實作程式碼,實作交由 code plugin 的 issues);`issues-sync` 用於讀取 Gitea 專案或議題,依工作目錄檔案勾稽並同步議題的 TODO 進度、標籤與專案看板進度欄位、產生進度留言;指定「關閉專案/專案完成」時改為批次把專案所有議題搬到「已完成」並關閉;`worklog` 用於把 session stop 的內容透過 README 定義的 headless CLI 整理成六欄工作紀錄並追加到 Gitea wiki。
|
||||
目前內含七個實作型 skills:`docker` 用於整理 `docker-compose.yaml` 的行內註解與標題日期;`funcs` 用於掃描專案 functions、建立 `.docs/` 草稿、補齊 XML 文件註解並重建 README 功能列表與使用範例;`issues-analyze-to-file` 用於讀取 Gitea issue、彙整需求並拆成多階段 issue、產生實作草稿與交付留言;`issues-analyze` 用於把專案/議題/文件來源(議題連同留言與附件一起讀取)拆成小功能議題(母議題須待所有子議題關閉後才可關閉)、分析完成後把屬於專案看板的議題移到「待處理」欄位並依到期日排序留言(不實作程式碼,實作交由 code plugin 的 issues);`issues-sync` 用於讀取 Gitea 專案或議題,依工作目錄檔案勾稽並同步議題的 TODO 進度、標籤與專案看板進度欄位、產生進度留言;指定「關閉專案/專案完成」時改為批次把專案所有議題搬到「已完成」並關閉;`notifications` 用於讀取 Gitea 通知、依通知類型分組並照 `REVIEW.md` 流程處理,沒有流程時詢問使用者並把缺少流程的類別附加到 `REVIEW.md`;`worklog` 用於把 session stop 的內容透過 README 定義的 headless CLI 整理成六欄工作紀錄並追加到 Gitea wiki。
|
||||
核心是以 [Agent Skills(`SKILL.md`)](https://agentskills.io) 標準撰寫的共用 skills(唯一真實來源放在 `skills/`),
|
||||
搭配各助理各自的 plugin manifest,讓**同一個 repo** 可用各家**原生 plugin CLI** 安裝。
|
||||
在 Claude Code 與 Antigravity 中,skill 以 **`/jsc-doc:` 前綴**呼叫(例如 `/jsc-doc:docker`)。
|
||||
@@ -53,6 +53,7 @@ doc/
|
||||
│ ├── issues-analyze-to-file/SKILL.md # 讀 issue → 需求文件 → 拆階段 issue → 實作草稿 → 交付留言
|
||||
│ ├── issues-analyze/SKILL.md # 讀來源 → 保存議題 → 小功能議題(看板移待處理)→ 排序留言(不實作)
|
||||
│ ├── issues-sync/SKILL.md # 讀專案/議題 → 依工作目錄勾稽 TODO → 補 TODO/更新標籤/調整看板欄位 → 進度留言;關閉專案時批次搬「已完成」並關閉
|
||||
│ ├── notifications/SKILL.md # 讀取 Gitea 通知並依 REVIEW.md 流程處理
|
||||
│ └── worklog/SKILL.md # 工作證明自動記錄的操作與維護
|
||||
├── AGENTS.md # 跨助理共用指引
|
||||
└── README.md
|
||||
@@ -255,6 +256,14 @@ copilot plugin marketplace remove doc
|
||||
- **Codex**:`$issues-sync`,或用 `/skills` 選單
|
||||
- **OpenCode**:描述需求自動觸發
|
||||
|
||||
### `notifications`
|
||||
|
||||
讀取 Gitea 通知,依通知類型分組後逐組執行;若沒有通知就直接結束;先從目前工作目錄的 `REVIEW.md` 找對應流程,找不到就詢問使用者怎麼處理,並把缺少流程的通知類型附加回 `REVIEW.md`。當使用者要整理 Gitea 通知、依通知類型批次處理、照 `REVIEW.md` 執行通知流程、或補齊 `REVIEW.md` 的通知類型說明時使用此 skill。
|
||||
|
||||
- **Claude Code / Antigravity**:`/jsc-doc:notifications`
|
||||
- **Codex**:`$notifications`,或用 `/skills` 選單
|
||||
- **OpenCode**:描述需求自動觸發
|
||||
|
||||
### `worklog`
|
||||
|
||||
工作證明自動記錄與手動維護流程。相容的 `Stop` hook 會把每輪工作透過 `WORKLOG_CLI` 指定的 headless CLI 整理成六個固定欄位:專案/任務名稱、執行細節與產出、花費時間、任務狀態、遇到的困難、解決方式,並追加到 Gitea wiki 當週頁(`Worklog-yyyy-MM-W<週>`,**週以星期六起算**,換頁固定發生在星期六)。手動模式提供 `--init`、`--tune`(Claude Code 專屬)、`--diagnose`、`--append`、`--show`。
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
name: notifications
|
||||
description: 讀取 Gitea 通知,依通知類型分組後逐組執行;若沒有通知就直接結束;先從目前工作區的 REVIEW.md 找對應流程,找不到就詢問使用者怎麼處理,並把缺少流程的通知類型附加回 REVIEW.md。當使用者要整理 Gitea 通知、依通知類型批次處理、照 REVIEW.md 執行通知流程、或補齊 REVIEW.md 的通知類型說明時使用此 skill。
|
||||
---
|
||||
|
||||
# 依 REVIEW.md 處理 Gitea 通知
|
||||
|
||||
你要讀取目前使用者在目標 Gitea 主機上的通知,先依通知類型分組,再逐組套用 `REVIEW.md` 內定義的處理流程。若沒有通知,直接結束,不改任何檔案,也不寫回 Gitea。
|
||||
|
||||
## 第 0 步:先決條件
|
||||
|
||||
1. 先依 `/jsc-shared:spec-gitea` 確認工具可用性,並決定使用 `tea` 或 Gitea REST API + `GITEA_TOKEN`。
|
||||
2. 決定 Gitea host 時,優先使用目前工作區 repo 的 `origin`,再看 `$GITEA_HOST`,都沒有才詢問使用者。
|
||||
3. 若 `tea` 可用且該 host 有對應 login,優先用 `tea`;否則用 API + `GITEA_TOKEN`。
|
||||
|
||||
## 第 1 步:讀取通知
|
||||
|
||||
1. 以 `tea` 或 Gitea API 讀取目前使用者通知。
|
||||
2. 分頁要抓完整,直到沒有下一頁為止。
|
||||
3. 預設只處理 `unread` 與 `pinned` 通知;若實作環境或 `REVIEW.md` 明確要求納入其他狀態,再依需求擴充。
|
||||
4. 若沒有任何通知,直接結束。
|
||||
|
||||
## 第 2 步:依通知類型分組
|
||||
|
||||
1. 以通知的 `subject.type` 分組。
|
||||
2. 同一組內依通知原始順序逐一處理。
|
||||
3. 每處理完一組才進下一組。
|
||||
|
||||
## 第 3 步:從 `REVIEW.md` 找處理流程
|
||||
|
||||
1. 先讀目前工作目錄根目錄的 `REVIEW.md`。
|
||||
2. 以通知類型名稱尋找對應流程,優先找同名標題或清楚對應的段落。
|
||||
3. 找到流程就照流程執行。
|
||||
4. 找不到流程時,立刻詢問使用者這個通知類型要怎麼處理,不要自行猜。
|
||||
|
||||
## 第 4 步:處理缺流程的類別
|
||||
|
||||
1. 找不到流程的通知類型要先暫存,等使用者回答後再處理。
|
||||
2. 把這個類型與使用者最後確認的處理方式附加到 `REVIEW.md`。
|
||||
3. 若 `REVIEW.md` 不存在,先詢問使用者要在 repo root 建立,還是改用其他 review 檔案。
|
||||
|
||||
## 第 5 步:執行與收尾
|
||||
|
||||
1. 逐組完成後,回報本次讀到的通知總數、分組結果、已套用的流程,以及哪些通知類型沒有既有流程。
|
||||
2. 若有新增到 `REVIEW.md`,明確回報更新位置。
|
||||
3. 全程不要把通知內容寫成草稿檔或暫存檔。
|
||||
Reference in New Issue
Block a user