PTENES
MÓDULO 3.2

🛠️ Personalización de skills

Toma una skill y hazla tuya.

9
Secciones
45
Minutos
Intermedio
Nivel
Práctico
Tipo
1

🎯 Por qué personalizar

Una skill instalada directamente desde el repositorio público ya funciona — pero funciona de forma genérica. No conoce a tu cliente, tu vocabulario, tu stack ni tus reglas de compliance. El salto de calidad entre una skill buena y es una skill excelente está en una capa fina: el dominio que inyectas en ella.

Personalizar una skill no es rehacerla. Es tomar una base que ya resuelve el problema genérico (revisar código, generar documentación, planificar una funcionalidad) y agregar las 5–10 preguntas, 3 términos técnicos y 2 reglas de negocio que transforman la skill en una colega de equipo que habla el idioma de tu empresa.

💡 Consejo práctico

Una skill genérica se vuelve excelente cuando la cargas con el vocabulario de tu dominio. Ej.: la skill code-review la genérica encuentra errores de lógica; la versión personalizada para un equipo fiscal también encuentra "está calculando el ICMS sin considerar la sustitución tributaria". La misma estructura, un contexto nuevo, un valor 10x.

✓ Skill adaptada a tu dominio

  • ✓ Conoce los términos de la empresa (siglas, productos, equipos)
  • ✓ Hace preguntas específicas sobre tu negocio
  • ✓ El trigger se activa en los contextos adecuados
  • ✓ Reutiliza la lógica y el workflow del upstream
  • ✓ Mantiene las actualizaciones de la comunidad cuando quieras

✗ Skill lista para usar

  • ✗ Hace preguntas genéricas que ya respondiste
  • ✗ No reconoce los términos de tu dominio
  • ✗ El trigger se activa en contextos equivocados (o nunca se activa)
  • ✗ El resultado requiere mucha corrección manual después
  • ✗ Puede entrar en conflicto con las reglas internas (compliance)
2

🔍 Anatomía detallada de una SKILL.md

Antes de personalizar, necesitas ver la anatomía. Toda skill tiene 3 capas: el frontmatter YAML (metadatos de activación), el cuerpo en Markdown (instrucciones para el agente) y, opcionalmente, archivos de referencia en references/. La mayoría de las personalizaciones ocurre en las dos primeras.

📄 SKILL.md completo (modelo de referencia)

---
name: minha-skill
description: Use when X happens. Triggers: keyword1, keyword2.
---

# Skill Body

## When to use

Descreva os cenarios onde o agente DEVE carregar esta skill.
Inclua exemplos de frases do usuario que devem ativar.

## Workflow

1. Read the relevant project files
2. Ask the domain-specific questions in references/QUESTIONS.md
3. Produce the output document at docs/output.md
4. Validate against the checklist in references/CHECKLIST.md

## Output format

Sempre devolva um resumo em 3 bullets + caminho do arquivo gerado.

Cada parte tiene un papel diferente:

⚠️ El campo que lo decide todo

O description es el disparador. Si es vago, tu skill nunca se activará, aunque tenga un workflow brillante. Antes de personalizar el workflow, personaliza description. Es la puerta de entrada.

3

🎣 Triggers y descriptions eficaces

La description ideal tiene 3 partes: cuándo activar (escenario en prosa), disparadores explícitos (palabras clave) y, opcionalmente, contraindicaciones (cuándo NO activar). Este formato reduce drásticamente los falsos positivos y los falsos negativos.

✗ Descripción vaga

"Ayuda con código"

Activa en cualquier conversación sobre programación. Resultado: skill cargada todo el tiempo, sin enfoque. El agente no sabe cuándo es realmente útil.

✓ Descripción específica

"Úsalo para depurar bugs intermitentes en pipelines async. Triggers: race condition, flaky test, retry storm, intermitente."

Se activa solo cuando el problema es de este tipo. El agente carga skills enfocadas y el ruido disminuye.

🔧 3 antes/después reales

# Exemplo 1 — Skill de revisao de PR
description: Revisa pull requests
description: Use ao revisar PRs em monorepo TypeScript com Turborepo.
Triggers: revisar PR, code review, analisar diff, checar mudancas.
NAO usar para revisao de docs ou changelog.

# Exemplo 2 — Skill de migration SQL
description: Cria migrations de banco
description: Use ao criar/ajustar migrations Postgres com Prisma
em ambiente multi-tenant. Triggers: migration, alter table,
adicionar coluna, schema change, prisma migrate.

