程式開發

wiki-agents-md

分析專案的真實建置命令、測試方式、目錄結構與程式慣例,產生供程式代理使用的 AGENTS.md;遇到既有檔案時必須跳過,避免覆寫。

查看來源 ↗
作者/來源Microsoft★ 3,003 GitHub Stars
測試版本1.0.0更新日期:2026-09-09T22:37:54Z
支援平台OpenAI · Claude本次實測平台
安裝方式npx skills add microsoft/skills
公平比較方式

三個問題,分別測載入前與載入後。

每次回答都在全新環境中產生。兩邊使用相同模型與設定,唯一差別是右側載入了這個 Skill。

模型版本gpt-5.6-sol帳號方案ChatGPT Plus思考強度medium執行工具codex-cli-native-skill
真實測試使用本機已登入的 ChatGPT Plus 實際執行,完成於 2026年8月27日。所有檢查通過後才公開,回答未經人工改寫。
三階段測試3 個問題全部完成版本核對3/3 通過環境清理9/9 通過測試隔離每回合全新環境
01
基礎題

根據最小專案產生規範

測試問題

某 TypeScript 專案沒有 AGENTS.md。package.json scripts 為 dev=vite、build=tsc -b && vite build、test=vitest run、lint=eslint src;目錄只有 src/、tests/、public/。請產生根目錄 AGENTS.md,不要加入沒有證據的 Git 流程。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill555 tokens · 18170 ms
# AGENTS.md ## 專案概覽 這是使用 TypeScript、Vite、Vitest 與 ESLint 的專案。 ## 目錄結構 - `src/`:應用程式原始碼 - `tests/`:測試程式碼 - `public/`:靜態資源 新增或修改檔案時,請遵循相鄰程式碼的既有結構、命名與格式;不要在缺乏依據時引入新的架構或慣例。 ## 常用指令 - `npm run dev`:啟動 Vite 開發伺服器 - `npm run build`:執行 TypeScript 專案建置,再產生 Vite 正式版本 - `npm test`:以 Vitest 執行一次完整測試 - `npm run lint`:對 `src/` 執行 ESLint ## 修改原則 - 保持變更範圍聚焦於任務需求。 - 優先沿用現有元件、工具函式、型別與測試模式。 - 避免使用 `any` 規避型別問題;新增或修改公開介面時應提供明確型別。 - 不要手動修改建置產物或相依套件目錄。 - 靜態檔案放在 `public/`;應用程式邏輯放在 `src/`;測試放在 `tests/`。 ## 驗證要求 完成修改後,依變更範圍執行: 1. `npm run lint` 2. `npm test` 3. `npm run build` 若無法執行其中任何指令,請清楚說明未執行的項目與原因。
已載入 Skill +1488 tokens · 119029 ms
# Repository Agent Instructions ## Build & Run - `npm run dev` — Start the Vite development server. - `npm run build` — Type-check with `tsc -b`, then create the Vite production build. - `npm run lint` — Run ESLint on `src/`. ## Testing - `npm test` — Run the Vitest test suite once. ## Project Structure - `src/` — TypeScript application source. - `tests/` — Vitest tests. - `public/` — Static assets served by Vite. ## Validation After making changes, run the relevant checks: ```sh npm run lint npm test npm run build ```
02
實務題

規劃 Monorepo 分層指引

測試問題

