{"content_id":"9bufu7fxqw","slug":"claude-code-rules-skills-agents-guide","locale":"es","schema_type":"HowTo","category":"tutorial","category_name":"Tutorial","title":"Guía práctica de Rules, Skills y Agents de Claude Code","summary":"Rules, Skills y Agents de Claude Code se encargan, respectivamente, de las directrices persistentes, los procedimientos reutilizables y la delegación aislada de tareas. Se explican con ejemplos prácticos la estructura exacta de los archivos, los métodos de invocación y los principios de seguridad y gestión del contexto.","sponsorship_disclosure":null,"author":{"name":"Equipo editorial de Injoys","url":"https://injoys.com/ko/about"},"key_points":["Cree el directorio `.claude` en la raíz del proyecto y distinga el alcance de la configuración compartida y la personal.","Separe los criterios que deben cumplirse siempre en archivos Markdown dentro de `.claude/rules` y, si es necesario, limite las rutas donde se aplican.","Defina los procedimientos repetitivos en `.claude/skills/\u003c이름\u003e/SKILL.md` y configure su invocación automática o explícita.","Delegue las tareas que requieran un contexto y una función independientes a un subagente en `.claude/agents/\u003c이름\u003e.md`.","Compruebe la carga, los permisos de las herramientas y la calidad de los resultados mediante pequeñas tareas de validación antes de incorporarlos al repositorio del equipo."],"content_markdown":"Las extensiones de Claude Code no son todas el mismo tipo de prompt. **Rules son instrucciones que se aplican continuamente**, **Skills son procedimientos de trabajo reutilizables de forma repetida** y **Agents son ejecutores por función que trabajan en contextos separados**. Distinguir correctamente estas tres funciones permite reducir la repetición de prompts y, al mismo tiempo, gestionar de forma eficiente el contexto de la conversación principal.\n\nEste documento se basa en la configuración a nivel de proyecto. Dado que los metadatos o las pantallas compatibles pueden variar según la versión de Claude Code, los campos que no funcionen deben comprobarse de nuevo en la documentación oficial de la versión instalada.\n\n## Paso 1: Definir el directorio `.claude` y el alcance de la configuración\n\nLas Rules, Skills y Agents que se compartirán en un proyecto suelen colocarse dentro de `.claude`, en la raíz del repositorio.\n\n```text\nmy-project/\n├── .claude/\n│   ├── rules/\n│   │   ├── code-style.md\n│   │   └── api.md\n│   ├── skills/\n│   │   └── fix-issue/\n│   │       └── SKILL.md\n│   └── agents/\n│       ├── code-reviewer.md\n│       └── test-runner.md\n├── src/\n└── package.json\n```\n\nLos directorios pueden crearse de la siguiente manera.\n\n```bash\nmkdir -p .claude/rules\nmkdir -p .claude/skills/fix-issue\nmkdir -p .claude/agents\n```\n\n### Dos malentendidos sobre `.claude`\n\n1. `.claude` no es obligatorio para todas las instrucciones de Claude Code. Las instrucciones del proyecto también pueden gestionarse mediante `CLAUDE.md` en la raíz o `.claude/CLAUDE.md`, mientras que la configuración personal del usuario puede colocarse dentro de `~/.claude`, en el directorio de inicio.\n2. Según el sistema operativo, los nombres de archivo distinguen entre mayúsculas y minúsculas. Es más seguro crear el archivo de entrada de una Skill como `SKILL.md`, en mayúsculas, de acuerdo con el formato oficial. Si se guarda como `skill.md`, podría no ser reconocido.\n\n### Criterios para elegir entre configuración de proyecto y personal\n\n| Alcance | Contenido adecuado | Ejemplo |\n|---|---|---|\n| Compartido en el proyecto | Reglas y automatizaciones que todos los colaboradores deben seguir de la misma manera | Comandos de pruebas, estructura de directorios, convenciones de API |\n| Personal del usuario | Preferencias personales o configuraciones que no deben publicarse en el repositorio | Forma personal de trabajar, elección de herramientas locales |\n| Solo local | Rutas o configuraciones experimentales válidas únicamente en un equipo concreto | Ruta de datos locales, procedimiento temporal de depuración |\n\nSolo deben enviarse a Git los archivos que utilizará todo el equipo. No deben registrarse en Rules ni Skills claves secretas, tokens o contraseñas de servidores internos.\n\n## Paso 2: Crear instrucciones persistentes con Rules\n\nRules es una función para gestionar las instrucciones del proyecto que Claude debe consultar al trabajar, dividiéndolas en varios archivos Markdown. Entre las reglas situadas bajo `.claude/rules`, los archivos sin una condición `paths` se cargan como instrucciones del proyecto, mientras que los que especifican condiciones de ruta se aplican al trabajar con archivos relacionados.\n\n### Ejemplo de una Rule básica\n\nPuede crearse `.claude/rules/code-style.md` de la siguiente manera.\n\n```markdown\n# Principios de escritura de código\n\n- El nuevo código de la aplicación debe escribirse en TypeScript.\n- En las funciones públicas deben explicarse los valores de entrada, los valores de retorno y las condiciones de fallo.\n- No se deben eliminar pruebas existentes para ocultar fallos.\n- Después de realizar cambios, deben ejecutarse las pruebas relacionadas y la comprobación de tipos.\n- Las explicaciones deben escribirse en coreano, pero los identificadores de código deben seguir las convenciones de nomenclatura existentes.\n```\n\nUna buena Rule puede verificarse. “Escribir código elegante” es menos claro que “ejecutar `npm test` y `npm run typecheck` después de realizar cambios”.\n\n### Rule que se aplica solo a rutas específicas\n\nSi las reglas del frontend y del backend son distintas, puede limitarse el alcance mediante `paths` en el YAML front matter.\n\n```markdown\n---\npaths:\n  - \"src/api/**/*.ts\"\n  - \"tests/api/**/*.ts\"\n---\n\n# Reglas de la API\n\n- Todas las entradas de la API deben validarse mediante un esquema.\n- Los fallos de autenticación y la falta de permisos deben tratarse como errores diferentes.\n- Si se modifica un endpoint, también deben actualizarse las pruebas de API correspondientes.\n```\n\nLas reglas por ruta reducen el problema de que instrucciones innecesarias ocupen el contexto de todos los trabajos.\n\n### Contenido que no debe incluirse en Rules\n\n- Procedimientos de migración que se ejecutarán una sola vez\n- Requisitos detallados necesarios únicamente para una incidencia específica\n- Instrucciones absolutas que entren en conflicto entre sí\n- Frases extensas que repitan contenido ya impuesto por el código o la configuración del linter\n- Datos sensibles como contraseñas, claves de API o información de clientes\n\nRules no es un “mecanismo mágico de garantía que siempre se cumple”. Si las instrucciones son ambiguas o contradictorias, los resultados pueden variar, por lo que deben utilizarse conjuntamente medios de verificación deterministas, como pruebas, linters y controles de permisos.\n\n## Paso 3: Automatizar procedimientos repetitivos con Skills\n\nUna Skill agrupa una descripción, un procedimiento de trabajo, las herramientas necesarias y materiales auxiliares en una única unidad reutilizable. La estructura básica de una Skill de proyecto es `.claude/skills/\u003cskill-name\u003e/SKILL.md` y, si es necesario, pueden añadirse plantillas o scripts en el mismo directorio.\n\nA diferencia de Rules, una Skill se utiliza cuando resulta necesaria para un trabajo específico. Claude puede seleccionarla automáticamente a partir de su descripción, o el usuario puede invocarla explícitamente con el formato `/\u003cskill-name\u003e`. No funciona necesariamente solo de manera manual.\n\n### Ejemplo de una Skill para corregir incidencias\n\nUn ejemplo de `.claude/skills/fix-issue/SKILL.md` es el siguiente.\n\n```markdown\n---\nname: fix-issue\ndescription: Reproduce un error, delimita su causa y después realiza una corrección mínima y pruebas de regresión.\ndisable-model-invocation: true\nallowed-tools: Read, Grep, Glob, Edit, Bash(npm test:*)\n---\n\n# Procedimiento para corregir incidencias\n\nIncidencia objetivo: $ARGUMENTS\n\n1. Investiga el código relacionado y las pruebas existentes.\n2. Antes de modificarlo, resume el método de reproducción y el comportamiento esperado.\n3. Explica la causa raíz en un párrafo.\n4. Aplica la modificación con el menor alcance posible.\n5. Añade una prueba de regresión o comprueba que las pruebas existentes verifican el problema.\n6. Ejecuta las pruebas permitidas y resume los resultados.\n7. Informa de los archivos modificados, los riesgos restantes y los elementos que requieren comprobación manual.\n```\n\nEsta Skill puede invocarse de la siguiente manera.\n\n```text\n/fix-issue El problema por el que la foto de perfil no se actualiza después de iniciar sesión\n```\n\n`disable-model-invocation: true` resulta útil cuando se quiere impedir que Claude ejecute esta Skill por iniciativa propia y limitarla a la invocación directa por parte del usuario. Los campos de front matter compatibles pueden variar según la versión de Claude Code.\n\n### Ejemplo de una Skill que prioriza el diseño\n\nSi se quiere que primero se cree un documento de diseño en lugar de empezar a programar de inmediato, puede incluirse en una Skill el siguiente flujo.\n\n1. Separar los requisitos de los aspectos ambiguos.\n2. Investigar la estructura existente y los módulos reutilizables.\n3. Diseñar el flujo de datos, las interfaces y las condiciones de fallo.\n4. Crear un documento de diseño bajo `docs/design/`.\n5. Implementar después de comprobar la aprobación del usuario o las condiciones de aprobación especificadas.\n6. Presentar las pruebas y el método de reversión.\n\n### Condiciones de una buena Skill\n\n- La entrada y el resultado final están claros.\n- Se especifican el orden del procedimiento y las condiciones de interrupción.\n- Solo se permiten las herramientas necesarias.\n- Los materiales de referencia extensos se separan en archivos independientes.\n- Si se produce un fallo, se indica que debe informarse de él en lugar de continuar arbitrariamente.\n- Una sola Skill no tiene demasiados objetivos.\n\nLos trabajos repetitivos con un inicio y un final claros, como la creación de commits, la revisión de código, la comprobación de versiones y el diseño de API, son adecuados para Skills.\n\n## Paso 4: Separar funciones y contextos con Agents\n\nLos subagentes de Claude Code desempeñan una función específica en un contexto separado y devuelven los resultados a la conversación principal. Son útiles cuando no se desea acumular en el contexto principal grandes cantidades de resultados de búsqueda o registros de pruebas.\n\nLos agentes del proyecto suelen definirse en `.claude/agents/\u003cagent-name\u003e.md`. Es posible consultar o gestionar los agentes mediante el comando `/agents`, y también puede solicitarse en lenguaje natural que una tarea se delegue en un agente específico.\n\n### Ejemplo de un agente de revisión de código\n\nPuede crearse `.claude/agents/code-reviewer.md` de la siguiente manera.\n\n```markdown\n---\nname: code-reviewer\ndescription: Revisor centrado en la lectura que examina el código modificado para detectar defectos, riesgos de seguridad y pruebas ausentes\ntools: Read, Grep, Glob, Bash\nmodel: sonnet\n---\n\nEres un agente dedicado a la revisión de código.\n\nRealiza la revisión con el siguiente orden de prioridades.\n\n1. Defectos que puedan provocar fallos reales o pérdida de datos\n2. Problemas de seguridad relacionados con la autenticación, los permisos y la validación de entradas\n3. Problemas de concurrencia, transacciones y gestión de errores\n4. Ausencia de pruebas que verifiquen los requisitos\n5. Estructuras que reduzcan considerablemente la mantenibilidad\n\nCada hallazgo debe incluir la ruta del archivo, el fundamento, las condiciones en las que se produce y la orientación para una corrección mínima.\nNo informes como defectos las preferencias de estilo que carezcan de fundamento.\nNo modifiques directamente el código; devuelve únicamente los resultados de la revisión.\n```\n\nPuede solicitarse de la siguiente manera.\n\n```text\nPide al agente code-reviewer que revise los cambios de la rama actual.\n```\n\n### Diferencias entre Skill y Agent\n\n| Criterio | Rules | Skills | Agents |\n|---|---|---|---|\n| Objetivo principal | Proporcionar instrucciones persistentes | Reutilizar procedimientos repetitivos | Delegar trabajos según la función |\n| Momento de aplicación | Siempre o según condiciones de ruta | Selección automática o invocación explícita | Delegación de Claude o solicitud del usuario |\n| Contexto | Se incluyen como instrucciones en el trabajo principal | Se ejecutan principalmente dentro del flujo de trabajo actual | Se ejecutan en un contexto separado y después devuelven los resultados |\n| Ejemplo representativo | Estándares de programación | Procedimiento para corregir incidencias | Revisor de código |\n| Ubicación de almacenamiento | `.claude/rules/*.md` | `.claude/skills/\u003cnombre\u003e/SKILL.md` | `.claude/agents/*.md` |\n\n### Agents y Agent Teams son diferentes\n\nEl hecho de que un subagente normal utilice un contexto separado no significa que los agentes puedan conversar libremente entre sí. Por lo general, los subagentes siguen una estructura de delegación en la que realizan la tarea asignada y devuelven los resultados al agente principal. La función Agent Teams, en la que varias sesiones independientes intercambian mensajes entre sí, es una función distinta, y su estado de compatibilidad y sus condiciones de activación deben comprobarse en la documentación oficial.\n\nSi se diseña un flujo de trabajo suponiendo que un agente seguirá creando otros agentes en cadena, puede fallar debido a las restricciones de versión o permisos. Es más seguro comenzar con una estructura sencilla en la que el agente principal distribuya el trabajo entre subagentes según sus funciones y sintetice los resultados.\n\n## Paso 5: Verificar la carga, los permisos y la calidad\n\nNo debe suponerse que los archivos de configuración funcionan según lo previsto solo por haberlos creado. Cada componente debe verificarse por separado mediante tareas pequeñas.\n\n### Orden de verificación recomendado\n\n1. **Comprobar Rules:** solicitar tareas tanto para archivos a los que se aplican las reglas como para archivos a los que no se aplican, con el fin de comprobar las condiciones de ruta.\n2. **Comprobar Skills:** invocar explícitamente una Skill y comprobar que funcionan los argumentos de entrada, los resultados y las condiciones de interrupción.\n3. **Comprobar Agents:** asignar tareas de bajo riesgo, como una revisión de solo lectura, y comprobar el formato de los resultados.\n4. **Comprobar permisos:** revisar que las herramientas con capacidad de realizar cambios, como Bash y Edit, solo se hayan concedido a las configuraciones que realmente las necesiten.\n5. **Verificación automática:** comprobar de manera independiente los resultados de la IA mediante pruebas, comprobaciones de tipos, linters y análisis de seguridad.\n\n### Elementos que deben comprobarse en caso de fallo\n\n- ¿Se encuentra `.claude` en la raíz real del proyecto?\n- ¿El nombre del archivo de la Skill es exactamente `SKILL.md`?\n- ¿La Skill tiene la estructura `.claude/skills/\u003cnombre\u003e/SKILL.md`?\n- ¿El archivo del Agent es un archivo Markdown situado directamente bajo `.claude/agents`?\n- ¿El inicio y el final del YAML front matter están delimitados con `---`?\n- ¿`name` y `description` son lo bastante específicos como para diferenciar el trabajo?\n- ¿Los patrones de ruta coinciden con la estructura real del proyecto?\n- ¿La versión instalada de Claude Code admite los metadatos utilizados?\n- ¿Los permisos de las herramientas o las políticas de la organización están bloqueando la ejecución?\n\n## Por qué deben diseñarse conjuntamente el presupuesto de contexto y la seguridad\n\nEl propósito de Rules, Skills y Agents no consiste únicamente en añadir funciones. También son **medios de ingeniería de contexto** que permiten controlar qué información se incorpora al contexto y en qué momento.\n\nSi las reglas son demasiado extensas, instrucciones ajenas al trabajo actual ocuparán el contexto y aumentará la posibilidad de conflictos. Por el contrario, si la exploración y el análisis de registros se asignan a subagentes, en la conversación principal pueden conservarse únicamente las conclusiones y sus fundamentos.\n\nDesde el punto de vista de la seguridad, son importantes los siguientes principios.\n\n- Revisar Rules y Skills igual que cualquier otro código del repositorio.\n- Leer antes de ejecutar los archivos de Agent o Skill recibidos de fuentes externas.\n- Minimizar los permisos para ejecutar comandos del shell, acceder a la red y modificar archivos.\n- No confiar automáticamente en los comandos incluidos en la entrada del usuario o en el contenido de una incidencia.\n- Incluir una etapa de aprobación humana para despliegues, eliminaciones, pagos y migraciones de datos.\n- No almacenar información secreta en archivos de prompts; utilizar un sistema independiente de gestión de secretos.\n\n## Qué función debe elegirse\n\nPuede decidirse rápidamente mediante las siguientes preguntas.\n\n- ¿Deben seguirla todos los trabajos relacionados? → **Rule**\n- ¿Es un procedimiento repetitivo con un inicio y un final? → **Skill**\n- ¿Se necesitan una función separada y un contexto independiente? → **Agent**\n- ¿Debe ejecutarse un comando determinista antes o después de un evento específico? → **Considerar un Hook**\n\nPor ejemplo, “usar TypeScript” es una Rule, mientras que “realizar desde la reproducción del error hasta las pruebas de regresión” es una Skill. “Leer los cambios e informar únicamente de los defectos de seguridad” es apropiado para un Agent. Para acciones vinculadas a un evento específico, como ejecutar obligatoriamente un formateador después de editar un archivo, Hooks puede resultar más adecuado.\n\nLa configuración más estable consiste en combinar las tres funciones en lugar de considerarlas competidoras. Rule proporciona criterios comunes, Skill ejecuta procedimientos estándar y Agent separa los trabajos con un contexto amplio, como la investigación y la revisión; después, las pruebas y Hooks complementan la verificación determinista.","content_html":"\u003cp\u003eLas extensiones de Claude Code no son todas el mismo tipo de prompt. \u003cstrong\u003eRules son instrucciones que se aplican continuamente\u003c/strong\u003e, \u003cstrong\u003eSkills son procedimientos de trabajo reutilizables de forma repetida\u003c/strong\u003e y \u003cstrong\u003eAgents son ejecutores por función que trabajan en contextos separados\u003c/strong\u003e. Distinguir correctamente estas tres funciones permite reducir la repetición de prompts y, al mismo tiempo, gestionar de forma eficiente el contexto de la conversación principal.\u003c/p\u003e\n\u003cp\u003eEste documento se basa en la configuración a nivel de proyecto. Dado que los metadatos o las pantallas compatibles pueden variar según la versión de Claude Code, los campos que no funcionen deben comprobarse de nuevo en la documentación oficial de la versión instalada.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#paso-1-definir-el-directorio-claude-y-el-alcance-de-la-configuraci%C3%B3n\" class=\"anchor\" id=\"paso-1-definir-el-directorio-claude-y-el-alcance-de-la-configuración\"\u003e\u003c/a\u003ePaso 1: Definir el directorio \u003ccode\u003e.claude\u003c/code\u003e y el alcance de la configuración\u003c/h2\u003e\n\u003cp\u003eLas Rules, Skills y Agents que se compartirán en un proyecto suelen colocarse dentro de \u003ccode\u003e.claude\u003c/code\u003e, en la raíz del repositorio.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003emy-project/\n\u003c/span\u003e\u003cspan\u003e├── .claude/\n\u003c/span\u003e\u003cspan\u003e│   ├── rules/\n\u003c/span\u003e\u003cspan\u003e│   │   ├── code-style.md\n\u003c/span\u003e\u003cspan\u003e│   │   └── api.md\n\u003c/span\u003e\u003cspan\u003e│   ├── skills/\n\u003c/span\u003e\u003cspan\u003e│   │   └── fix-issue/\n\u003c/span\u003e\u003cspan\u003e│   │       └── SKILL.md\n\u003c/span\u003e\u003cspan\u003e│   └── agents/\n\u003c/span\u003e\u003cspan\u003e│       ├── code-reviewer.md\n\u003c/span\u003e\u003cspan\u003e│       └── test-runner.md\n\u003c/span\u003e\u003cspan\u003e├── src/\n\u003c/span\u003e\u003cspan\u003e└── package.json\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eLos directorios pueden crearse de la siguiente manera.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003emkdir\u003c/span\u003e\u003cspan\u003e -p\u003c/span\u003e\u003cspan\u003e .claude/rules\n\u003c/span\u003e\u003cspan\u003emkdir\u003c/span\u003e\u003cspan\u003e -p\u003c/span\u003e\u003cspan\u003e .claude/skills/fix-issue\n\u003c/span\u003e\u003cspan\u003emkdir\u003c/span\u003e\u003cspan\u003e -p\u003c/span\u003e\u003cspan\u003e .claude/agents\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003e\n\u003ca href=\"#dos-malentendidos-sobre-claude\" class=\"anchor\" id=\"dos-malentendidos-sobre-claude\"\u003e\u003c/a\u003eDos malentendidos sobre \u003ccode\u003e.claude\u003c/code\u003e\n\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003ccode\u003e.claude\u003c/code\u003e no es obligatorio para todas las instrucciones de Claude Code. Las instrucciones del proyecto también pueden gestionarse mediante \u003ccode\u003eCLAUDE.md\u003c/code\u003e en la raíz o \u003ccode\u003e.claude/CLAUDE.md\u003c/code\u003e, mientras que la configuración personal del usuario puede colocarse dentro de \u003ccode\u003e~/.claude\u003c/code\u003e, en el directorio de inicio.\u003c/li\u003e\n\u003cli\u003eSegún el sistema operativo, los nombres de archivo distinguen entre mayúsculas y minúsculas. Es más seguro crear el archivo de entrada de una Skill como \u003ccode\u003eSKILL.md\u003c/code\u003e, en mayúsculas, de acuerdo con el formato oficial. Si se guarda como \u003ccode\u003eskill.md\u003c/code\u003e, podría no ser reconocido.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3\u003e\n\u003ca href=\"#criterios-para-elegir-entre-configuraci%C3%B3n-de-proyecto-y-personal\" class=\"anchor\" id=\"criterios-para-elegir-entre-configuración-de-proyecto-y-personal\"\u003e\u003c/a\u003eCriterios para elegir entre configuración de proyecto y personal\u003c/h3\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eAlcance\u003c/th\u003e\n\u003cth\u003eContenido adecuado\u003c/th\u003e\n\u003cth\u003eEjemplo\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Alcance\"\u003eCompartido en el proyecto\u003c/td\u003e\n\u003ctd data-label=\"Contenido adecuado\"\u003eReglas y automatizaciones que todos los colaboradores deben seguir de la misma manera\u003c/td\u003e\n\u003ctd data-label=\"Ejemplo\"\u003eComandos de pruebas, estructura de directorios, convenciones de API\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Alcance\"\u003ePersonal del usuario\u003c/td\u003e\n\u003ctd data-label=\"Contenido adecuado\"\u003ePreferencias personales o configuraciones que no deben publicarse en el repositorio\u003c/td\u003e\n\u003ctd data-label=\"Ejemplo\"\u003eForma personal de trabajar, elección de herramientas locales\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Alcance\"\u003eSolo local\u003c/td\u003e\n\u003ctd data-label=\"Contenido adecuado\"\u003eRutas o configuraciones experimentales válidas únicamente en un equipo concreto\u003c/td\u003e\n\u003ctd data-label=\"Ejemplo\"\u003eRuta de datos locales, procedimiento temporal de depuración\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eSolo deben enviarse a Git los archivos que utilizará todo el equipo. No deben registrarse en Rules ni Skills claves secretas, tokens o contraseñas de servidores internos.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#paso-2-crear-instrucciones-persistentes-con-rules\" class=\"anchor\" id=\"paso-2-crear-instrucciones-persistentes-con-rules\"\u003e\u003c/a\u003ePaso 2: Crear instrucciones persistentes con Rules\u003c/h2\u003e\n\u003cp\u003eRules es una función para gestionar las instrucciones del proyecto que Claude debe consultar al trabajar, dividiéndolas en varios archivos Markdown. Entre las reglas situadas bajo \u003ccode\u003e.claude/rules\u003c/code\u003e, los archivos sin una condición \u003ccode\u003epaths\u003c/code\u003e se cargan como instrucciones del proyecto, mientras que los que especifican condiciones de ruta se aplican al trabajar con archivos relacionados.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#ejemplo-de-una-rule-b%C3%A1sica\" class=\"anchor\" id=\"ejemplo-de-una-rule-básica\"\u003e\u003c/a\u003eEjemplo de una Rule básica\u003c/h3\u003e\n\u003cp\u003ePuede crearse \u003ccode\u003e.claude/rules/code-style.md\u003c/code\u003e de la siguiente manera.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e# Principios de escritura de código\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e- El nuevo código de la aplicación debe escribirse en TypeScript.\n\u003c/span\u003e\u003cspan\u003e- En las funciones públicas deben explicarse los valores de entrada, los valores de retorno y las condiciones de fallo.\n\u003c/span\u003e\u003cspan\u003e- No se deben eliminar pruebas existentes para ocultar fallos.\n\u003c/span\u003e\u003cspan\u003e- Después de realizar cambios, deben ejecutarse las pruebas relacionadas y la comprobación de tipos.\n\u003c/span\u003e\u003cspan\u003e- Las explicaciones deben escribirse en coreano, pero los identificadores de código deben seguir las convenciones de nomenclatura existentes.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eUna buena Rule puede verificarse. “Escribir código elegante” es menos claro que “ejecutar \u003ccode\u003enpm test\u003c/code\u003e y \u003ccode\u003enpm run typecheck\u003c/code\u003e después de realizar cambios”.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#rule-que-se-aplica-solo-a-rutas-espec%C3%ADficas\" class=\"anchor\" id=\"rule-que-se-aplica-solo-a-rutas-específicas\"\u003e\u003c/a\u003eRule que se aplica solo a rutas específicas\u003c/h3\u003e\n\u003cp\u003eSi las reglas del frontend y del backend son distintas, puede limitarse el alcance mediante \u003ccode\u003epaths\u003c/code\u003e en el YAML front matter.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e---\n\u003c/span\u003e\u003cspan\u003epaths:\n\u003c/span\u003e\u003cspan\u003e  - \"src/api/\u003c/span\u003e\u003cspan\u003e**/\u003c/span\u003e\u003cspan\u003e*.ts\"\n\u003c/span\u003e\u003cspan\u003e  - \"tests/api/\u003c/span\u003e\u003cspan\u003e**/\u003c/span\u003e\u003cspan\u003e*.ts\"\n\u003c/span\u003e\u003cspan\u003e---\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e# Reglas de la API\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e- Todas las entradas de la API deben validarse mediante un esquema.\n\u003c/span\u003e\u003cspan\u003e- Los fallos de autenticación y la falta de permisos deben tratarse como errores diferentes.\n\u003c/span\u003e\u003cspan\u003e- Si se modifica un endpoint, también deben actualizarse las pruebas de API correspondientes.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eLas reglas por ruta reducen el problema de que instrucciones innecesarias ocupen el contexto de todos los trabajos.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#contenido-que-no-debe-incluirse-en-rules\" class=\"anchor\" id=\"contenido-que-no-debe-incluirse-en-rules\"\u003e\u003c/a\u003eContenido que no debe incluirse en Rules\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProcedimientos de migración que se ejecutarán una sola vez\u003c/li\u003e\n\u003cli\u003eRequisitos detallados necesarios únicamente para una incidencia específica\u003c/li\u003e\n\u003cli\u003eInstrucciones absolutas que entren en conflicto entre sí\u003c/li\u003e\n\u003cli\u003eFrases extensas que repitan contenido ya impuesto por el código o la configuración del linter\u003c/li\u003e\n\u003cli\u003eDatos sensibles como contraseñas, claves de API o información de clientes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRules no es un “mecanismo mágico de garantía que siempre se cumple”. Si las instrucciones son ambiguas o contradictorias, los resultados pueden variar, por lo que deben utilizarse conjuntamente medios de verificación deterministas, como pruebas, linters y controles de permisos.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#paso-3-automatizar-procedimientos-repetitivos-con-skills\" class=\"anchor\" id=\"paso-3-automatizar-procedimientos-repetitivos-con-skills\"\u003e\u003c/a\u003ePaso 3: Automatizar procedimientos repetitivos con Skills\u003c/h2\u003e\n\u003cp\u003eUna Skill agrupa una descripción, un procedimiento de trabajo, las herramientas necesarias y materiales auxiliares en una única unidad reutilizable. La estructura básica de una Skill de proyecto es \u003ccode\u003e.claude/skills/\u0026lt;skill-name\u0026gt;/SKILL.md\u003c/code\u003e y, si es necesario, pueden añadirse plantillas o scripts en el mismo directorio.\u003c/p\u003e\n\u003cp\u003eA diferencia de Rules, una Skill se utiliza cuando resulta necesaria para un trabajo específico. Claude puede seleccionarla automáticamente a partir de su descripción, o el usuario puede invocarla explícitamente con el formato \u003ccode\u003e/\u0026lt;skill-name\u0026gt;\u003c/code\u003e. No funciona necesariamente solo de manera manual.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#ejemplo-de-una-skill-para-corregir-incidencias\" class=\"anchor\" id=\"ejemplo-de-una-skill-para-corregir-incidencias\"\u003e\u003c/a\u003eEjemplo de una Skill para corregir incidencias\u003c/h3\u003e\n\u003cp\u003eUn ejemplo de \u003ccode\u003e.claude/skills/fix-issue/SKILL.md\u003c/code\u003e es el siguiente.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e---\n\u003c/span\u003e\u003cspan\u003ename: fix-issue\n\u003c/span\u003e\u003cspan\u003edescription: Reproduce un error, delimita su causa y después realiza una corrección mínima y pruebas de regresión.\n\u003c/span\u003e\u003cspan\u003edisable-model-invocation: true\n\u003c/span\u003e\u003cspan\u003eallowed-tools: Read, Grep, Glob, Edit, Bash(npm test:\u003c/span\u003e\u003cspan\u003e*)\n\u003c/span\u003e\u003cspan\u003e---\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e# Procedimiento para corregir incidencias\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eIncidencia objetivo: $ARGUMENTS\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e1. Investiga el código relacionado y las pruebas existentes.\n\u003c/span\u003e\u003cspan\u003e2. Antes de modificarlo, resume el método de reproducción y el comportamiento esperado.\n\u003c/span\u003e\u003cspan\u003e3. Explica la causa raíz en un párrafo.\n\u003c/span\u003e\u003cspan\u003e4. Aplica la modificación con el menor alcance posible.\n\u003c/span\u003e\u003cspan\u003e5. Añade una prueba de regresión o comprueba que las pruebas existentes verifican el problema.\n\u003c/span\u003e\u003cspan\u003e6. Ejecuta las pruebas permitidas y resume los resultados.\n\u003c/span\u003e\u003cspan\u003e7. Informa de los archivos modificados, los riesgos restantes y los elementos que requieren comprobación manual.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eEsta Skill puede invocarse de la siguiente manera.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e/fix-issue El problema por el que la foto de perfil no se actualiza después de iniciar sesión\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003ccode\u003edisable-model-invocation: true\u003c/code\u003e resulta útil cuando se quiere impedir que Claude ejecute esta Skill por iniciativa propia y limitarla a la invocación directa por parte del usuario. Los campos de front matter compatibles pueden variar según la versión de Claude Code.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#ejemplo-de-una-skill-que-prioriza-el-dise%C3%B1o\" class=\"anchor\" id=\"ejemplo-de-una-skill-que-prioriza-el-diseño\"\u003e\u003c/a\u003eEjemplo de una Skill que prioriza el diseño\u003c/h3\u003e\n\u003cp\u003eSi se quiere que primero se cree un documento de diseño en lugar de empezar a programar de inmediato, puede incluirse en una Skill el siguiente flujo.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eSeparar los requisitos de los aspectos ambiguos.\u003c/li\u003e\n\u003cli\u003eInvestigar la estructura existente y los módulos reutilizables.\u003c/li\u003e\n\u003cli\u003eDiseñar el flujo de datos, las interfaces y las condiciones de fallo.\u003c/li\u003e\n\u003cli\u003eCrear un documento de diseño bajo \u003ccode\u003edocs/design/\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplementar después de comprobar la aprobación del usuario o las condiciones de aprobación especificadas.\u003c/li\u003e\n\u003cli\u003ePresentar las pruebas y el método de reversión.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3\u003e\n\u003ca href=\"#condiciones-de-una-buena-skill\" class=\"anchor\" id=\"condiciones-de-una-buena-skill\"\u003e\u003c/a\u003eCondiciones de una buena Skill\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLa entrada y el resultado final están claros.\u003c/li\u003e\n\u003cli\u003eSe especifican el orden del procedimiento y las condiciones de interrupción.\u003c/li\u003e\n\u003cli\u003eSolo se permiten las herramientas necesarias.\u003c/li\u003e\n\u003cli\u003eLos materiales de referencia extensos se separan en archivos independientes.\u003c/li\u003e\n\u003cli\u003eSi se produce un fallo, se indica que debe informarse de él en lugar de continuar arbitrariamente.\u003c/li\u003e\n\u003cli\u003eUna sola Skill no tiene demasiados objetivos.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eLos trabajos repetitivos con un inicio y un final claros, como la creación de commits, la revisión de código, la comprobación de versiones y el diseño de API, son adecuados para Skills.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#paso-4-separar-funciones-y-contextos-con-agents\" class=\"anchor\" id=\"paso-4-separar-funciones-y-contextos-con-agents\"\u003e\u003c/a\u003ePaso 4: Separar funciones y contextos con Agents\u003c/h2\u003e\n\u003cp\u003eLos subagentes de Claude Code desempeñan una función específica en un contexto separado y devuelven los resultados a la conversación principal. Son útiles cuando no se desea acumular en el contexto principal grandes cantidades de resultados de búsqueda o registros de pruebas.\u003c/p\u003e\n\u003cp\u003eLos agentes del proyecto suelen definirse en \u003ccode\u003e.claude/agents/\u0026lt;agent-name\u0026gt;.md\u003c/code\u003e. Es posible consultar o gestionar los agentes mediante el comando \u003ccode\u003e/agents\u003c/code\u003e, y también puede solicitarse en lenguaje natural que una tarea se delegue en un agente específico.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#ejemplo-de-un-agente-de-revisi%C3%B3n-de-c%C3%B3digo\" class=\"anchor\" id=\"ejemplo-de-un-agente-de-revisión-de-código\"\u003e\u003c/a\u003eEjemplo de un agente de revisión de código\u003c/h3\u003e\n\u003cp\u003ePuede crearse \u003ccode\u003e.claude/agents/code-reviewer.md\u003c/code\u003e de la siguiente manera.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e---\n\u003c/span\u003e\u003cspan\u003ename: code-reviewer\n\u003c/span\u003e\u003cspan\u003edescription: Revisor centrado en la lectura que examina el código modificado para detectar defectos, riesgos de seguridad y pruebas ausentes\n\u003c/span\u003e\u003cspan\u003etools: Read, Grep, Glob, Bash\n\u003c/span\u003e\u003cspan\u003emodel: sonnet\n\u003c/span\u003e\u003cspan\u003e---\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eEres un agente dedicado a la revisión de código.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eRealiza la revisión con el siguiente orden de prioridades.\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003e1. Defectos que puedan provocar fallos reales o pérdida de datos\n\u003c/span\u003e\u003cspan\u003e2. Problemas de seguridad relacionados con la autenticación, los permisos y la validación de entradas\n\u003c/span\u003e\u003cspan\u003e3. Problemas de concurrencia, transacciones y gestión de errores\n\u003c/span\u003e\u003cspan\u003e4. Ausencia de pruebas que verifiquen los requisitos\n\u003c/span\u003e\u003cspan\u003e5. Estructuras que reduzcan considerablemente la mantenibilidad\n\u003c/span\u003e\u003cspan\u003e\n\u003c/span\u003e\u003cspan\u003eCada hallazgo debe incluir la ruta del archivo, el fundamento, las condiciones en las que se produce y la orientación para una corrección mínima.\n\u003c/span\u003e\u003cspan\u003eNo informes como defectos las preferencias de estilo que carezcan de fundamento.\n\u003c/span\u003e\u003cspan\u003eNo modifiques directamente el código; devuelve únicamente los resultados de la revisión.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePuede solicitarse de la siguiente manera.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003ePide al agente code-reviewer que revise los cambios de la rama actual.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003e\n\u003ca href=\"#diferencias-entre-skill-y-agent\" class=\"anchor\" id=\"diferencias-entre-skill-y-agent\"\u003e\u003c/a\u003eDiferencias entre Skill y Agent\u003c/h3\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCriterio\u003c/th\u003e\n\u003cth\u003eRules\u003c/th\u003e\n\u003cth\u003eSkills\u003c/th\u003e\n\u003cth\u003eAgents\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Criterio\"\u003eObjetivo principal\u003c/td\u003e\n\u003ctd data-label=\"Rules\"\u003eProporcionar instrucciones persistentes\u003c/td\u003e\n\u003ctd data-label=\"Skills\"\u003eReutilizar procedimientos repetitivos\u003c/td\u003e\n\u003ctd data-label=\"Agents\"\u003eDelegar trabajos según la función\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Criterio\"\u003eMomento de aplicación\u003c/td\u003e\n\u003ctd data-label=\"Rules\"\u003eSiempre o según condiciones de ruta\u003c/td\u003e\n\u003ctd data-label=\"Skills\"\u003eSelección automática o invocación explícita\u003c/td\u003e\n\u003ctd data-label=\"Agents\"\u003eDelegación de Claude o solicitud del usuario\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Criterio\"\u003eContexto\u003c/td\u003e\n\u003ctd data-label=\"Rules\"\u003eSe incluyen como instrucciones en el trabajo principal\u003c/td\u003e\n\u003ctd data-label=\"Skills\"\u003eSe ejecutan principalmente dentro del flujo de trabajo actual\u003c/td\u003e\n\u003ctd data-label=\"Agents\"\u003eSe ejecutan en un contexto separado y después devuelven los resultados\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Criterio\"\u003eEjemplo representativo\u003c/td\u003e\n\u003ctd data-label=\"Rules\"\u003eEstándares de programación\u003c/td\u003e\n\u003ctd data-label=\"Skills\"\u003eProcedimiento para corregir incidencias\u003c/td\u003e\n\u003ctd data-label=\"Agents\"\u003eRevisor de código\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Criterio\"\u003eUbicación de almacenamiento\u003c/td\u003e\n\u003ctd data-label=\"Rules\"\u003e\u003ccode\u003e.claude/rules/*.md\u003c/code\u003e\u003c/td\u003e\n\u003ctd data-label=\"Skills\"\u003e\u003ccode\u003e.claude/skills/\u0026lt;nombre\u0026gt;/SKILL.md\u003c/code\u003e\u003c/td\u003e\n\u003ctd data-label=\"Agents\"\u003e\u003ccode\u003e.claude/agents/*.md\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch3\u003e\n\u003ca href=\"#agents-y-agent-teams-son-diferentes\" class=\"anchor\" id=\"agents-y-agent-teams-son-diferentes\"\u003e\u003c/a\u003eAgents y Agent Teams son diferentes\u003c/h3\u003e\n\u003cp\u003eEl hecho de que un subagente normal utilice un contexto separado no significa que los agentes puedan conversar libremente entre sí. Por lo general, los subagentes siguen una estructura de delegación en la que realizan la tarea asignada y devuelven los resultados al agente principal. La función Agent Teams, en la que varias sesiones independientes intercambian mensajes entre sí, es una función distinta, y su estado de compatibilidad y sus condiciones de activación deben comprobarse en la documentación oficial.\u003c/p\u003e\n\u003cp\u003eSi se diseña un flujo de trabajo suponiendo que un agente seguirá creando otros agentes en cadena, puede fallar debido a las restricciones de versión o permisos. Es más seguro comenzar con una estructura sencilla en la que el agente principal distribuya el trabajo entre subagentes según sus funciones y sintetice los resultados.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#paso-5-verificar-la-carga-los-permisos-y-la-calidad\" class=\"anchor\" id=\"paso-5-verificar-la-carga-los-permisos-y-la-calidad\"\u003e\u003c/a\u003ePaso 5: Verificar la carga, los permisos y la calidad\u003c/h2\u003e\n\u003cp\u003eNo debe suponerse que los archivos de configuración funcionan según lo previsto solo por haberlos creado. Cada componente debe verificarse por separado mediante tareas pequeñas.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#orden-de-verificaci%C3%B3n-recomendado\" class=\"anchor\" id=\"orden-de-verificación-recomendado\"\u003e\u003c/a\u003eOrden de verificación recomendado\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003eComprobar Rules:\u003c/strong\u003e solicitar tareas tanto para archivos a los que se aplican las reglas como para archivos a los que no se aplican, con el fin de comprobar las condiciones de ruta.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eComprobar Skills:\u003c/strong\u003e invocar explícitamente una Skill y comprobar que funcionan los argumentos de entrada, los resultados y las condiciones de interrupción.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eComprobar Agents:\u003c/strong\u003e asignar tareas de bajo riesgo, como una revisión de solo lectura, y comprobar el formato de los resultados.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eComprobar permisos:\u003c/strong\u003e revisar que las herramientas con capacidad de realizar cambios, como Bash y Edit, solo se hayan concedido a las configuraciones que realmente las necesiten.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVerificación automática:\u003c/strong\u003e comprobar de manera independiente los resultados de la IA mediante pruebas, comprobaciones de tipos, linters y análisis de seguridad.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3\u003e\n\u003ca href=\"#elementos-que-deben-comprobarse-en-caso-de-fallo\" class=\"anchor\" id=\"elementos-que-deben-comprobarse-en-caso-de-fallo\"\u003e\u003c/a\u003eElementos que deben comprobarse en caso de fallo\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e¿Se encuentra \u003ccode\u003e.claude\u003c/code\u003e en la raíz real del proyecto?\u003c/li\u003e\n\u003cli\u003e¿El nombre del archivo de la Skill es exactamente \u003ccode\u003eSKILL.md\u003c/code\u003e?\u003c/li\u003e\n\u003cli\u003e¿La Skill tiene la estructura \u003ccode\u003e.claude/skills/\u0026lt;nombre\u0026gt;/SKILL.md\u003c/code\u003e?\u003c/li\u003e\n\u003cli\u003e¿El archivo del Agent es un archivo Markdown situado directamente bajo \u003ccode\u003e.claude/agents\u003c/code\u003e?\u003c/li\u003e\n\u003cli\u003e¿El inicio y el final del YAML front matter están delimitados con \u003ccode\u003e---\u003c/code\u003e?\u003c/li\u003e\n\u003cli\u003e¿\u003ccode\u003ename\u003c/code\u003e y \u003ccode\u003edescription\u003c/code\u003e son lo bastante específicos como para diferenciar el trabajo?\u003c/li\u003e\n\u003cli\u003e¿Los patrones de ruta coinciden con la estructura real del proyecto?\u003c/li\u003e\n\u003cli\u003e¿La versión instalada de Claude Code admite los metadatos utilizados?\u003c/li\u003e\n\u003cli\u003e¿Los permisos de las herramientas o las políticas de la organización están bloqueando la ejecución?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#por-qu%C3%A9-deben-dise%C3%B1arse-conjuntamente-el-presupuesto-de-contexto-y-la-seguridad\" class=\"anchor\" id=\"por-qué-deben-diseñarse-conjuntamente-el-presupuesto-de-contexto-y-la-seguridad\"\u003e\u003c/a\u003ePor qué deben diseñarse conjuntamente el presupuesto de contexto y la seguridad\u003c/h2\u003e\n\u003cp\u003eEl propósito de Rules, Skills y Agents no consiste únicamente en añadir funciones. También son \u003cstrong\u003emedios de ingeniería de contexto\u003c/strong\u003e que permiten controlar qué información se incorpora al contexto y en qué momento.\u003c/p\u003e\n\u003cp\u003eSi las reglas son demasiado extensas, instrucciones ajenas al trabajo actual ocuparán el contexto y aumentará la posibilidad de conflictos. Por el contrario, si la exploración y el análisis de registros se asignan a subagentes, en la conversación principal pueden conservarse únicamente las conclusiones y sus fundamentos.\u003c/p\u003e\n\u003cp\u003eDesde el punto de vista de la seguridad, son importantes los siguientes principios.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRevisar Rules y Skills igual que cualquier otro código del repositorio.\u003c/li\u003e\n\u003cli\u003eLeer antes de ejecutar los archivos de Agent o Skill recibidos de fuentes externas.\u003c/li\u003e\n\u003cli\u003eMinimizar los permisos para ejecutar comandos del shell, acceder a la red y modificar archivos.\u003c/li\u003e\n\u003cli\u003eNo confiar automáticamente en los comandos incluidos en la entrada del usuario o en el contenido de una incidencia.\u003c/li\u003e\n\u003cli\u003eIncluir una etapa de aprobación humana para despliegues, eliminaciones, pagos y migraciones de datos.\u003c/li\u003e\n\u003cli\u003eNo almacenar información secreta en archivos de prompts; utilizar un sistema independiente de gestión de secretos.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#qu%C3%A9-funci%C3%B3n-debe-elegirse\" class=\"anchor\" id=\"qué-función-debe-elegirse\"\u003e\u003c/a\u003eQué función debe elegirse\u003c/h2\u003e\n\u003cp\u003ePuede decidirse rápidamente mediante las siguientes preguntas.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e¿Deben seguirla todos los trabajos relacionados? → \u003cstrong\u003eRule\u003c/strong\u003e\n\u003c/li\u003e\n\u003cli\u003e¿Es un procedimiento repetitivo con un inicio y un final? → \u003cstrong\u003eSkill\u003c/strong\u003e\n\u003c/li\u003e\n\u003cli\u003e¿Se necesitan una función separada y un contexto independiente? → \u003cstrong\u003eAgent\u003c/strong\u003e\n\u003c/li\u003e\n\u003cli\u003e¿Debe ejecutarse un comando determinista antes o después de un evento específico? → \u003cstrong\u003eConsiderar un Hook\u003c/strong\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePor ejemplo, “usar TypeScript” es una Rule, mientras que “realizar desde la reproducción del error hasta las pruebas de regresión” es una Skill. “Leer los cambios e informar únicamente de los defectos de seguridad” es apropiado para un Agent. Para acciones vinculadas a un evento específico, como ejecutar obligatoriamente un formateador después de editar un archivo, Hooks puede resultar más adecuado.\u003c/p\u003e\n\u003cp\u003eLa configuración más estable consiste en combinar las tres funciones en lugar de considerarlas competidoras. Rule proporciona criterios comunes, Skill ejecuta procedimientos estándar y Agent separa los trabajos con un contexto amplio, como la investigación y la revisión; después, las pruebas y Hooks complementan la verificación determinista.\u003c/p\u003e\n","tags":["Ingeniería de contexto","Claude Code","Programación con IA","Habilidades de agentes","Agente de programación"],"faqs":[{"question":"¿Es imprescindible la carpeta `.claude` en Claude Code?","answer":"Se utiliza para gestionar los Rules, Skills y Agents del proyecto con una estructura estándar, pero no es imprescindible para todas las instrucciones. Las instrucciones del proyecto también pueden colocarse en `CLAUDE.md` en la raíz o en `.claude/CLAUDE.md`, y la configuración personal puede gestionarse en `~/.claude`."},{"question":"¿Cuál es la diferencia entre los Rules y `CLAUDE.md`?","answer":"`CLAUDE.md` es adecuado para proporcionar las instrucciones principales del proyecto en un único documento. `.claude/rules` facilita la separación de archivos por tema y la aplicación de condiciones según la ruta, por lo que ayuda a modularizar las reglas a medida que crece el proyecto."},{"question":"¿El nombre del archivo de un Skill es `skill.md` o `SKILL.md`?","answer":"El nombre del archivo de entrada conforme a la estructura oficial de Agent Skills es `SKILL.md`, en mayúsculas. Lo más seguro es colocar un Skill del proyecto en `.claude/skills/\u003cskill-name\u003e/SKILL.md`; en los sistemas operativos que distinguen entre mayúsculas y minúsculas, `skill.md` se trata como un archivo diferente."},{"question":"¿Un Skill de Claude Code solo se ejecuta cuando lo invoca el usuario?","answer":"No siempre. Claude puede seleccionar automáticamente un Skill para una tarea adecuada basándose en su descripción, y el usuario también puede invocarlo mediante `/\u003cskill-name\u003e`. Si es necesario impedir la invocación automática, se puede considerar la opción `disable-model-invocation` en las versiones compatibles."},{"question":"¿Qué debería usar, un Skill o un Agent?","answer":"Un Skill es adecuado para ejecutar procedimientos repetitivos dentro del flujo de trabajo actual. Si se requieren una función independiente y un contexto aislado, como en investigaciones a gran escala, análisis de pruebas o revisiones de código, un Agent es adecuado. El contenido que deba aplicarse de forma continua, como los estándares comunes de programación, debe separarse en un Rule."},{"question":"¿Los subagentes pueden comunicarse directamente entre sí o invocar a otros agentes?","answer":"Los subagentes habituales de Claude Code trabajan en contextos separados y después devuelven los resultados al agente principal. La colaboración directa entre varias sesiones independientes debe distinguirse de la función Agent Teams, y es necesario comprobar su compatibilidad y sus limitaciones en la versión utilizada."},{"question":"Si se crean Rules, ¿Claude siempre seguirá las instrucciones a la perfección?","answer":"No. Los Rules son instrucciones que se proporcionan de forma continua, pero no constituyen un mecanismo de imposición determinante. Pueden omitirse debido a conflictos o ambigüedades en las instrucciones, por lo que deben utilizarse junto con linters, comprobaciones de tipos, pruebas, Hooks y revisiones de código."},{"question":"¿Es seguro usar directamente un Skill o un Agent obtenido de una fuente externa?","answer":"Es mejor no ejecutarlo de inmediato. Primero se deben revisar las instrucciones, los comandos de shell, las herramientas permitidas y el alcance del acceso a la red y a los archivos incluidos en el archivo, y probarlo con los mínimos privilegios. También debe comprobarse que no contenga nada que induzca a transmitir información secreta o a realizar cambios peligrosos en los archivos."}],"sources":[{"url":"https://code.claude.com/docs/en/memory","title":"Documentación de Claude Code: Gestionar la memoria de Claude","type":"source"},{"url":"https://code.claude.com/docs/en/skills","title":"Documentación de Claude Code: Ampliar Claude con habilidades","type":"source"},{"url":"https://code.claude.com/docs/en/sub-agents","title":"Documentación de Claude Code: Crear subagentes personalizados","type":"source"},{"url":"https://code.claude.com/docs/en/settings","title":"Documentación de Claude Code: Configuración de Claude Code","type":"source"}],"images":[{"id":767,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6OTgyOSwicHVyIjoiYmxvYl9pZCJ9fQ==--8ba3d33d24232863ea1d744998bca1e2dbb088c6/ai-7c680af1.webp","is_representative":true,"generation_method":"ai_photo","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"책상에서 노트북의 개발 워크플로 대시보드를 살펴보는 사람","caption":"개발자가 노트북에서 프로젝트 파일과 자동화 작업 상태를 확인하고 있다.","description":null},"en":{"alt":"Person viewing a development workflow dashboard on a laptop at a desk","caption":"A developer reviews project files and automation task statuses on a laptop.","description":null},"ja":{"alt":"デスクでノートパソコンの開発ワークフローダッシュボードを見る人","caption":"開発者がノートパソコンでプロジェクトファイルと自動化タスクの状態を確認している。","description":null},"es":{"alt":"Persona viendo un panel de flujo de desarrollo en un portátil sobre un escritorio","caption":"Un desarrollador revisa archivos del proyecto y estados de tareas automatizadas en un portátil.","description":null},"id":{"alt":"Seseorang melihat dasbor alur kerja pengembangan di laptop pada meja","caption":"Seorang pengembang memeriksa berkas proyek dan status tugas otomatis di laptop.","description":null},"pt":{"alt":"Pessoa visualizando um painel de fluxo de desenvolvimento em um notebook","caption":"Um desenvolvedor verifica arquivos do projeto e o status de tarefas automatizadas no notebook.","description":null},"zh-hant":{"alt":"坐在書桌前查看筆電開發工作流程儀表板的人","caption":"開發者正在筆電上檢查專案檔案與自動化任務狀態。","description":null},"de":{"alt":"Person betrachtet ein Dashboard für Entwicklungsabläufe auf einem Laptop am Schreibtisch","caption":"Ein Entwickler prüft Projektdateien und den Status automatisierter Aufgaben auf einem Laptop.","description":null}}},{"id":768,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6OTgzNSwicHVyIjoiYmxvYl9pZCJ9fQ==--458d876e5a3cb0d4581f0909c6198e47789eda8b/ai-54d6eb4e.webp","is_representative":false,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"폴더, 필터, 자동화 단계, AI 작업 공간, 보안 및 검증 흐름을 연결한 워크플로 다이어그램","caption":"규칙과 자동화 단계가 보안 계층을 거쳐 테스트와 검증으로 이어지는 구조를 보여준다.","description":null},"en":{"alt":"Workflow diagram linking folders, filters, automation steps, an AI workspace, security, and validation","caption":"Rules and automated steps flow through a security layer into testing and validation.","description":null},"ja":{"alt":"フォルダー、フィルター、自動化工程、AI作業環境、セキュリティ、検証を結ぶワークフロー図","caption":"ルールと自動化工程がセキュリティ層を経てテストと検証へ進む構成を示している。","description":null},"es":{"alt":"Diagrama de flujo con carpetas, filtros, automatización, espacio de IA, seguridad y validación","caption":"Las reglas y los pasos automatizados pasan por una capa de seguridad hasta las pruebas y la validación.","description":null},"id":{"alt":"Diagram alur folder, filter, tahap otomatisasi, ruang kerja AI, keamanan, dan validasi","caption":"Aturan dan tahapan otomatis mengalir melalui lapisan keamanan menuju pengujian dan validasi.","description":null},"pt":{"alt":"Diagrama de fluxo com pastas, filtros, automação, ambiente de IA, segurança e validação","caption":"Regras e etapas automatizadas passam por uma camada de segurança até os testes e a validação.","description":null},"zh-hant":{"alt":"連結資料夾、篩選器、自動化步驟、AI 工作區、安全與驗證的流程圖","caption":"規則與自動化步驟經過安全層後，進入測試與驗證流程。","description":null},"de":{"alt":"Workflow mit Ordnern, Filtern, Automatisierung, KI-Arbeitsplatz, Sicherheit und Validierung","caption":"Regeln und automatisierte Schritte führen über eine Sicherheitsebene zu Tests und Validierung.","description":null}}}],"published_at":"2026-08-19T16:14:05+09:00","updated_at":"2026-08-19T16:14:05+09:00","license":"cc_by","translation_status":"reviewed","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant","de"],"url":"https://injoys.com/es/articles/claude-code-rules-skills-agents-guide"}