slim-agents-mdlisted
Install: claude install-skill gn00678465/coding-agent-toolkit
# AGENTS.md 精簡維護
Root 指令文件每次請求都會載入,是固定的 instruction budget。本 skill 把 root 精簡到只剩通過 **root 測試**的內容,其餘依主題拆成由 root 連結、按需載入的分類檔,過程中裁決矛盾、修剪冗餘。精簡是**搬遷與刪冗,不是改寫規則語意**。
> 判準背後的原理(instruction budget、context 毒化、monorepo 巢狀結構、來源引用)見 [`references/principles.md`](references/principles.md)——對判準有疑義、或使用者追問「為什麼要這樣拆」時再讀取。
## 貫穿全程的規則
- **root 測試**:這條指令是否與 repo 中每一個任務都相關?→ 決定留 root 或拆出(Step 3)。
- **行為測試**:這條指令會不會改變 agent 的具體行為?→ 決定保留或標記(Step 5)。不改變行為的指令只是 token 成本。
- **編號追蹤**:Step 1 給每條指令的編號是全程的追蹤鍵,直到 Step 6 每個編號都有可回溯的去向。
- **只標記、不裁決**:語意的刪除、改寫、新增(含檔案合併方向)在流程中一律**標記**並附判準,於 Step 6 提案交使用者裁決;拿不準的條目標記「待裁決」。矛盾是唯一例外——在 Step 2 當場以 AskUserQuestion 裁決。
## 目標檔案
讀取專案根目錄的 `AGENTS.md` 與 `CLAUDE.md`(同一慣例的等價實作),依狀態決定目標:
| 狀態 | 處理 |
|------|------|
| 只有一份 | 以該檔為目標。若只有 `CLAUDE.md`,Step 6 提案可附帶**可選**建議:主內容遷至 `AGENTS.md`、`CLAUDE.md` 只留 `@AGENTS.md` 指標,以支援其他遵循 AGENTS.md 慣例的工具 |
| 兩份並存,其中一份是**指標檔**(內容僅為 `@AGENTS.md` 之類的單行引用) | 以被指向的檔案為唯一目標;指標檔不納入盤點,落地後確認指標仍指向有效檔案 |
| 兩份並存且**內容各自獨立** | 視為**漂移(drift)**:同一份事實維護了兩份副本。兩份同列目標;同一件事兩檔說法不同即為 Step 2 的矛盾組。Step 6 提案合併為單一事實來源:主內容放 `AGENTS.md`、`CLAUDE.md` 改為 `@AGENTS.md` 指標 |
使用者指定的其他指令文件(其他 agent 平台的 rules 檔、既有規範文件等)同列為目標檔案。
## 執行流程
### Step 1 — 盤點(Inventory)
讀取所有目標檔案,逐條抽出並編號(I1、I2、…)。一條「指令」是一個會改變 agent 行為的可執行要求;純敘述性背景(專案描述等)也編號並註記為敘述。對照實際 repo 驗證指令中的檔案路徑與命令,失效者註記為 **stale**。
引用的外部工具、skill、agent 名稱屬環境相依引用:能在當前環境驗證者依 stale 規則處理(存在→保留、更名→標記更新、消失→列為矛盾組);無法驗證者保留原文並註記「未驗證」。
**升級候選**:若 repo 中存在指令文件以外的持久記錄(版本控管的工作日誌、交接文件、貢獻指南、CI/hook 設定),掃描其中標註為長期有效且反覆被引用的行為規則,另以 U1、U2…編號。升