一個 npm workspaces 專案包含 apps/web/package.json、apps/api/pyproject.toml、packages/ui/package.json,三處都沒有 AGENTS.md。請先說明應在哪些資料夾建立檔案,再提供每個檔案必須收錄與不得臆測的資訊清單。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill1581 tokens · 47818 ms
## 應建立的位置 - `apps/web/AGENTS.md`:適用於 Web 應用程式目錄及其子目錄。 - `apps/api/AGENTS.md`:適用於 Python API 目錄及其子目錄。 - `packages/ui/AGENTS.md`:適用於共用 UI 套件目錄及其子目錄。 不能僅因這是 npm workspaces 專案,就假定根目錄也缺少 `AGENTS.md`。只有在確認根目錄沒有該檔案,且確實需要記載全專案規則時,才建立根目錄的 `AGENTS.md`。 ## `apps/web/AGENTS.md` 必須收錄: - Web 應用程式的用途與責任範圍。 - `apps/web/package.json` 中實際存在的安裝、開發、建置、測試、lint、格式化及型別檢查指令。 - 實際使用的套件管理器與 workspace 指令格式。 - 從依賴及設定檔可確認的框架、語言和目錄慣例。 - 可確認的測試位置、命名規則及驗證要求。 - 與 `packages/ui` 或其他 workspace 套件的實際依賴關係。 - 修改後應執行的最小驗證集合。 不得臆測: - Web 框架、版本、路由模式或渲染方式。 - 不存在於 scripts 或文件中的指令。 - 開發伺服器連接埠、公開 URL、部署平台或 CI 流程。 - 環境變數名稱、預設值或祕密資訊。 - 測試框架、瀏覽器支援範圍及程式碼風格。 - Web 一定直接呼叫 `apps/api`。 ## `apps/api/AGENTS.md` 必須收錄: - API 服務的用途、責任範圍及公開介面邊界。 - `apps/api/pyproject.toml` 中實際宣告的 Python 版本、依賴、選用依賴及工具設定。 - 專案文件或設定中實際存在的啟動、測試、lint、格式化及型別檢查指令。 - 實際採用的 Python 套件與虛擬環境管理方式。 - 可確認的原始碼、測試、migration 或 schema 位置。 - 修改 API、資料模型或相依套件時已明文規定的驗證要求。 - 若存在,與其他 workspace 元件之間的已記錄契約。 不得臆測: - API 框架、ASGI/WSGI 伺服器或啟動模組。 - Python 套件管理器;`pyproject.toml` 本身不能證明使用 Poetry、uv、PDM 或 pip。 - 主機、連接埠、資料庫、佇列、雲端服務或容器配置。 - 認證方式、端點、資料模型或 migration 工具。 - 未宣告的 pytest、Ruff、Black、mypy 等工具及其指令。 - API 與 Web 之間未經文件證實的整合方式。 ## `packages/ui/AGENTS.md` 必須收錄: - UI 套件的用途、消費者及允許的責任範圍。 - `packages/ui/package.json` 中實際存在的建置、測試、lint、格式化、型別檢查及開發指令。 - 實際宣告的入口點、exports、產物目錄及發布相關設定。 - 從原始碼和設定可確認的元件、樣式、測試及 story 檔案慣例。 - `dependencies`、`devDependencies` 與 `peerDependencies` 所反映的依賴限制。 - 公開 API 或匯出項目變更時已明文要求的相容性與驗證措施。 - 已確認使用此套件的 workspace。 不得臆測: - React、Vue、Svelte、Storybook 或任何 CSS/設計系統技術。 - 套件一定會發布至 npm,或其發布權限與版本策略。 - 未在 `exports`、原始碼或文件中出現的公開元件。 - 瀏覽器支援、無障礙等級、主題系統或視覺規範。 - 不存在的 snapshot、視覺回歸或 Storybook 測試流程。 - `apps/web` 一定使用此套件;必須由 workspace 依賴或實際 import 證實。
已載入 Skill +1994 tokens · 65911 ms
## 應建立的位置 - `apps/web/AGENTS.md` - `apps/api/AGENTS.md` - `packages/ui/AGENTS.md` - 根目錄 `AGENTS.md`:根目錄一律需要,但題目未說明它是否已存在;只有確認缺少時才建立,絕不可覆寫。 各巢狀檔案只描述該工作區的特定規則,不重複根目錄的全域內容。 ## 根目錄 `AGENTS.md` 必須收錄: - 整個 monorepo 的用途與各 workspace 的角色。 - 根目錄 `package.json` 中實際宣告的 workspace 設定。 - 根目錄 scripts、Makefile 或 CI 中可驗證的安裝、建置、測試、lint、格式化命令;Build & Run 應放在最前面。 - `apps/web`、`apps/api`、`packages/ui` 的實際依賴或呼叫關係。 - 有設定檔或原始碼佐證的全域程式風格、開發環境要求及 repository-wide boundaries。 - CI/CD 或 Git workflow 規則,但僅限 workflow、commitlint、PR template、CONTRIBUTING 等已有證據者。 不得臆測: - npm、Node.js 或 Python 的版本。 - 使用 npm、pnpm 或 Yarn 中的哪一個;須由 lockfile、`packageManager` 或文件確認。 - workspace 之間的依賴方向。 - CI 平台、部署流程、分支命名或 Conventional Commits。 - 未出現在 scripts、CI 或文件中的命令、參數、埠號與環境變數。 ## `apps/web/AGENTS.md` 必須收錄: - web workspace 的實際用途及其在整體系統中的角色。 - `apps/web/package.json` 內存在的 install、dev、build、test、lint 等 scripts。 - 經目錄與原始碼確認的入口檔、主要資料夾及新增功能的位置。 - 從現有程式碼辨識出的命名、import、元件組織與錯誤處理慣例,最好附一段真實範例。 - 前端特有且有專案證據的 boundaries,例如變更公開元件介面或設計系統前需先確認。 不得臆測: - React、Next.js、Vue、Vite、TypeScript、Tailwind 等框架或工具。 - dev server 埠號、瀏覽器支援範圍及部署平台。 - 測試框架、測試目錄、單檔測試命令或 coverage 命令。 - API URL、認證方式、環境變數名稱或 UI 設計規範。 - `package.json` 沒有宣告、CI 也未使用的 npm scripts。 ## `apps/api/AGENTS.md` 必須收錄: - API workspace 的實際用途。 - `pyproject.toml` 中可驗證的套件管理、專案 scripts、測試、lint、格式化及型別檢查設定。 - 實際入口點、套件結構、路由、模型、服務與測試所在位置。 - 從 3–5 個現有 Python 檔案確認的命名、型別註記、import、同步/非同步及錯誤處理慣例。 - 有證據支持的後端 boundaries,例如資料庫 schema、migration 或公開 API 契約變更需先確認。 不得臆測: - FastAPI、Django、Flask、Poetry、uv、pytest、Ruff、Black 或 mypy 的使用。 - Python 版本、啟動命令、host、port 與 worker 數量。 - 資料庫種類、ORM、migration 工具、認證方式或外部服務。 - 測試、coverage 或單一測試命令;若沒有相關設定或測試,應省略 Testing 區段。 - 尚未實際存在的 `src/`、`tests/`、`routes/` 等路徑。 ## `packages/ui/AGENTS.md` 必須收錄: - UI package 的用途、公開輸出及被哪些 workspace 使用;後兩者必須有 manifest 或程式碼佐證。 - `packages/ui/package.json` 中存在的 build、test、lint、storybook 或其他 scripts。 - 實際 source entry、exports、元件、樣式、測試及 story 的位置。 - 從既有元件確認的檔名、props、export、樣式與測試慣例,並使用真實程式碼範例。 - 有依據的 package-specific boundaries,例如公開 export、元件 API 或 design token 的 breaking change。 不得臆測: - React、Vue、Storybook、CSS Modules、Tailwind 或任何設計系統工具。 - 套件是否發布至 npm、套件可見性、版本策略或 release 流程。 - 元件命名規則、無障礙標準、瀏覽器支援及視覺測試工具。 - `apps/web` 必然使用此套件;必須由 workspace dependency 或 import 證實。 - manifest、現有路徑或工具設定無法支持的命令與慣例。 所有檔案都應省略無證據或不適用的區段,且不得包含密鑰、token、憑證、占位文字或泛用樣板內容。
03
壓力題

