Community寫作與編輯github.com

stealth-engine/skills

我們工作室日常使用的代理技能——可重複使用、隨需提供的上下文,適用於 Claude Code、Cursor 及其他 skills.sh 相容的 AI 代理。安裝方式:npx skills add stealth-engine/skills

skills 是什麼?

這個技能(agents-md-setup)旨在讓 `AGENTS.md` 成為代理與專案的唯一真相來源,並透過符號連結(symlink)讓所有工具都指向此檔案,從而消除重複與資訊漂移。它適用於 Claude Code、Cursor、Codex 等支援 `AGENTS.md` 或 `CLAUDE.md` 的 AI 代理平台。技能提供了詳細的決策流程:根據專案中已存在的檔案(`AGENTS.md`、`CLAUDE.md`)狀態,自動選擇最佳的遷移策略(例如將現有 `CLAUDE.md` 搬遷為 `AGENTS.md`,或將 `CLAUDE.md` 建立為指向 `AGENTS.md` 的符號連結),並處理單一倉庫與 monorepo(如 Turborepo)中根目錄與工作區嵌套檔案的情況。此外,它還包含了 Windows/CI 環境的替代方案(以純文字指標檔案代替符號連結),以及產生 README 的建議,確保開發者與代理的協作保持一致。

相容平台✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add stealth-engine/skills

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

agents-md-setup

讓 AGENTS.md 成為代理與專案說明的唯一真相來源,並透過符號連結(symlink) 讓每個工具都指向同一份檔案。一個檔案,所有代理皆可讀取——無重複,無資訊漂移。

為什麼採用這種佈局

  • AGENTS.md 是跨工具的新興標準(Cursor、Codex 等工具都會讀取它)。
  • Claude Code 讀取的是 CLAUDE.md。你無法透過提示詞或技能讓其改讀 AGENTS.md——但符號連結 CLAUDE.md → AGENTS.md 可以讓 Claude 打開 CLAUDE.md 時實際取得 AGENTS.md 的內容。這便是運作機制;無需其他設定。
  • 結果:只需編輯 AGENTS.md;所有代理都會保持同步。

決策:目前已存在哪些檔案?

  1. 兩者皆不存在 → 根據下方範本建立 AGENTS.md。
  2. 僅有 CLAUDE.md(真實檔案) → 將其設為真相來源:
    git mv CLAUDE.md AGENTS.md       # 保留歷史記錄(若未追蹤則用 mv)
    
  3. 僅有 AGENTS.md → 保持原樣(很好)。
  4. 兩者皆為真實檔案 → 不要盲目覆寫。比較它們,合併至 AGENTS.md(以它作為正式檔案),若內容不同則先與使用者確認,然後刪除獨立的 CLAUDE.md。
  5. CLAUDE.md 已經是 AGENTS.md 的符號連結 → 已完成;停止。

建立符號連結

ln -s AGENTS.md CLAUDE.md
git add AGENTS.md CLAUDE.md        # git 會以真正的符號連結儲存(模式 120000)

確認它以符號連結而非副本的方式提交:

git ls-files -s CLAUDE.md          # 模式應為 120000

可選擇性地將其他工具指向同一檔案:

ln -s AGENTS.md GEMINI.md
mkdir -p .github && ln -s ../AGENTS.md .github/copilot-instructions.md

Monorepo(Turborepo / workspaces)

在根目錄保留 AGENTS.md 存放倉庫層級的慣例(並如上建立 CLAUDE.md 符號連結),然後在每個需要獨立規範的工作區中分別加入有範圍的 AGENTS.md——例如 apps/<app>/AGENTS.md、packages/<pkg>/AGENTS.md——每個皆附帶自己的同層級符號連結,且需從該目錄內部建立,以使目標為相對路徑:

cd apps/web && ln -s AGENTS.md CLAUDE.md   # CLAUDE.md -> ./AGENTS.md(同一目錄)
  • Claude Code 會讀取其正在處理檔案最靠近的那個 CLAUDE.md,因此嵌套檔案補充而非取代根目錄。將倉庫層級的事項放在根目錄;只在每個工作區中放置該套件的特定差異——不要重複根目錄的內容。
  • 務必讓每個符號連結相對於其自身資料夾(cd 到該工作區後執行 ln -s AGENTS.md CLAUDE.md),絕對不要指向回根目錄——相對的同目錄符號連結在簽出或搬移時仍能正常運作。
  • Turborepo 本身不會讀取這些檔案(它們是給代理用的),因此無需修改 turbo.json。如果你希望它們能被看見,仍可在根目錄的 AGENTS.md 中提及此慣例。

README

如果沒有 README.md,請建立一個精簡的(專案名稱、一行描述、設定/執行指令)。將給人類看的文件放在 README.md,代理說明則放在 AGENTS.md——不要將兩者合併。

Windows / CI 注意事項(重要)

Git 符號連結需要 core.symlinks=true,且可能在 Windows 簽出或某些 CI 執行環境中損壞(符號連結會變成一個包含 AGENTS.md 字串的文字檔案)。如果專案目標平台包含 Windows,建議採用備案:一個極小的真實 CLAUDE.md,其完整內容只是一個指標——

See [AGENTS.md](./AGENTS.md) for project + agent instructions.

——並接受它必須手動同步(或透過檢查)。在所有符號連結可靠的環境中,符號連結仍是更好的選擇。

之後不要復原

如果你看到 CLAUDE.md 是 AGENTS.md 的符號連結,那是刻意的——請編輯 AGENTS.md,永遠不要將符號連結替換成副本。

AGENTS.md 範本

# AGENTS.md

提供給在此倉庫中工作的 AI 代理與人類的說明。
`CLAUDE.md` 是此檔案的符號連結;此檔案是唯一真相來源。

## 專案概覽
<這是什麼,1–3 句話>

## 指令
- install: `…`
- dev: `…`
- build: `…`
- test / lint / format: `…`

## 慣例
- <程式碼風格、語言/執行環境、格式化>
- 提交訊息:<例如 Conventional Commits>
- <代理不得做的事,或必須做的事>

## 目錄結構
<主要目錄及其各自存放的內容>

相關技能