# Exemplo 3 — Skill de checklist de compliance
description: Ajuda com compliance
description: Use antes de fazer deploy em ambiente que processa
dados de cartao (PCI-DSS). Triggers: deploy, release, producao,
pagamento, cartao, PCI. Bloqueia o deploy se faltar item.

Observa el patrón: cada description se convirtió en una frase + lista de activadores + bloqueo opcional. Este es el formato que el agente usa mejor para decidir cuándo activarse.

4

✏️ Editando templates internos

Se carga demasiada skill templates: archivos en references/ o templates/ con preguntas, listas de control o modelos de documentos. Personalizar una skill generalmente significa editar estos archivos, no el archivo SKILL.md en sí.

Ejemplo: la skill /grill-with-docs usa un archivo QUESTIONS.md con preguntas genéricas para cuestionar tu plan. Para un equipo que trabaja con regulación fiscal brasileña, estas preguntas son insuficientes. Tú agrega las preguntas del dominio fiscal sin tocar el resto.

📝 Editando references/QUESTIONS.md

# QUESTIONS.md (template original)

## Architecture
- Por que essa solucao e nao outra?
- Quais alternativas voce considerou?
- O que acontece se a carga 10x?

## Data
- Como esses dados sao persistidos?
- Qual o owner do schema?

## Fiscal (BR) — adicionado pelo time
- Esta operacao gera fato gerador de ICMS?
- Tem substituicao tributaria (ICMS-ST) envolvida?
- Estado de origem e destino sao os mesmos? Se nao,
  qual a aliquota interestadual aplicavel?
- O CFOP escolhido bate com a natureza da operacao?
- Existe regime especial (Simples, MEI, Lucro Real)
  que muda o calculo?
- Como o XML da NFe vai refletir essa mudanca?

Observa que tú agrega, no elimina. Mantiene lo que viene del upstream (buenas prácticas generales de arquitectura y datos) y inyecta el conocimiento del dominio. Así, cuando el equipo fiscal usa /grill-with-docs, recibe un interrogatorio que cubre tanto arquitectura general cuánto reglas fiscales brasileñas.

