# Agent File Structure Routing

用途：判斷一個新規則、新經驗、新流程應該寫到哪裡，避免把所有東西塞進 `AGENTS.md` 或聊天紀錄。

## 六層分流

| 層級 | 寫入位置 | 放什麼 | 不放什麼 |
|---|---|---|---|
| 事實層 | `LLMwiki` / 專案 docs | 來源、決策、錯誤模式、驗證命令、專案脈絡 | 個人口吻偏好、一次性操作 |
| 記憶層 | `AGENTS.md` | 穩定偏好、專案規則、禁止事項、常用命令、測試規範 | 長篇教學、原始文章、低頻技巧 |
| 知識層 | `Skills/` | 每週會重複的流程、提示、腳本、模板、可匹配觸發條件 | 單次專案規格、未驗證想法 |
| 護欄層 | `Hooks/` | 可機械攔截的風險：危險命令、格式檢查、提交前檢查、通知、清理 | 需要人判斷的產品決策 |
| 委派層 | `Subagents/` | 需要獨立上下文的角色：reviewer、test-runner、安全審查、文件整理 | 主流程控制權、共用檔案 owner |
| 分發層 | `Plugins/` | 要跨團隊一致安裝的技能、規則、子代理、工具包 | 個人實驗、尚未穩定的 workflow |

## Durable rule 提案分流

只有工作產生「應長期保留的新規則、偏好或重複流程」提案時才執行分流；一般 phase 或里程碑收尾不強制跑此 ceremony。提案時依序問：

1. 這次產生的新知識是「事實」還是「偏好」？
2. 下次是否會重複使用？
3. 是否能用腳本或 hook 自動檢查？
4. 是否需要獨立角色處理？
5. 是否值得跨專案或團隊同步？

## 寫入規則

- 事實與來源：寫進 `LLMwiki` 或專案 docs。
- 穩定偏好與專案規則：寫進 `AGENTS.md`。
- 重複流程：抽成 `Skills/`，先本地使用，穩定後再考慮分發。
- 可機械攔截的錯誤：放進 `Hooks/`，不要靠口頭提醒。
- 需要隔離上下文的工作：建立 `Subagents/`，但主代理保留整合與驗收。
- 團隊要一致使用時：才升級成 `Plugins/`。

## 不升級原則

- 做過一次不代表要變 skill。
- 被提醒一次不代表要寫進 `AGENTS.md`。
- 還需要人判斷的事情不要做成 hook。
- 還沒在 2 個以上專案證明有用，不要做成 plugin。
- 能用一段專案 docs 解決，就不要新開一套工具。

## 最小紀錄

只有 durable rule 提案被採用時，記錄選定目的地、canonical owner 與採用證據；沒有提案時不需要逐一回報七個目的地。
