agent-md-refactor

agent-md-refactor

熱門

重構過於龐大的 AGENTS.md、CLAUDE.md 或類似代理指令檔案,遵循漸進式揭露原則。將單一大型檔案拆分為有組織、相互連結的文件。

2215星標
213分支
更新於 2026/3/5
SKILL.md
唯讀
名稱
agent-md-refactor
描述

重構過於龐大的 AGENTS.md、CLAUDE.md 或類似代理指令檔案,遵循漸進式揭露原則。將單一大型檔案拆分為有組織、相互連結的文件。

Agent MD Refactor

重構過於龐大的代理指令檔案(AGENTS.mdCLAUDE.mdCOPILOT.md 等),遵循漸進式揭露原則——將核心內容保留在根目錄,其餘部分組織成有分類且相互連結的檔案。


觸發時機

在以下情況使用此技能:

  • 「重構我的 AGENTS.md」/「重構我的 CLAUDE.md
  • 「拆分我的代理指令」
  • 「整理我的 CLAUDE.md 檔案」
  • 「我的 AGENTS.md 太長了」
  • 「為我的指令採用漸進式揭露」
  • 「清理我的代理設定」

快速參考

階段 動作 產出
1. 分析 找出矛盾 待解決衝突清單
2. 萃取 識別核心內容 根檔案的核心指令
3. 分類 將其餘指令分組 邏輯分類
4. 結構化 建立檔案層級 根檔案 + 連結檔案
5. 刪除標記 標記應刪除的內容 冗餘/模糊指令

流程

階段 1:找出矛盾

識別任何互相衝突的指令。

尋找:

  • 矛盾的風格指南(例如「使用分號」vs「不使用分號」)
  • 衝突的工作流程指令
  • 不相容的工具偏好
  • 互斥的模式

針對每個找到的矛盾:

## 發現矛盾

**指令 A:** [引用]
**指令 B:** [引用]

**問題:** 哪一個應優先,或者兩者都應視情況而定?

要求使用者在繼續前先解決。


階段 2:識別核心內容

只萃取屬於根代理檔案的內容。根檔案應保持精簡——適用於每一個任務的資訊。

核心內容(保留在根目錄):

類別 範例
專案描述 一句話:「一個用於分析的 React 儀表板」
套件管理器 僅當非 npm 時(例如「使用 pnpm」)
非標準指令 自訂建置/測試/型別檢查指令
關鍵覆寫 必須覆寫預設值的項目
通用規則 適用於 100% 的任務

非核心(移至連結檔案):

  • 語言特定慣例
  • 測試指南
  • 程式碼風格細節
  • 框架模式
  • 文件標準
  • Git 工作流程細節

階段 3:將其餘內容分組

將剩餘指令組織成邏輯分類。

常見分類:

分類 內容
typescript.md TS 慣例、型別模式、嚴格模式規則
testing.md 測試框架、覆蓋率、模擬模式
code-style.md 格式化、命名、註解、結構
git-workflow.md 提交、分支、PR、審查
architecture.md 模式、資料夾結構、相依性
api-design.md REST/GraphQL 慣例、錯誤處理
security.md 驗證模式、輸入驗證、機密
performance.md 最佳化規則、快取、懶加載

分組規則:

  1. 每個檔案應針對其主題自成一個完整單元
  2. 目標為 3-8 個檔案(不過細也不過粗)
  3. 檔案命名清晰:{topic}.md
  4. 只包含可操作的指令

階段 4:建立檔案結構

輸出結構:

project-root/
├── CLAUDE.md (或 AGENTS.md)     # 精簡的根檔案,包含連結
└── .claude/                      # 或 docs/agent-instructions/
    ├── typescript.md
    ├── testing.md
    ├── code-style.md
    ├── git-workflow.md
    └── architecture.md

根檔案範本:

# 專案名稱

專案的一句描述。

## 快速參考

- **套件管理器:** pnpm
- **建置:** `pnpm build`
- **測試:** `pnpm test`
- **型別檢查:** `pnpm typecheck`

## 詳細指令

如需特定指南,請參閱:
- [TypeScript 慣例](.claude/typescript.md)
- [測試指南](.claude/testing.md)
- [程式碼風格](.claude/code-style.md)
- [Git 工作流程](.claude/git-workflow.md)
- [架構模式](.claude/architecture.md)

每個連結檔案的範本:

# {主題} 指南

## 概述
簡要說明這些指南適用的情境。

## 規則

### 規則類別 1
- 具體、可操作的指令
- 另一個具體指令

### 規則類別 2
- 具體、可操作的指令

## 範例

### 良好
\`\`\`typescript
// 正確模式的範例
\`\`\`

### 避免
\`\`\`typescript
// 不應這樣做的範例
\`\`\`

階段 5:標記刪除

識別應完全移除的指令。

刪除條件:

條件 範例 為何刪除
冗餘 「使用 TypeScript」(在 .ts 專案中) 代理已知道
過於模糊 「寫出乾淨的程式碼」 無法操作
過於明顯 「不要引入錯誤」 浪費上下文
預設行為 「使用描述性變數名稱」 標準做法
過時 引用已棄用的 API 不再適用

輸出格式:

## 標記為刪除

| 指令 | 原因 |
|-------------|--------|
| 「寫出乾淨、可維護的程式碼」 | 過於模糊,無法操作 |
| 「使用 TypeScript」 | 冗餘——專案已是 TS |
| 「不要提交機密」 | 代理已知道 |
| 「遵循最佳實踐」 | 沒有具體內容則無意義 |

執行檢查清單

[ ] 階段 1:所有矛盾已識別並解決
[ ] 階段 2:根檔案只包含核心內容
[ ] 階段 3:所有剩餘指令已分類
[ ] 階段 4:已建立檔案結構並包含正確連結
[ ] 階段 5:已移除冗餘/模糊指令
[ ] 驗證:每個連結檔案自成一個完整單元
[ ] 驗證:根檔案少於 50 行
[ ] 驗證:所有連結正確運作

反模式

避免 原因 替代方案
把所有內容留在根目錄 龐大、難以維護 拆分為連結檔案
分類過多 碎片化 合併相關主題
模糊指令 浪費 token,無價值 具體說明或刪除
重複預設值 代理已知道 只在需要時覆寫
層級過深 難以導航 扁平結構搭配連結

範例

重構前(龐大的根檔案)

# CLAUDE.md

這是一個 React 專案。

## 程式碼風格
- 使用 2 個空格
- 使用分號
- 優先使用 const 而非 let
- 使用箭頭函式
...(再 200 行)

## 測試
- 使用 Jest
- 覆蓋率 > 80%
...(再 100 行)

## TypeScript
- 啟用嚴格模式
...(再 150 行)

重構後(漸進式揭露)

# CLAUDE.md

即時分析視覺化的 React 儀表板。

## 指令
- `pnpm dev` - 啟動開發伺服器
- `pnpm test` - 執行測試並包含覆蓋率
- `pnpm build` - 生產環境建置

## 指南
- [程式碼風格](.claude/code-style.md)
- [測試](.claude/testing.md)
- [TypeScript](.claude/typescript.md)

驗證

重構後,請驗證:

  1. 根檔案精簡 - 少於 50 行,只包含通用資訊
  2. 連結有效 - 所有引用的檔案都存在
  3. 無矛盾 - 指令一致
  4. 內容可操作 - 每個指令都具體明確
  5. 完整覆蓋 - 沒有遺失任何指令(除非標記為刪除)
  6. 檔案自足 - 每個連結檔案可獨立存在