📊 Dónde editar

  • references/*.md — Preguntas, listas de verificación, diccionarios de términos.
  • templates/*.md — Modelos de documentos que completa la skill.
  • SKILL.md (flujo de trabajo) — Edita solo si cambió la secuencia de pasos.
  • SKILL.md (descripción) — Edita SIEMPRE al agregar nuevos triggers de dominio.
5

🍴 Forks vs overrides locales

Dos estrategias dominan en el mundo real: hacer fork de todo el repo de skills (te conviertes en responsable de todo) o override local en ~/.claude/skills/ (tú mantienes limpio el upstream y sobrescribes solo lo que necesitas). Cada una tiene un trade-off claro.

✓ Fork del repo completo

  • ✓Control total: puede cambiar cualquier skill
  • ✓Versionado único, historial claro
  • ✓Bueno para equipos grandes (CI valida todo)
  • ✗Actualizar con upstream es un trabajo recurrente
  • ✗Los conflictos de merge pueden acumularse

✓ Override local en ~/.claude/skills/

  • ✓Upstream sigue actualizándose por sí solo
  • ✓Versionas solo lo que personalizaste
  • ✓Excelente para una persona o un equipo pequeño
  • ✗El override puede entrar en conflicto cuando upstream cambia la estructura
  • ✗Compartir entre máquinas requiere sincronización manual o un repo paralelo

La elección casi nunca es binaria: es un camino de decisión según cuántas skills cambies y qué tan importante sea mantener la sincronización con la comunidad.

1

¿Personalizas 1–3 skills?

Caso individual o de equipo pequeño

Usa override local. Copia la SKILL.md a ~/.claude/skills/nome-skill/ y edita. Upstream sigue independiente.

2

¿Personalizas 5+ skills y tienes un equipo?

El intercambio y la estandarización son importantes

Fork del repo + repositorio interno. Todo el equipo usa la misma versión personalizada. CI ejecuta controles de calidad.

3

¿Necesitas actualizaciones frecuentes del upstream?

La comunidad hace evolucionar rápidamente la base

Usa override local con git pull regular en el upstream. El override absorbe solo lo que cambiaste; el resto se actualiza automáticamente.

4

¿Cambiaste todo el workflow?

La skill se convirtió en otra cosa

Considera crear una skill nueva (módulo 3.3). La personalización tiene un límite: cuando el flujo de trabajo cambia mucho, es más claro crear una skill propia.

6

🌿 Versionado con git

Personalizar sin control de versiones es una pérdida de tiempo. En algún momento querrás volver atrás, comparar versiones o compartir con el equipo. La práctica que mejor funciona: rama separada para personalizaciones + rebase periódico con upstream.

⚙️ Setup inicial — flujo completo

# 1. Clone o repo de skills (publico ou fork do time)
git clone https://github.com/seu-org/skills.git
cd skills

# 2. Crie um branch para suas customizacoes do dominio
git checkout -b custom/fiscal-br

# 3. Customize as skills (edite SKILL.md, references/, etc)
$EDITOR grill-with-docs/references/QUESTIONS.md

# 4. Commit com mensagem que explica O QUE de dominio mudou
git add grill-with-docs/
git commit -m "grill-with-docs: adiciona perguntas fiscais BR (ICMS-ST, CFOP)"

# 5. Periodicamente, pegue updates do upstream
git fetch origin main
git rebase origin/main

# 6. Se houver conflito, resolva preservando seu dominio
#    Em geral conflitos sao em paragrafos de exemplo,
#    nao em estrutura — facil de resolver.

# 7. Empurre para o seu fork ou repo do time
git push origin custom/fiscal-br --force-with-lease

Tres reglas que evitan problemas:

7

🧪 Ejemplo completo: personalizando /grill-with-docs

Vamos a juntar todo en un caso real. Eres tech lead en una fintech brasileña. La skill /grill-with-docs de context-mode hace un buen interrogatorio durante la planificación antes de programar, pero no conoce el cumplimiento fiscal. Vamos a personalizarlo paso a paso.

1

Copia la skill al override local

Traemos la estructura completa a ~/.claude/skills/ renombrando para aislar la versión fiscal.

2

Agrega la sección «Domain Questions»

En references/QUESTIONS.md, añade el bloque fiscal sin eliminar nada de lo genérico.

3

Actualiza la descripción con disparadores fiscales

En SKILL.md, incluye palabras clave del dominio (ICMS, CFOP, NFe) para una activación correcta.

4

Prueba y versiona

Ejecuta en un plan real, confirma que el agente haga las preguntas fiscales y haz commit en el branch custom/fiscal-br.

📂 Diff completo de la personalización

# Passo 1: copia para override local
mkdir -p ~/.claude/skills/grill-with-docs-fiscal
cp -r ./grill-with-docs/* ~/.claude/skills/grill-with-docs-fiscal/

# Passo 2: SKILL.md — antes e depois
---
name: grill-with-docs-fiscal
description: Grilling session that challenges your plan
  against the existing domain model.
description: Grilling session that challenges your plan
  against the domain model AND Brazilian fiscal rules.
  Triggers: grill, desafiar plano, plano fiscal, ICMS,
  ICMS-ST, CFOP, NFe, substituicao tributaria, fiscal BR.
  NAO usar para revisao puramente de UI/frontend.
---

# Passo 3: references/QUESTIONS.md — adiciona secao
## Domain Questions — Fiscal BR

### Operacao
- Esta operacao gera fato gerador de ICMS?
- Tem ICMS-ST (substituicao tributaria)?
- Existe DIFAL entre estados envolvidos?
- O CFOP escolhido bate com a natureza da operacao?

### Regime
- Cliente esta em Simples Nacional, Lucro Real ou Presumido?
- Tem regime especial (RETID, Reintegra, Zona Franca)?

### Documento fiscal
- Como NFe vai refletir a mudanca?
- Precisa de carta de correcao para historico?
- Vai impactar SPED Fiscal ou EFD-Contribuicoes?

### Compliance
- A regra esta no nosso parecer juridico fiscal vigente?
- Quem é o owner contabil para validar?

# Passo 4: commit no branch de customizacoes
cd ~/skills-fork
git checkout -b custom/fiscal-br
git add grill-with-docs-fiscal/
git commit -m "grill-with-docs-fiscal: customiza com regras fiscais BR

- adiciona triggers ICMS, ICMS-ST, CFOP, NFe
- adiciona secao Domain Questions com 15 perguntas fiscais
- mantem questoes genericas de arquitetura do upstream"

Resultado: cuando tú o alguien del equipo ejecuta /grill-with-docs-fiscal en un plan que implica emitir NFe, el agente pasa por las 15 preguntas fiscales además de las genéricas. El plan que sale de ahí ya consideró la sustitución tributaria, DIFAL y SPED, algo que la skill genérica nunca te preguntaría.

8

👥 Compartir personalizaciones con el equipo

La personalización individual es buena; la personalización compartida es un multiplicador. Cuando todo el equipo usa la misma versión personalizada de las skills, las decisiones son coherentes: todos los PR se revisan con el mismo rigor y todos los planes pasan por el mismo interrogatorio.

✓ Monorepo de skills del equipo

  • ✓Una fuente de verdad, con control de versiones
  • ✓CI valida la estructura (frontmatter, secciones obligatorias)
  • ✓Nuevo onboarding: git clone y listo
  • ✓Las revisiones de PR garantizan la calidad de la skill
  • ✓Todo el equipo piensa igual en áreas críticas

✗ Cada quien en su máquina

  • ✗Drift: cada dev tiene una versión ligeramente diferente
  • ✗El conocimiento queda atrapado en la máquina de quien personalizó
  • ✗Onboarding: el nuevo desarrollador no hereda nada
  • ✗Sin CI, sin revisión, sin calidad garantizada
  • ✗Las decisiones del agente varían entre desarrolladores (mismo plan, preguntas diferentes)

🔄 Sincronización en el monorepo del equipo

# Repo: github.com/empresa/skills-team

# Dev novo: instala todas as skills do time
git clone git@github.com:empresa/skills-team.git ~/.claude/skills

# Dev existente: pega atualizacoes
cd ~/.claude/skills
git pull origin main

# Customizou algo? Manda PR para o monorepo do time
git checkout -b feat/grill-fiscal-novas-perguntas
$EDITOR grill-with-docs-fiscal/references/QUESTIONS.md
git commit -m "grill-fiscal: 3 perguntas sobre EFD-Reinf"
git push origin feat/grill-fiscal-novas-perguntas
gh pr create --fill

Este flujo convierte cada mejora individual en un activo del equipo. Cuando alguien descubre que falta una pregunta importante, es un PR — no un archivo en su máquina que nadie más va a usar.

9

🤔 Cuándo crear una skill nueva y cuándo personalizarla

No todas las necesidades requieren personalización. A veces lo que necesitas es una skill nueva — el workflow es tan diferente que extender uno existente resulta peor que empezar desde cero. Cuatro preguntas resuelven esa duda.

🧭 Las 4 preguntas

  1. ¿El workflow (secuencia de pasos) es el mismo? Si sí → personalizar. Si el flujo de ejecución cambia por completo → una skill nueva.
  2. ¿El output final tiene el mismo formato? Si sí → personalizar. Si estás generando un artefacto diferente (código vs. documento vs. json) → una skill nueva.
  3. ¿Los triggers se superponen con la skill base? Si sí → personalizar (mismo trigger, más contexto). Si son triggers totalmente nuevos → una skill nueva.
  4. ¿Estás agregando <30% de contenido? Si sí → personalizar. Si vas a reescribir la mitad del SKILL.md → una skill nueva (queda más limpio).

Regla práctica: 3+ "skill nueva" en las respuestas = deja de personalizar y crea desde cero. Vas a sufrir menos a largo plazo.

10

🏋️ Ejercicio práctico

Es hora de ponerse manos a la obra. El ejercicio es sencillo y breve, pero es lo que distingue a quien solo leyó de quien realmente aprendió a personalizar.

📝 Paso a paso

  1. Elige 1 skill que usas al menos 1x por semana.
  2. Identifica 1 punto donde ella "no conoce tu dominio": una pregunta demasiado genérica, un trigger que toma el contexto equivocado o una plantilla sin términos de tu trabajo.
  3. Copiar el SKILL.md para ~/.claude/skills/.
  4. Personaliza el punto que identificaste (description, references/* o workflow).
  5. Documenta el antes y el después: copia y pega el texto antiguo, copia y pega el nuevo y describe en 2 frases qué mejoró.
  6. Usa la versión nueva por 1 semana. Si ayudó, haz commit y compártela. Si no, ajústala o vuelve a la original.

💡 Dónde suele estar el punto débil

En la gran mayoría de los casos, el punto que «no conoce tu dominio» es una pregunta genérica en references/. Empieza por ahí antes de tocar el workflow.

📌 Resumen del módulo

✓
Una skill genérica se vuelve excelente con vocabulario del dominio — agregar 5–10 preguntas adecuadas vale más que reescribir el workflow.
✓
La description decide la activación — invierte en ella antes de personalizar cualquier otra cosa.
✓
Edita las plantillas en references/, no la SKILL.md — es donde vive el conocimiento del dominio.
✓
Fork vs. override local: una disyuntiva clara — 1–3 skills = override; 5+ o un equipo = fork.
✓
Versiona con una rama separada y rebase — historial lineal, rollback económico, conflictos poco frecuentes.
✓
Compártelo en el monorepo del equipo — la personalización individual está bien; la personalización del equipo es un multiplicador.
✓
Saber cuándo dejar de personalizar — 3+ respuestas "skill nueva" en las 4 preguntas = créala desde cero.

Siguiente módulo:

3.3 — Creando skills desde cero