保護既有檔案

測試問題

使用者要求重新產生整個 Repo 的 AGENTS.md,但根目錄與 apps/web 已有 AGENTS.md,只有 apps/api 缺少。請說明你會採取的動作,並提供預期回報文字。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill262 tokens · 12975 ms
採取的動作:保留根目錄與 `apps/web` 現有的 `AGENTS.md`,不覆寫或重複產生;僅根據 Repo 結構與適用的上層指引,為缺少文件的 `apps/api` 建立 `AGENTS.md`。 預期回報文字: > 已完成 AGENTS.md 補齊:新增 `apps/api/AGENTS.md`。根目錄與 `apps/web` 的既有 `AGENTS.md` 均已保留,未進行修改。
已載入 Skill +690 tokens · 31531 ms
採取的動作: - 保留根目錄與 `apps/web/AGENTS.md`,不覆寫或重新產生。 - 掃描 `apps/api/` 的設定、指令、測試及程式碼慣例,僅建立缺少的 `apps/api/AGENTS.md`。 - 若 `apps/api/CLAUDE.md` 也不存在,則一併建立;若已存在則跳過。 預期回報文字: ```text AGENTS.md already exists at ./AGENTS.md — skipping AGENTS.md already exists at apps/web/AGENTS.md — skipping Generated apps/api/AGENTS.md ``` 另依 `apps/api/CLAUDE.md` 的實際狀態回報: ```text Generated apps/api/CLAUDE.md ``` 或: ```text CLAUDE.md already exists at apps/api/CLAUDE.md — skipping ```
測試紀錄

這次測試記錄了什麼?

固定不變兩邊使用相同的模型版本、帳號方案、系統指令、思考強度與測試問題。

分開測試每次回答都使用全新環境。載入前不含任何 Skill,載入後只含本頁指定的 Skill。

完整才公開三題的所有步驟與環境清理都成功後,才顯示結果。若無法確認模型是否套用 Skill,也會清楚標示。