write-claude-md
Acerca de
Esta habilidad genera archivos CLAUDE.md que proporcionan instrucciones específicas del proyecto para asistentes de codificación con IA. Cubre la estructura de archivos, secciones comunes, patrones de hacer/no hacer e integración con servidores MCP. Úsela al iniciar nuevos proyectos asistidos por IA o para mejorar el comportamiento de la IA en bases de código existentes.
Instalación rápida
Claude Code
Recomendadonpx 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-mdCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
Write CLAUDE.md
CLAUDE.md → AI assistants effective project-specific ctx.
Use When
- New project → AI used
- Improve AI behavior on existing
- Doc project conventions, workflows, constraints
- Integrate MCP servers|agent defs
In
- Required: Project type + tech stack
- Required: Key conventions + constraints
- Optional: MCP server configs
- Optional: Author + contributor info
- Optional: Security + confidentiality reqs
Do
Step 1: Basic CLAUDE.md
Place CLAUDE.md in project root:
# 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
**Got:** `CLAUDE.md` in project root w/ min: project desc, quick start cmds, architecture, conventions.
**If err:** Unsure what to include → start w/ Quick Start only (3 most important: install, test, build). Expand incrementally.
### Step 2: Tech-Specific Sections
**R packages**:
```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/TS**:
```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/`
Got: Tech-specific sections match actual stack — R pkg structure for R, Node.js details for web. Cmds + paths reference real layout.
If err: Unfamiliar stack → inspect package.json, DESCRIPTION, Cargo.toml, equivalent → ID tech + add corresponding section.
Step 3: MCP Server Info
## 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`
Got: Each MCP server: purpose, status (configured|available|not configured), cmd to add. No actual tokens|secrets.
If err: MCP not yet configured → doc as "Available" w/ setup instructions, not "Configured." Placeholder vals like your_token_here.
Step 4: Author Info
## Author Information
### Standard Package Authorship
- **Name**: Author Name
- **Email**: [email protected]
- **ORCID**: 0000-0000-0000-0000
- **GitHub**: username
Got: Author section w/ name, email, ORCID (academic|research), GitHub. R pkgs match DESCRIPTION reqs.
If err: Author info sensitive|shouldn't be public → org name vs personal, or omit for internal-only.
Step 5: Security Guidelines
## 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`
Got: Security section lists never-commit files, placeholder conventions, confirms .gitignore covers sensitive.
If err: Unsure which sensitive → grep -rn "sk-\|ghp_\|password" . for exposed secrets. Real creds → .gitignore + mention here.
Step 6: Reference Skills + Guides
## Development Best Practices References
@agent-almanac/skills/write-testthat-tests/SKILL.md
@agent-almanac/skills/submit-to-cran/SKILL.md
Got: Relevant skills + guides ref'd via @ paths → AI assistants get detailed procedures for common tasks.
If err: Ref'd skills|guides don't exist at paths → verify or remove. Broken @ refs no value, may confuse.
Step 7: Quality + Status
## Quality Status
- R CMD check: 0 errors, 0 warnings, 1 note
- Test coverage: 85%
- Tests: 200+ passing
- Vignettes: 3 (rated 9/10)
Got: Quality metrics → current state, accurate nums for check, coverage, test count, doc status.
If err: Metrics not yet avail (new project) → placeholder "TBD" + update as matures. No fabricate.
Check
- CLAUDE.md in project root
- Quick start cmds accurate + work
- Architecture reflects actual structure
- No sensitive (tokens, passwords, private paths)
- MCP server configs current
- Ref'd files + paths exist
Traps
- Stale info: Update CLAUDE.md when project structure changes
- Too much detail: Concise. Link detailed guides vs duplicate
- Sensitive data: Never include actual tokens|creds. Placeholders.
- Conflicting instructions: CLAUDE.md doesn't contradict other config
- Missing from
.Rbuildignore: R pkgs → add^CLAUDE\\.md$to.Rbuildignore
Examples
Pattern across successful projects:
- putior (829 lines): Comprehensive CLAUDE.md w/ quality metrics, 20 accomplishments, MCP integration, dev workflow
- Simple project (20 lines): Quick start + key conventions
Scale to match project complexity.
→
create-r-package— CLAUDE.md as part of pkg setupconfigure-mcp-server— MCP config ref'd in CLAUDE.mdsecurity-audit-codebase— verify no secrets in CLAUDE.md
Repositorio GitHub
Habilidades relacionadas
content-collections
MetaEsta habilidad proporciona una configuración probada en producción para Content Collections, una herramienta centrada en TypeScript que transforma archivos Markdown/MDX en colecciones de datos con tipado seguro mediante validación Zod. Úsala al construir blogs, sitios de documentación o aplicaciones Vite + React con mucho contenido para garantizar seguridad de tipos y validación automática de contenido. Abarca todo, desde la configuración del plugin de Vite y compilación MDX hasta la optimización de despliegue y validación de esquemas.
polymarket
MetaEsta habilidad permite a los desarrolladores crear aplicaciones con la plataforma de mercados de predicción Polymarket, incluyendo la integración de API para operaciones y datos de mercado. También proporciona transmisión de datos en tiempo real a través de WebSocket para monitorear operaciones en vivo y actividad del mercado. Úsela para implementar estrategias de trading o crear herramientas que procesen actualizaciones de mercado en tiempo real.
creating-opencode-plugins
MetaEsta habilidad ayuda a los desarrolladores a crear complementos de OpenCode que se conectan a más de 25 tipos de eventos, como comandos, archivos y operaciones LSP. Proporciona la estructura del complemento, las especificaciones de la API de eventos y los patrones de implementación para módulos en JavaScript/TypeScript. Úsala cuando necesites interceptar, monitorear o extender el ciclo de vida del asistente de IA de OpenCode con lógica personalizada basada en eventos.
sglang
MetaSGLang es un framework de alto rendimiento para el servicio de LLM que se especializa en generación rápida y estructurada para JSON, expresiones regulares y flujos de trabajo de agentes utilizando su caché de prefijos RadixAttention. Ofrece una inferencia significativamente más rápida, especialmente para tareas con prefijos repetidos, lo que lo hace ideal para salidas complejas y estructuradas, y conversaciones multiturno. Elige SGLang sobre alternativas como vLLM cuando necesites decodificación restringida o estés construyendo aplicaciones con uso extensivo de prefijos compartidos.
