context-organizer
Skill imperativa para mantener la Capa 1 (Los 5 Fantásticos) de documentación viva en la raíz del repo. Tu deber: que el contexto indexable nunca mienta.
Principios imperativos
- Boy Scout obligatorio: si detectás gap, contradicción o desalineación entre los 5 .md y el código, DETENÉ la tarea principal, corregí el .md y recién después continuá.
- Crear si falta: si
README.md, AGENTS.md, DESIGN.md o ADR.md no existen, CREALOS ya con la plantilla mínima. BEHAVIOR.md se genera automáticamente ejecutando los tests (ver motor abajo).
- Actualizar proactivo sin consultar: ante un trigger (ver matriz), actualizá el .md correspondiente sin preguntar al usuario. Es tu responsabilidad, no una sugerencia.
- Síntesis y curación: condensá, deduplicá, ordená por módulo, eliminá ruido y entradas obsoletas. Prosa breve, jerárquica, alta densidad por token.
- Leer antes de codear: consultá los .md relevantes antes de inferir comportamiento, estilo o arquitectura desde el código fuente.
Matriz de los 5 archivos
| Archivo |
Qué guarda |
Leer cuando |
Actualizar (trigger) |
Owner |
Mutabilidad |
README.md |
Propósito, stack, env, prerrequisitos, comandos de bootstrap. |
Onboarding, levantar entorno, dudas de stack. |
Cambio de runtime, framework, env vars, comandos de init/deploy local. |
Humano (vos editás si detectás drift). |
Mutable, sobrescribible. |
AGENTS.md |
Inventario de skills/tools, restricciones operativas, matriz de enrutamiento documental, políticas de seguridad. |
Al iniciar cualquier tarea en el repo (system prompt local). |
Nueva skill/tool/regla operativa, fricción detectada en ejecución, nueva restricción de codificación. |
Co-owned (humano + vos). |
Mutable. |
DESIGN.md |
Tokens (color/tipografía/espaciado), catálogo de componentes UI, patrones de estados (loading/error/empty), criterios a11y. |
Antes de crear/refactorizar cualquier vista o componente UI. |
Nuevo componente reusable, token visual, patrón de estado, decisión de a11y o usuario define regla de diseño. |
Vos (autónomo). |
Mutable, consolidable. |
BEHAVIOR.md |
Reglas de negocio verificadas, en prosa con DEBE/NO DEBE, agrupadas por módulo. |
Antes de tocar lógica de negocio, para entender comportamiento sin leer tests. |
Cada modificación/creación de test que pasa en verde (ver motor abajo). |
Vos (100% automatizado). |
Reescritura determinista; no editar a mano. |
ADR.md |
Decisiones arquitectónicas: Contexto, Decisión, Consecuencias. Numeradas, cronológicas. |
Antes de proponer refactor estructural o cambio de stack. |
Usuario enuncia decisión técnica irreversible / de alto impacto, o vos tomás una autónoma. Actualizá vos mismo. |
Vos (append autónomo). |
Append-only e inmutable. Para revertir: nuevo ADR que supersedes ADR-NNN. |
Triggers proactivos (acción → archivo)
- Modificar/crear test verde →
BEHAVIOR.md
- Crear/refactor componente UI, token visual, patrón de estado →
DESIGN.md
- Usuario dice "decidimos", "vamos a usar X en lugar de Y", "regla:", "ADR:", "de ahora en más" →
ADR.md (append) + posible DESIGN.md/AGENTS.md
- Cambio de runtime, framework, env var, script npm de bootstrap →
README.md
- Nueva skill, tool, restricción, política de ejecución, regla de enrutamiento →
AGENTS.md
Si un cambio dispara varios triggers, actualizá todos los .md afectados en la misma intervención.
Plantillas e inicialización
Inicializar un repo nuevo
bash skills/context-organizer/scripts/init-repo.sh
Este script:
- Copia
README.md, AGENTS.md, DESIGN.md, ADR.md desde scripts/templates/ al root si no existen
- Crea
.context/ para test-results.json
- Instala hook
pre-commit si Husky está disponible
Plantillas
Las plantillas residen en scripts/templates/:
README.md — propósito, stack, env, bootstrap
AGENTS.md — matriz de consulta, restricciones operativas
DESIGN.md — tokens, componentes, estados
ADR.md — formato de decision records
Editá las plantillas según tu proyecto después de inicializar.
BEHAVIOR.md
NO crear manualmente. Se genera automáticamente al ejecutar la suite de tests y el script de compilación (ver motor abajo). Formato esperado:
# BEHAVIOR.md
> Generado por context-organizer. No editar a mano.
## Módulo: Auth
- DEBE permitir login con credenciales válidas y verificadas.
- NO DEBE permitir acceso con password incorrecto (retorna 401).
- DEBE bloquear cuenta 15 min tras 5 fallos consecutivos.
## Módulo: Pagos
- DEBE emitir `order.paid` a SQS tras confirmación de pasarela.
- DEBE revertir reserva de stock si la tarjeta es rechazada.
Motor BEHAVIOR.md (automatizado)
Flujo determinista:
[cambio en tests] → [suite en verde + reporter JSON] → [parse] → [síntesis semántica] → [BEHAVIOR.md]
Comandos de reporter
- Jest:
jest --json --outputFile=.context/test-results.json
- Vitest:
vitest run --reporter=json --outputFile=.context/test-results.json
Script de compilación
Ejecutá:
node skills/context-organizer/scripts/compile-behavior.mjs
(requiere .context/test-results.json generado por el reporter; ver scripts/README.md para detalles)
Hook pre-commit
Instalá:
cp skills/context-organizer/scripts/pre-commit.sh .husky/pre-commit
chmod +x .husky/pre-commit
(ver scripts/README.md para requisitos y flujo)
Descripciones ambiguas
Si encontrás it("should work"), it("test 4"), it("foo") o similares:
- Leé el
expect/assert del test.
- Reescribí la descripción con la intención real (
should <verbo> <objeto> when <condición>).
- Recompilá
BEHAVIOR.md.
No tolerés descripciones vacías de semántica: son deuda documental.
Reglas de curación
- Deduplicar: si dos bullets dicen lo mismo con palabras distintas, fusionalos.
- Agrupar: ordená por módulo/dominio, no por archivo de test.
- Podar: eliminá entradas que ya no aparecen en la suite verde.
- Compactar
DESIGN.md: si un patrón se repite ≥2 veces, abstraelo a componente o token y documentalo.
ADR.md es append-only: nunca borres ni reescribas un ADR. Para revertir, agregá uno nuevo con Status: Accepted, supersedes ADR-NNN y marcá el viejo como Superseded by ADR-MMM.
AGENTS.md debe estar al día con las skills realmente disponibles: si agregás/quitás una, actualizalo en el mismo commit.
Anti-patrones (NO hacer)
- ❌ Inferir comportamiento leyendo código fuente cuando
BEHAVIOR.md existe y está fresco.
- ❌ Crear componentes ad-hoc sin chequear
DESIGN.md.
- ❌ Proponer refactors o cambios de stack sin leer
ADR.md (riesgo de loop infinito).
- ❌ Editar
BEHAVIOR.md a mano: siempre vía script.
- ❌ Sobrescribir o borrar un ADR.
- ❌ Preguntar al usuario "¿actualizo el .md?" cuando hay trigger claro: actualizá y avisá brevemente en el resumen.
Checklist mental por intervención
- ¿Existen
README.md, AGENTS.md, DESIGN.md, ADR.md? Si no, creá los faltantes. BEHAVIOR.md se genera vía script al correr tests.
- ¿Leí los relevantes a la tarea? (matriz de enrutamiento de
AGENTS.md)
- ¿Mi cambio dispara algún trigger? Actualizá los .md afectados.
- ¿Tests modificados? Corré el motor y regenerá
BEHAVIOR.md.
- ¿Quedaron entradas duplicadas u obsoletas? Curá.
1---2name: context-organizer3description: Gobierna los 5 .md de Capa 1 (README, AGENTS, DESIGN, BEHAVIOR, ADR) en la raíz del repo. Úsala al iniciar cualquier tarea en un repositorio, al modificar tests/componentes/tokens de diseño, o cuando el usuario enuncie un ADR o regla de diseño candidata. Obliga al modelo a crear los .md faltantes, actualizarlos proactivamente sin consultar y mantenerlos curados, sintetizados y veraces.4---56# context-organizer78Skill imperativa para mantener la **Capa 1 (Los 5 Fantásticos)** de documentación viva en la raíz del repo. Tu deber: que el contexto indexable nunca mienta.910## Principios imperativos1112- **Boy Scout obligatorio:** si detectás gap, contradicción o desalineación entre los 5 .md y el código, DETENÉ la tarea principal, corregí el .md y recién después continuá.13- **Crear si falta:** si `README.md`, `AGENTS.md`, `DESIGN.md` o `ADR.md` no existen, CREALOS ya con la plantilla mínima. `BEHAVIOR.md` se genera automáticamente ejecutando los tests (ver motor abajo).14- **Actualizar proactivo sin consultar:** ante un trigger (ver matriz), actualizá el .md correspondiente sin preguntar al usuario. Es tu responsabilidad, no una sugerencia.15- **Síntesis y curación:** condensá, deduplicá, ordená por módulo, eliminá ruido y entradas obsoletas. Prosa breve, jerárquica, alta densidad por token.16- **Leer antes de codear:** consultá los .md relevantes antes de inferir comportamiento, estilo o arquitectura desde el código fuente.1718## Matriz de los 5 archivos1920| Archivo | Qué guarda | Leer cuando | Actualizar (trigger) | Owner | Mutabilidad |21|---|---|---|---|---|---|22| `README.md` | Propósito, stack, env, prerrequisitos, comandos de bootstrap. | Onboarding, levantar entorno, dudas de stack. | Cambio de runtime, framework, env vars, comandos de init/deploy local. | Humano (vos editás si detectás drift). | Mutable, sobrescribible. |23| `AGENTS.md` | Inventario de skills/tools, restricciones operativas, matriz de enrutamiento documental, políticas de seguridad. | Al iniciar cualquier tarea en el repo (system prompt local). | Nueva skill/tool/regla operativa, fricción detectada en ejecución, nueva restricción de codificación. | Co-owned (humano + vos). | Mutable. |24| `DESIGN.md` | Tokens (color/tipografía/espaciado), catálogo de componentes UI, patrones de estados (loading/error/empty), criterios a11y. | Antes de crear/refactorizar cualquier vista o componente UI. | Nuevo componente reusable, token visual, patrón de estado, decisión de a11y o usuario define regla de diseño. | Vos (autónomo). | Mutable, consolidable. |25| `BEHAVIOR.md` | Reglas de negocio verificadas, en prosa con `DEBE`/`NO DEBE`, agrupadas por módulo. | Antes de tocar lógica de negocio, para entender comportamiento sin leer tests. | Cada modificación/creación de test que pasa en verde (ver motor abajo). | Vos (100% automatizado). | Reescritura determinista; no editar a mano. |26| `ADR.md` | Decisiones arquitectónicas: Contexto, Decisión, Consecuencias. Numeradas, cronológicas. | Antes de proponer refactor estructural o cambio de stack. | Usuario enuncia decisión técnica irreversible / de alto impacto, o vos tomás una autónoma. Actualizá vos mismo. | Vos (append autónomo). | **Append-only e inmutable.** Para revertir: nuevo ADR que `supersedes ADR-NNN`. |2728## Triggers proactivos (acción → archivo)2930- Modificar/crear test verde → `BEHAVIOR.md`31- Crear/refactor componente UI, token visual, patrón de estado → `DESIGN.md`32- Usuario dice "decidimos", "vamos a usar X en lugar de Y", "regla:", "ADR:", "de ahora en más" → `ADR.md` (append) + posible `DESIGN.md`/`AGENTS.md`33- Cambio de runtime, framework, env var, script npm de bootstrap → `README.md`34- Nueva skill, tool, restricción, política de ejecución, regla de enrutamiento → `AGENTS.md`3536Si un cambio dispara varios triggers, actualizá todos los .md afectados en la misma intervención.3738## Plantillas e inicialización3940### Inicializar un repo nuevo4142```bash43bash skills/context-organizer/scripts/init-repo.sh44```4546Este script:47- Copia `README.md`, `AGENTS.md`, `DESIGN.md`, `ADR.md` desde `scripts/templates/` al root si no existen48- Crea `.context/` para `test-results.json`49- Instala hook `pre-commit` si Husky está disponible5051### Plantillas5253Las plantillas residen en `scripts/templates/`:54- `README.md` — propósito, stack, env, bootstrap55- `AGENTS.md` — matriz de consulta, restricciones operativas56- `DESIGN.md` — tokens, componentes, estados57- `ADR.md` — formato de decision records5859Editá las plantillas según tu proyecto después de inicializar.6061### `BEHAVIOR.md`6263> **NO crear manualmente.** Se genera automáticamente al ejecutar la suite de tests y el script de compilación (ver motor abajo). Formato esperado:6465```markdown66# BEHAVIOR.md67> Generado por context-organizer. No editar a mano.68## Módulo: Auth69- DEBE permitir login con credenciales válidas y verificadas.70- NO DEBE permitir acceso con password incorrecto (retorna 401).71- DEBE bloquear cuenta 15 min tras 5 fallos consecutivos.72## Módulo: Pagos73- DEBE emitir `order.paid` a SQS tras confirmación de pasarela.74- DEBE revertir reserva de stock si la tarjeta es rechazada.75```7677## Motor BEHAVIOR.md (automatizado)7879Flujo determinista:8081```82[cambio en tests] → [suite en verde + reporter JSON] → [parse] → [síntesis semántica] → [BEHAVIOR.md]83```8485### Comandos de reporter8687- **Jest:** `jest --json --outputFile=.context/test-results.json`88- **Vitest:** `vitest run --reporter=json --outputFile=.context/test-results.json`8990### Script de compilación9192Ejecutá:93```bash94node skills/context-organizer/scripts/compile-behavior.mjs95```9697(requiere `.context/test-results.json` generado por el reporter; ver `scripts/README.md` para detalles)9899### Hook `pre-commit`100101Instalá:102```bash103cp skills/context-organizer/scripts/pre-commit.sh .husky/pre-commit104chmod +x .husky/pre-commit105```106107(ver `scripts/README.md` para requisitos y flujo)108109### Descripciones ambiguas110111Si encontrás `it("should work")`, `it("test 4")`, `it("foo")` o similares:1121131. Leé el `expect`/assert del test.1142. Reescribí la descripción con la intención real (`should <verbo> <objeto> when <condición>`).1153. Recompilá `BEHAVIOR.md`.116117No tolerés descripciones vacías de semántica: son deuda documental.118119## Reglas de curación120121- **Deduplicar:** si dos bullets dicen lo mismo con palabras distintas, fusionalos.122- **Agrupar:** ordená por módulo/dominio, no por archivo de test.123- **Podar:** eliminá entradas que ya no aparecen en la suite verde.124- **Compactar `DESIGN.md`:** si un patrón se repite ≥2 veces, abstraelo a componente o token y documentalo.125- **`ADR.md` es append-only:** nunca borres ni reescribas un ADR. Para revertir, agregá uno nuevo con `Status: Accepted, supersedes ADR-NNN` y marcá el viejo como `Superseded by ADR-MMM`.126- **`AGENTS.md` debe estar al día con las skills realmente disponibles:** si agregás/quitás una, actualizalo en el mismo commit.127128## Anti-patrones (NO hacer)129130- ❌ Inferir comportamiento leyendo código fuente cuando `BEHAVIOR.md` existe y está fresco.131- ❌ Crear componentes ad-hoc sin chequear `DESIGN.md`.132- ❌ Proponer refactors o cambios de stack sin leer `ADR.md` (riesgo de loop infinito).133- ❌ Editar `BEHAVIOR.md` a mano: siempre vía script.134- ❌ Sobrescribir o borrar un ADR.135- ❌ Preguntar al usuario "¿actualizo el .md?" cuando hay trigger claro: actualizá y avisá brevemente en el resumen.136137## Checklist mental por intervención1381391. ¿Existen `README.md`, `AGENTS.md`, `DESIGN.md`, `ADR.md`? Si no, creá los faltantes. `BEHAVIOR.md` se genera vía script al correr tests.1402. ¿Leí los relevantes a la tarea? (matriz de enrutamiento de `AGENTS.md`)1413. ¿Mi cambio dispara algún trigger? Actualizá los .md afectados.1424. ¿Tests modificados? Corré el motor y regenerá `BEHAVIOR.md`.1435. ¿Quedaron entradas duplicadas u obsoletas? Curá.