Cap 10: Commands, Skills y Rules

Por: Artiko
claude-certifiedcommandsskillsrulesconfiguración

Commands: workflows reutilizables

Los commands son prompts pre-definidos que se invocan con / en Claude Code. Permiten estandarizar workflows que el equipo ejecuta frecuentemente.

Project-scoped: .claude/commands/

Compartidos via version control. Todo el equipo tiene acceso:

.claude/
└── commands/
    ├── review-pr.md       # /review-pr
    ├── add-test.md        # /add-test
    └── deploy-check.md    # /deploy-check
<!-- .claude/commands/review-pr.md -->
Revisa el PR actual verificando:
1. Adherencia a convenciones del proyecto
2. Cobertura de tests para cambios nuevos
3. Posibles issues de seguridad
4. Performance implications

Genera un resumen con findings categorizados por severidad.

Se invocan como /review-pr en la conversación.

User-scoped: ~/.claude/commands/

Personales, no compartidos. Para workflows individuales:

~/.claude/
└── commands/
    ├── daily-standup.md   # /daily-standup
    └── my-review.md       # /my-review

Cuándo crear un command

Skills: capacidades on-demand

Las skills son más poderosas que los commands. Viven en .claude/skills/ con un archivo SKILL.md que define comportamiento, restricciones y metadatos.

Estructura básica

.claude/
└── skills/
    ├── sdd-explore/
    │   └── SKILL.md
    ├── create-api-endpoint/
    │   └── SKILL.md
    └── migrate-database/
        └── SKILL.md

SKILL.md con frontmatter

---
context: fork
allowed-tools: ["Read", "Grep", "Glob"]
argument-hint: "nombre del módulo a explorar"
---

# Explorar módulo

Analiza la estructura del módulo especificado:
1. Identifica archivos principales con Glob
2. Lee los entry points con Read
3. Busca dependencias con Grep
4. Genera un resumen de arquitectura

## Output esperado
- Archivos principales y su propósito
- Dependencias internas y externas
- Patrones de diseño identificados

Frontmatter: context

context: fork

fork: ejecuta la skill en un contexto aislado (fork del conversation). El output verboso de la exploración no contamina la conversación principal. Solo el resultado final se retorna al main thread.

Sin context (default): la skill se ejecuta inline en la conversación actual. Apropiado para skills cortas que no generan mucho output intermedio.

Cuándo usar fork:

Frontmatter: allowed-tools

allowed-tools: ["Read", "Grep", "Glob", "Bash"]

Restringe qué tools puede usar Claude durante la ejecución de la skill. Esto es una medida de seguridad y enfoque:

Si no se especifica, la skill tiene acceso a todos los tools disponibles.

Frontmatter: argument-hint

argument-hint: "ruta del archivo o módulo a analizar"

Cuando un usuario invoca la skill sin argumentos, Claude usa este hint para solicitar los parámetros necesarios. Mejora la UX al guiar al usuario:

> /explore-module
Claude: ¿Cuál es la ruta del archivo o módulo a analizar?
> src/services/auth

Personal skill customization

Los usuarios pueden tener variantes personales de skills del proyecto en ~/.claude/skills/:

# Skill del proyecto
.claude/skills/review-code/SKILL.md
  → Revisa código con estándares del equipo

# Variante personal
~/.claude/skills/review-code/SKILL.md
  → Misma base + "también verifica accesibilidad WCAG"

La versión personal sobreescribe la del proyecto para ese usuario. Útil para developers con responsabilidades adicionales (ej: el lead de accesibilidad agrega checks extra).

Skills vs CLAUDE.md

La distinción es fundamental:

CLAUDE.md: always-loaded

Skills: on-demand

Tabla de decisión

ContenidoDónde
”Siempre usar TypeScript strict”CLAUDE.md
”Formato de commits: conventional”CLAUDE.md
”Workflow para crear nuevo endpoint”Skill
”Proceso de migración de DB”Skill
”Reglas de naming de archivos”CLAUDE.md o .claude/rules/
“Análisis de dependencias de un módulo”Skill

Regla práctica

Si aplica en el 80%+ de las conversaciones → CLAUDE.md. Si aplica solo cuando lo pides → Skill.

Commands vs Skills

AspectoCommandsSkills
Ubicación.claude/commands/.claude/skills/
MetadatosNofrontmatter (context, allowed-tools, argument-hint)
AislamientoNoSí (context: fork)
Restricción de toolsNoSí (allowed-tools)
Complejidad típicaPrompt simpleWorkflow multi-paso

Usa commands para prompts simples reutilizables. Usa skills cuando necesitas aislamiento, restricción de tools, o workflows complejos.


← Cap 9: CLAUDE.md Jerarquía · Índice · Cap 11: Plan Mode →