write-claude-md
О программе
Навык `write-claude-md` создает специфичные для проекта файлы CLAUDE.md, которые предоставляют AI-ассистентам по программированию структурированные инструкции, соглашения и ограничения. Он предназначен для разработчиков, начинающих новые проекты или оптимизирующих существующие, где будут использоваться AI-ассистенты. Навык охватывает ключевые разделы, шаблоны "делать/не делать", а также интеграцию с MCP-серверами и определениями агентов.
Быстрая установка
Claude Code
Рекомендуетсяnpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/write-claude-mdСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
撰寫 CLAUDE.md
建立 CLAUDE.md 文件,為 AI 助手提供有效之專案特定上下文。
適用時機
- 啟動將用 AI 助手之新專案
- 改善現有專案之 AI 助手行為
- 記錄專案慣例、工作流與約束
- 將 MCP 伺服器或代理定義整合至專案
輸入
- 必要:專案類型與技術堆疊
- 必要:關鍵慣例與約束
- 選擇性:MCP 伺服器配置
- 選擇性:作者與貢獻者資訊
- 選擇性:安全與保密要求
步驟
步驟一:建立基本 CLAUDE.md
將 CLAUDE.md 置於專案根:
# Project Name
Brief description of what this project is and its purpose.
## Quick Start
Essential commands for working on this project:
```bash
# Install dependencies
npm install # or renv::restore() for R
# Run tests
npm test # or devtools::test() for R
# Build
npm run build # or devtools::check() for R
Architecture
Key architectural decisions and patterns used in this project.
Conventions
- Always use descriptive variable names
- Follow [language-specific style guide]
- Write tests for all new functionality
**預期:** 專案根中存在 `CLAUDE.md` 文件,至少含專案描述、快速開始命令、架構概述與慣例段。
**失敗時:** 若不確含何,先寫含三個最重要命令之 Quick Start 段(安裝、測試、建構)。文件可隨專案演化逐步擴充。
### 步驟二:加技術特定段
**對 R 套件**:
```markdown
## Development Workflow
```r
devtools::load_all() # Load for development
devtools::document() # Regenerate docs
devtools::test() # Run tests
devtools::check() # Full package check
Package Structure
R/- Source code (one function per file)tests/testthat/- Tests mirror R/ structurevignettes/- Long-form documentationman/- Generated by roxygen2 (do not edit manually)
Critical Files (Do Not Delete)
.Rprofile- Session configuration.Renviron- Environment variables (git-ignored)renv.lock- Locked dependencies
**對 Node.js/TypeScript**:
```markdown
## Stack
- Next.js 15 with App Router
- TypeScript strict mode
- Tailwind CSS for styling
- Vercel for deployment
## Conventions
- Use `@/` import alias for src/ directory
- Server Components by default, `"use client"` only when needed
- API routes in `src/app/api/`
預期: 加入匹配專案實際堆疊之技術特定段——R 專案用 R 套件結構、網頁專案用 Node.js 堆疊細節等。命令與路徑參照真實專案佈局。
失敗時: 若專案用不熟悉之堆疊,檢查 package.json、DESCRIPTION、Cargo.toml 或對等者以辨識技術並加對應段。
步驟三:加 MCP 伺服器資訊
## Available MCP Servers
### r-mcptools (R Integration)
- **Purpose**: Connect to R/RStudio sessions
- **Status**: Configured
- **Configuration**: `claude mcp add r-mcptools stdio "Rscript.exe" -- -e "mcptools::mcp_server()"`
### hf-mcp-server (Hugging Face)
- **Purpose**: AI/ML model and dataset access
- **Status**: Configured
- **Configuration**: `claude mcp add hf-mcp-server -e HF_TOKEN=token -- mcp-remote https://huggingface.co/mcp`
預期: 各已配置之 MCP 伺服器有子段記錄其用途、狀態(已配置/可用/未配置)及加入命令。不含實際令牌或機密。
失敗時: 若 MCP 伺服器尚未配置,記錄為「Available」並附設置指示,而非「Configured」。任何憑證用 your_token_here 之占位值。
步驟四:加作者資訊
## Author Information
### Standard Package Authorship
- **Name**: Author Name
- **Email**: [email protected]
- **ORCID**: 0000-0000-0000-0000
- **GitHub**: username
預期: 作者資訊段含姓名、email、ORCID(學術/研究專案)與 GitHub 用戶名。對 R 套件,格式匹配 DESCRIPTION 文件要求。
失敗時: 若作者資訊敏感或不應公開,改用組織名而非個人細節,或對僅內部專案完全省略此段。
步驟五:加安全指引
## Security & Confidentiality
- Never commit `.Renviron`, `.env`, or files containing tokens
- Use placeholder values in documentation: `YOUR_TOKEN_HERE`
- Environment variables for all secrets
- Git-ignored: `.Renviron`, `.env`, `credentials.json`
預期: 安全段列出絕不可提交之文件、文件中之占位慣例,並確認 .gitignore 涵蓋所有敏感文件。
失敗時: 若不確何文件敏感,跑 grep -rn "sk-\|ghp_\|password" . 掃描已暴露機密。任何含真實憑證之文件應加至 .gitignore 並於此段提及。
步驟六:引用技能與指引
## Development Best Practices References
@agent-almanac/skills/write-testthat-tests/SKILL.md
@agent-almanac/skills/submit-to-cran/SKILL.md
預期: 用 @ 路徑引用相關技能與指引,使 AI 助手獲取專案常見任務之詳細程序。
失敗時: 若所引技能或指引於指定路徑不存在,驗證路徑或移除引用。失效之 @ 引用無價值,且可能困擾助手。
步驟七:加品質與狀態資訊
## Quality Status
- R CMD check: 0 errors, 0 warnings, 1 note
- Test coverage: 85%
- Tests: 200+ passing
- Vignettes: 3 (rated 9/10)
預期: 品質指標段反映專案當前狀態,含檢查結果、測試覆蓋率、測試數與文檔狀態之準確數字。
失敗時: 若指標尚不可用(新專案),加「TBD」之占位條目,並隨專案成熟更新之。勿捏造數字。
驗證
- CLAUDE.md 位於專案根
- 快速開始命令準確且可運行
- 架構段反映實際專案結構
- 無敏感資訊(令牌、密碼、私人路徑)
- MCP 伺服器配置為最新
- 引用之文件與路徑存在
常見陷阱
- 資訊陳舊:專案結構變化時更新 CLAUDE.md
- 過多細節:保持簡潔。連結至詳細指引而非複製內容
- 敏感資料:絕勿含實際令牌或憑證。用占位
- 指示衝突:確保 CLAUDE.md 不與其他配置文件矛盾
.Rbuildignore中遺漏:對 R 套件,將^CLAUDE\\.md$加至.Rbuildignore
範例
跨成功專案觀察之模式:
- putior(829 行):含品質指標、20 項成就、MCP 整合細節與開發工作流之全面 CLAUDE.md
- 簡單專案(20 行):僅含快速開始命令與關鍵慣例
依專案複雜度調整 CLAUDE.md 之規模。
相關技能
create-r-package— CLAUDE.md 作為套件設置之一部分configure-mcp-server— CLAUDE.md 中引用之 MCP 配置security-audit-codebase— 驗證 CLAUDE.md 中無機密
GitHub репозиторий
Похожие навыки
content-collections
МетаЭтот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.
polymarket
МетаЭтот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.
creating-opencode-plugins
МетаЭтот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.
sglang
МетаSGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
