Mi setup de Claude Code sanitizado y compartible. Pensado para quien ya usa Claude Code todos los días y quiere ver cómo otro lo organiza: instrucciones globales, skills custom, hooks que automatizan disciplinas (root-cause, interop, autoría), un sistema de memoria persistente en Obsidian, y wrappers para delegar a Copilot CLI / Cursor CLI / una segunda cuenta de Claude.
Esto es una guía, no un instalador. Copiá lo que te sirva, adaptá los paths, ignorá lo que no aplique a tu workflow.
⚠️ Sin datos personales ni credenciales. Nombres de proyectos, PATs, tokens, paths de empresa, IPs — todo reemplazado con placeholders.
| Pieza | Para qué sirve |
|---|---|
| Global CLAUDE.md | Reglas que aplican en toda sesión: tono, autoría en git, criterio de delegación, brain protocol. |
| 6 skills custom | Disciplinas reusables que Claude carga sola cuando aplican (root-cause-checker, interoperability-check, task-tracker, build, etc.). |
| 7 hooks | Inyectan contexto o bloquean tool calls en momentos clave del ciclo de sesión. |
| Wrapper multi-agente | dispatch-agent.ps1 — un solo entry point para Copilot CLI, Cursor CLI y una segunda cuenta de Claude Code, con todos los gotchas de Windows resueltos. |
| Brain system | Cómo armar una memoria persistente en un vault de Obsidian con un solo curador (Claude) y proposals desde los otros agentes. |
| Plantillas | AGENTS.md por repo, CLAUDE.md por proyecto, estructura inicial del vault. |
┌──────────────────────────────────────────────────────────────────┐
│ Claude Code (main) │
│ ┌────────────────────────┐ ┌──────────────────────────────┐ │
│ │ Global CLAUDE.md │ │ Skills custom │ │
│ │ - tono, autoría │ │ - root-cause-checker │ │
│ │ - brain protocol │ │ - interop-check │ │
│ │ - criterio delegación │ │ - task-tracker, ... │ │
│ └────────────────────────┘ └──────────────────────────────┘ │
│ ▲ ▲ │
│ │ │ recordatorios │
│ ┌──────────┴────────────────────────────────────────────────┐ │
│ │ Hooks (.ps1) │ │
│ │ SessionStart → carga context.md + tasks/ del proyecto │ │
│ │ PreToolUse → bloquea autoría AI, recuerda skills │ │
│ │ PostToolUse → detecta brain-proposals, actualiza PRs │ │
│ └────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘
│ ▲
│ delega vía │ propone vía
│ dispatch-agent.ps1 │ `## brain-proposal` en stdout
▼ │
┌──────────────────────────────────────────────────────────────────┐
│ copilot CLI · cursor CLI · claude2 (acc2 headless) │
└──────────────────────────────────────────────────────────────────┘
│ │
│ lectura (--add-dir) │ escritura (solo Claude main)
▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ Brain vault (Obsidian) │
│ projects/<x>/context.md · decisions.md · tasks/<id>.md │
│ knowledge/{solutions,patterns}.md · user/preferences.md │
└──────────────────────────────────────────────────────────────────┘
Si solo vas a leer una cosa: global/CLAUDE.md. Ahí está el core.
Si querés entender el sistema completo, en este orden:
global/CLAUDE.md— reglas globales: brain, delegación, autoría git.brain/README.md— qué guarda y cuándo. La parte que más impacta uso diario.agents/README.md— por qué tres CLIs distintos. Los antipatrones a evitar.skills/README.md— las 6 skills custom (cargan solas cuando aplican).hooks/README.md— los 7 hooks y cómo encajan con las skills.
Si venís a copiar archivos puntuales:
| Querés... | Andá a |
|---|---|
El template del settings.json con hooks declarados |
global/settings.json |
| Un hook específico para tu setup | hooks/ |
| El wrapper para delegar a Copilot/Cursor en Windows | scripts/dispatch-agent.ps1 |
| Una skill como punto de partida | skills/root-cause-checker/SKILL.md (la más completa) |
Plantilla de AGENTS.md para tus repos |
templates/AGENTS.md |
| Cómo inicializar el vault de Obsidian | templates/brain-vault-structure.md |
| MCP servers de ejemplo (Postgres, GitHub) | mcp/mcp.template.json |
ia-setup/
├── global/ CLAUDE.md y settings.json
├── skills/ 6 SKILL.md custom (apply-brain-proposals, build,
│ interop-check, root-cause-checker, task-tracker,
│ using-copilot-cli)
├── commands/ /copilot slash command
├── hooks/ 7 hooks .ps1 + README
├── scripts/ dispatch-agent.ps1 + helpers + profile functions
├── mcp/ mcp.template.json (Postgres, GitHub) + README
├── brain/ README del sistema de memoria en Obsidian
├── agents/ README de orquestación multi-agente
└── templates/ AGENTS.md, project-CLAUDE.md, brain-vault-structure.md
Las decisiones de diseño que más se sienten en el día a día:
- Un solo curador del brain. Solo Claude Code escribe al vault. Los otros agentes proponen vía bloques
## brain-proposalen stdout; Claude evalúa contra un rubric y aplica si califica. Sin esto, en una semana el brain tiene 40 notas duplicadas mal categorizadas. - Hooks como recordatorios, skills como disciplina. Los hooks no bloquean (excepto el de atribución AI) — inyectan contexto en el momento justo. Las skills definen el "cómo" detallado de cada disciplina.
- Multi-agente con criterio. Delegar solo si hay (a) paralelismo real, (b) aislamiento de contexto, o (c) perspectiva diferente. Cualquier otra cosa → main agent. El costo de armar prompt + log + verificación suma rápido.
- Cero autoría AI en git. Hook PreToolUse bloquea cualquier
Co-Authored-By: Claude,Generated with Claude Code, emoji robot, etc. El autor es la persona que firma el commit, punto. - Brain decay. Las notas envejecen. Antes de actuar sobre una memoria, verificar contra el código actual. La nota dice "X existe" ≠ "X existe ahora".
Más detalle en agents/README.md (antipatrones de delegación) y brain/README.md (rubric de qué guardar).
Escrito para Windows + PowerShell 7+. Los hooks (.ps1) y wrappers son específicos de Windows porque resuelven gotchas concretos de esa plataforma (multi-line stdin con copilot -p / cursor -p, env var isolation para una segunda cuenta de Claude, buffering de Tee-Object).
Los .md (skills, instrucciones, templates) son agnósticos y funcionan en cualquier OS. Si lo portás a macOS/Linux: las skills y la lógica se mantienen, los .ps1 hay que reescribir en bash.
Para no confundir expectativas:
- No es un instalador. No hay
setup.ps1que te configure todo. Es código para leer y copiar. - No tiene mis proyectos reales. Cualquier nombre, path o credencial fue removido. Las tablas de mapping
cwd → proyectoestán vacías con un ejemplo comentado para que las completes. - No es un marketplace de plugins. Los plugins que uso (
superpowers,figma,playwright,frontend-design) son del marketplace oficial — solo los menciono englobal/settings.json, no copio su contenido. - No hay tests. Los
.ps1se prueban usándolos. Los.mdse "prueban" leyendo cómo Claude se comporta con ellos.
MIT — ver LICENSE. Si lo usás y mejorás algo, un PR / issue es bienvenido pero no esperado.