@tacuchi/agent-workflow-cli 15.1.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/package.json +1 -1
  2. package/skills/w/README.md +14 -14
  3. package/skills/w/SKILL.md +96 -75
  4. package/skills/w/artifacts/README.md +6 -6
  5. package/skills/w/artifacts/artifacts-core/SESSION.md +1 -7
  6. package/skills/w/artifacts/artifacts-core/TASKS.md +1 -1
  7. package/skills/w/artifacts/artifacts-exec/TECHNICAL-NOTE.md +9 -54
  8. package/skills/w/artifacts/artifacts-research/CONCLUSIONS.md +1 -1
  9. package/skills/w/commands/README.md +22 -22
  10. package/skills/w/commands/export-diagrams.md +9 -9
  11. package/skills/w/commands/export-manuals.md +9 -9
  12. package/skills/w/commands/export-reports.md +9 -9
  13. package/skills/w/commands/export-scripts.md +9 -9
  14. package/skills/w/commands/fix-git.md +12 -12
  15. package/skills/w/commands/plan-exec.md +19 -19
  16. package/skills/w/commands/plan-new.md +18 -18
  17. package/skills/w/commands/plan-refine.md +22 -22
  18. package/skills/w/commands/quick.md +16 -16
  19. package/skills/w/commands/spec-new.md +35 -34
  20. package/skills/w/commands/spec-refine.md +16 -16
  21. package/skills/w/commands/status.md +18 -16
  22. package/skills/w/commands/workspace-init.md +14 -14
  23. package/skills/w/exports/README.md +5 -5
  24. package/skills/w/exports/export-diagrams/SKILL.md +58 -58
  25. package/skills/w/exports/export-manuals/SKILL.md +61 -61
  26. package/skills/w/exports/export-reports/SKILL.md +51 -51
  27. package/skills/w/exports/export-scripts/SKILL.md +60 -60
  28. package/skills/w/harness/SKILL.md +48 -47
  29. package/skills/w/loops/CHASSIS.md +104 -97
  30. package/skills/w/loops/CODE-POLICIES.md +21 -21
  31. package/skills/w/loops/README.md +30 -29
  32. package/skills/w/loops/plan-exec-loop/SKILL.md +77 -80
  33. package/skills/w/loops/plan-new-loop/SKILL.md +88 -58
  34. package/skills/w/loops/plan-refine-loop/SKILL.md +69 -45
  35. package/skills/w/loops/quick-loop/SKILL.md +79 -79
  36. package/skills/w/loops/spec-refine-loop/SKILL.md +93 -97
  37. package/skills/w/roles/README.md +2 -2
  38. package/skills/w/roles/diagrams/SKILL.md +50 -47
  39. package/skills/w/roles/git/SKILL.md +58 -58
  40. package/skills/w/roles/research/SKILL.md +65 -62
  41. package/skills/w/roles/sql/SKILL.md +59 -55
  42. package/skills/w/roles/ui-spec/SKILL.md +60 -74
@@ -1,44 +1,44 @@
1
1
  # w — Command map (Layer 1)
2
2
 
3
- > README del namespace `/w:` (`w` = *workflow*): todo lo listado acá es lo **único que el usuario invoca** directamente. Los comandos son la **Capa 1** — single-pass o arrancan un loop; sin lógica de iteración.
3
+ > README of the `/w:` namespace (`w` = *workflow*): everything listed here is the **only thing the user invokes** directly. Commands are **Layer 1** — single-pass or they start a loop; no iteration logic.
4
4
  >
5
- > **Canon**: el modelo completo (3 capas + zona `docs/`, los 3 flujos, invariantes duros) vive en [`../SKILL.md`](../SKILL.md); el **motor de los loops** en [`../loops/CHASSIS.md`](../loops/CHASSIS.md). Este README es solo el índice de la carpeta.
5
+ > **Canon**: the full model (3 layers + `docs/` zone, the 3 flows, hard invariants) lives in [`../SKILL.md`](../SKILL.md); the **loop engine** in [`../loops/CHASSIS.md`](../loops/CHASSIS.md). This README is only the folder index.
6
6
 
7
7
  ---
8
8
 
9
9
  ## Bootstrap
10
10
 
11
- [`/w:workspace-init`](workspace-init.md) convierte la carpeta actual en un **workspace** (`.workflow/` + `docs/` + bloque `WORKSPACE` + `.workflow/skills.toml`). Sin distinción project/hub; correr una vez antes de cualquier flujo.
11
+ [`/w:workspace-init`](workspace-init.md) turns the current folder into a **workspace** (`.workflow/` + `docs/` + `WORKSPACE` block + `.workflow/skills.toml`). No project/hub distinction; run once before any flow.
12
12
 
13
13
  ## Index
14
14
 
15
- | Command | Qué hace | Mode |
15
+ | Command | What it does | Mode |
16
16
  |---|---|---|
17
- | [`workspace-init`](workspace-init.md) | Bootstrap del workspace | single-pass, interactivo |
18
- | [`spec-new`](spec-new.md) | Genera el borrador de spec (`docs/specs/NNN-spec-<slug>.md`) | single-pass, sin loop |
19
- | [`spec-refine`](spec-refine.md) | Refina el spec **in place** hasta desambiguarlo | arranca `spec-refine-loop` |
20
- | [`plan-new`](plan-new.md) | Deriva el plan ejecutable (`docs/plans/PPP-plan-<slug>.md`) del spec | arranca `plan-new-loop` |
21
- | [`plan-refine`](plan-refine.md) | Refina el plan **in place** antes de ejecutar (aux, opcional) | arranca `plan-refine-loop` |
22
- | [`plan-exec`](plan-exec.md) | Ejecuta el plan (código/BD/git) y lo mantiene como living doc | arranca `plan-exec-loop` |
23
- | [`quick`](quick.md) | Atajo liviano para trabajo acotado; no toca `docs/` | arranca `quick-loop` |
24
- | [`status`](status.md) | Dashboard read-only del workspace | single-pass (transversal) |
25
- | [`fix-git`](fix-git.md) | Resuelve un merge en curso, git-safe | single-pass (transversal) |
26
- | [`export-scripts`](export-scripts.md) | Promueve migraciones SQL de sesiones a `docs/scripts/` | single-pass, read-only |
27
- | [`export-manuals`](export-manuals.md) | Genera manuales en `docs/manuals/` | single-pass, read-only |
28
- | [`export-diagrams`](export-diagrams.md) | Genera diagramas C4/mermaid en `docs/diagrams/` | single-pass, read-only |
29
- | [`export-reports`](export-reports.md) | Genera informes en `docs/reports/` | single-pass, read-only |
30
-
31
- > **Asimetría intencional:** en SPEC, `spec-new` genera el borrador en single-pass (sin loop) y el loop está en `spec-refine`; en PLAN, los 3 comandos arrancan loops. Total: **6 comandos de flow / 5 loops**.
17
+ | [`workspace-init`](workspace-init.md) | Workspace bootstrap | single-pass, interactive |
18
+ | [`spec-new`](spec-new.md) | Generates the spec draft (`docs/specs/NNN-spec-<slug>.md`) | single-pass, no loop |
19
+ | [`spec-refine`](spec-refine.md) | Refines the spec **in place** until unambiguous | starts `spec-refine-loop` |
20
+ | [`plan-new`](plan-new.md) | Derives the executable plan (`docs/plans/PPP-plan-<slug>.md`) from the spec | starts `plan-new-loop` |
21
+ | [`plan-refine`](plan-refine.md) | Refines the plan **in place** before executing (aux, optional) | starts `plan-refine-loop` |
22
+ | [`plan-exec`](plan-exec.md) | Executes the plan (code/DB/git) and maintains it as a living doc | starts `plan-exec-loop` |
23
+ | [`quick`](quick.md) | Lightweight shortcut for scoped work; never touches `docs/` | starts `quick-loop` |
24
+ | [`status`](status.md) | Read-only workspace dashboard | single-pass (transversal) |
25
+ | [`fix-git`](fix-git.md) | Resolves an in-progress merge, git-safe | single-pass (transversal) |
26
+ | [`export-scripts`](export-scripts.md) | Promotes session SQL migrations to `docs/scripts/` | single-pass, read-only |
27
+ | [`export-manuals`](export-manuals.md) | Generates manuals in `docs/manuals/` | single-pass, read-only |
28
+ | [`export-diagrams`](export-diagrams.md) | Generates C4/mermaid diagrams in `docs/diagrams/` | single-pass, read-only |
29
+ | [`export-reports`](export-reports.md) | Generates reports in `docs/reports/` | single-pass, read-only |
30
+
31
+ > **Intentional asymmetry:** in SPEC, `spec-new` generates the draft single-pass (no loop) and the loop lives in `spec-refine`; in PLAN, all 3 commands start loops. Total: **6 flow commands / 5 loops**.
32
32
  >
33
- > **Transversales (no flow):** `status` y `fix-git` no pertenecen a SPEC/PLAN/QUICK ni cuentan en 6/5. En el diseño son su propia categoría (`workflow-skills/`); acá se empaquetan bajo `commands/` para que `/w:` las invoquever [`../harness/SKILL.md`](../harness/SKILL.md) § *Command packaging*.
33
+ > **Transversal (no flow):** `status` and `fix-git` belong to no SPEC/PLAN/QUICK flow and do not count in 6/5. In the design they are their own category (`workflow-skills/`); here they are packaged under `commands/` so `/w:` can invoke them see [`../harness/SKILL.md`](../harness/SKILL.md) § *Command packaging*.
34
34
 
35
35
  ## Schema of each command file
36
36
 
37
- Cada `<command>.md` de esta carpeta usa este frontmatter + estructura de cuerpo el esquema (incluidos `allowed-tools:` y el tool `Skill`) es el **binding Claude Code**; otros arneses envuelven el mismo contrato en su formato (ver [`../harness/SKILL.md`](../harness/SKILL.md) § *Command packaging*):
37
+ Every `<command>.md` in this folder uses this frontmatter + body structurethe schema (including `allowed-tools:` and the `Skill` tool) is the **Claude Code binding**; other harnesses wrap the same contract in their format (see [`../harness/SKILL.md`](../harness/SKILL.md) § *Command packaging*):
38
38
 
39
39
  | Field | Description |
40
40
  |---|---|
41
- | `description:` | One line: what + when (drives discovery in `/`-picker) |
41
+ | `description:` | One line: what + when (drives discovery in the `/`-picker) |
42
42
  | `argument-hint:` | Argument signature for the user |
43
43
  | `allowed-tools:` | YAML list (typically `Bash`/`Read`/`Write`/`Edit`). Loops/exports are **read-and-followed**, not invoked with `Skill:` — so `Skill` is **not** in `allowed-tools`. |
44
44
  | Body | 1-3 orienting lines, then the invocation: **read-and-follow** the sibling loop/export `SKILL.md`, or call the `aw` CLI; then `## Plan mode`, `## Resources` |
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Genera diagramas C4/mermaid en docs/diagrams/ a partir del código fuente y el plan-doc (AS-IS/TO-BE). Single-pass, explícito.
2
+ description: Generates C4/mermaid diagrams in docs/diagrams/ from the source code and the plan-doc (AS-IS/TO-BE). Single-pass, explicit.
3
3
  argument-hint: [--engine <mermaid|c4>] [--sessions <ids>] [--dry-run]
4
4
  allowed-tools:
5
5
  [
@@ -9,21 +9,21 @@ allowed-tools:
9
9
  ]
10
10
  ---
11
11
 
12
- # export-diagrams — exportar diagramas
12
+ # export-diagrams — export diagrams
13
13
 
14
- Lee el código de las fuentes del workspace + el plan-doc (secciones `AS-IS`/`TO-BE`) y genera diagramas C4 / mermaid en `docs/diagrams/`. Single-pass, read-only sobre sesiones.
14
+ Reads the workspace sources' code + the plan-doc (`AS-IS`/`TO-BE` sections) and generates C4 / mermaid diagrams in `docs/diagrams/`. Single-pass, read-only over sessions.
15
15
 
16
- Para ejecutar: **leé** `../exports/export-diagrams/SKILL.md` y **seguí** sus instrucciones con `$ARGUMENTS` como input. No intentes `Skill: export-diagrams` (no está registrada por nombre); el SKILL.md hermano es el cuerpo de este export.
16
+ To run: **read** `../exports/export-diagrams/SKILL.md` and **follow** its instructions with `$ARGUMENTS` as input. Do not try `Skill: export-diagrams` (it is not registered by name); the sibling SKILL.md is this export's body.
17
17
 
18
- ## Qué produce
18
+ ## What it produces
19
19
 
20
- - `docs/diagrams/`: diagramas C4 y/o mermaid, numerados, cross-session.
21
- - **No** muta sesiones ni abre/cierra loops.
22
- - Solo escribe en `docs/diagrams/`.
20
+ - `docs/diagrams/`: C4 and/or mermaid diagrams, numbered, cross-session.
21
+ - Does **not** mutate sessions nor open/close loops.
22
+ - Writes only `docs/diagrams/`.
23
23
 
24
24
  ## Plan mode
25
25
 
26
- Describe los diagramas que generaría (tipo, componentes cubiertos) sin escribir archivos.
26
+ Describes the diagrams it would generate (type, covered components) without writing files.
27
27
 
28
28
  ## Resources
29
29
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Genera manuales de usuario/operación en docs/manuals/ consolidando sesiones, DECISION, plan-doc y código fuente. Single-pass, explícito.
2
+ description: Generates user/operations manuals in docs/manuals/ consolidating sessions, DECISION, plan-doc and source code. Single-pass, explicit.
3
3
  argument-hint: [--sessions <ids>] [--mode <complement|regenerate>] [--dry-run]
4
4
  allowed-tools:
5
5
  [
@@ -9,21 +9,21 @@ allowed-tools:
9
9
  ]
10
10
  ---
11
11
 
12
- # export-manuals — exportar manuales
12
+ # export-manuals — export manuals
13
13
 
14
- Consolida sesiones + artefactos `DECISION` + plan-doc (`Final behavior`) + código fuente y genera documentación de usuario/operación en `docs/manuals/`. Single-pass, read-only sobre sesiones.
14
+ Consolidates sessions + `DECISION` artifacts + plan-doc (`Final behavior`) + source code and generates user/operations documentation in `docs/manuals/`. Single-pass, read-only over sessions.
15
15
 
16
- Para ejecutar: **leé** `../exports/export-manuals/SKILL.md` y **seguí** sus instrucciones con `$ARGUMENTS` como input. No intentes `Skill: export-manuals` (no está registrada por nombre); el SKILL.md hermano es el cuerpo de este export.
16
+ To run: **read** `../exports/export-manuals/SKILL.md` and **follow** its instructions with `$ARGUMENTS` as input. Do not try `Skill: export-manuals` (it is not registered by name); the sibling SKILL.md is this export's body.
17
17
 
18
- ## Qué produce
18
+ ## What it produces
19
19
 
20
- - `docs/manuals/`: manuales consolidados, cross-session, dedup.
21
- - **No** muta sesiones ni abre/cierra loops.
22
- - Solo escribe en `docs/manuals/`.
20
+ - `docs/manuals/`: consolidated, cross-session, deduplicated manuals.
21
+ - Does **not** mutate sessions nor open/close loops.
22
+ - Writes only `docs/manuals/`.
23
23
 
24
24
  ## Plan mode
25
25
 
26
- Describe el alcance de los manuales que generaría (secciones, sesiones fuente) sin escribir archivos.
26
+ Describes the scope of the manuals it would generate (sections, source sessions) without writing files.
27
27
 
28
28
  ## Resources
29
29
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Genera un informe ejecutivo/funcional en docs/reports/ consolidando el corpus de sesiones (spec, CONCLUSIONS, DECISION), el plan-doc y el estado de docs/. Single-pass, explícito.
2
+ description: Generates an executive/functional report in docs/reports/ consolidating the session corpus (spec, CONCLUSIONS, DECISION), the plan-doc and the docs/ state. Single-pass, explicit.
3
3
  argument-hint: [--sessions <ids>] [--audience <gerencia|tecnica>] [--dry-run]
4
4
  allowed-tools:
5
5
  [
@@ -9,21 +9,21 @@ allowed-tools:
9
9
  ]
10
10
  ---
11
11
 
12
- # export-reports — exportar informes
12
+ # export-reports — export reports
13
13
 
14
- Consolida el corpus completo de sesiones (`CONCLUSIONS`, `DECISION`, spec) + plan-doc (estado) + `docs/` y genera un informe ejecutivo o funcional en `docs/reports/`. Single-pass, read-only sobre sesiones.
14
+ Consolidates the full session corpus (`CONCLUSIONS`, `DECISION`, spec) + plan-doc (state) + `docs/` and generates an executive or functional report in `docs/reports/`. Single-pass, read-only over sessions.
15
15
 
16
- Para ejecutar: **leé** `../exports/export-reports/SKILL.md` y **seguí** sus instrucciones con `$ARGUMENTS` como input. No intentes `Skill: export-reports` (no está registrada por nombre); el SKILL.md hermano es el cuerpo de este export.
16
+ To run: **read** `../exports/export-reports/SKILL.md` and **follow** its instructions with `$ARGUMENTS` as input. Do not try `Skill: export-reports` (it is not registered by name); the sibling SKILL.md is this export's body.
17
17
 
18
- ## Qué produce
18
+ ## What it produces
19
19
 
20
- - `docs/reports/`: informe consolidado, cross-session, con dedup y estado de avance.
21
- - **No** muta sesiones ni abre/cierra loops.
22
- - Solo escribe en `docs/reports/`.
20
+ - `docs/reports/`: a consolidated, cross-session report with dedup and progress state.
21
+ - Does **not** mutate sessions nor open/close loops.
22
+ - Writes only `docs/reports/`.
23
23
 
24
24
  ## Plan mode
25
25
 
26
- Describe el alcance e índice del informe que generaría (secciones, sesiones fuente, estado de avance) sin escribir archivos.
26
+ Describes the scope and index of the report it would generate (sections, source sessions, progress state) without writing files.
27
27
 
28
28
  ## Resources
29
29
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Exporta scripts de BD (SCRIPTS.sql tipo-B) de N sesiones a docs/scripts/ como forwards numerados + rollback. Paso explícito y aparte nunca automático.
2
+ description: Exports DB scripts (type-B SCRIPTS.sql) from N sessions to docs/scripts/ as numbered forwards + rollback. Explicit, separate stepnever automatic.
3
3
  argument-hint: [--sessions <ids>] [--dry-run]
4
4
  allowed-tools:
5
5
  [
@@ -9,21 +9,21 @@ allowed-tools:
9
9
  ]
10
10
  ---
11
11
 
12
- # export-scripts — exportar scripts de BD
12
+ # export-scripts — export DB scripts
13
13
 
14
- Promueve los artefactos `SCRIPTS.sql` (tipo B — migraciones) de N sesiones de `.workflow/sessions/` a `docs/scripts/`. Single-pass, read-only sobre sesiones.
14
+ Promotes the `SCRIPTS.sql` artifacts (type B — migrations) of N sessions from `.workflow/sessions/` to `docs/scripts/`. Single-pass, read-only over sessions.
15
15
 
16
- Para ejecutar: **leé** `../exports/export-scripts/SKILL.md` y **seguí** sus instrucciones con `$ARGUMENTS` como input. No intentes `Skill: export-scripts` (no está registrada por nombre); el SKILL.md hermano es el cuerpo de este export.
16
+ To run: **read** `../exports/export-scripts/SKILL.md` and **follow** its instructions with `$ARGUMENTS` as input. Do not try `Skill: export-scripts` (it is not registered by name); the sibling SKILL.md is this export's body.
17
17
 
18
- ## Qué produce
18
+ ## What it produces
19
19
 
20
- - `docs/scripts/`: forwards numerados de forma continua (cross-session, dedup) + `00-ROLLBACK.sql`.
21
- - **No** muta sesiones ni abre/cierra loops.
22
- - La IA **nunca ejecuta** los scripts — solo los consolida y entrega.
20
+ - `docs/scripts/`: continuously numbered forwards (cross-session, dedup) + `00-ROLLBACK.sql`.
21
+ - Does **not** mutate sessions nor open/close loops.
22
+ - The AI **never executes** the scripts — it only consolidates and delivers them.
23
23
 
24
24
  ## Plan mode
25
25
 
26
- Describe los scripts que consolidaría y la estructura de `docs/scripts/` que generaría, sin escribir archivos.
26
+ Describes the scripts it would consolidate and the `docs/scripts/` structure it would generate, without writing files.
27
27
 
28
28
  ## Resources
29
29
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Resuelve conflictos de un merge en curso para una fuente dada o detectada. Identifica origen (theirs) y destino (ours), analiza la intención de ambos lados y resuelve; pregunta (structured-choice) ante ambigüedad o incoherencia. Git-safe — propone el commit de merge, nunca push/--amend/--no-verify. Transversal (no es flow), sin loop ni session, no toca docs/. Funciona en cualquier repo git, sin workspace inicializado.
2
+ description: Resolves the conflicts of an in-progress merge for a given or detected source. Identifies origin (theirs) and destination (ours), analyzes both sides' intent and resolves; asks (structured-choice) on ambiguity or incoherence. Git-safe — proposes the merge commit, never push/--amend/--no-verify. Transversal (not a flow), no loop, no session, never touches docs/. Works in any git repo, no initialized workspace required.
3
3
  argument-hint: "[<source path | alias>]"
4
4
  allowed-tools:
5
5
  [
@@ -9,25 +9,25 @@ allowed-tools:
9
9
  ]
10
10
  ---
11
11
 
12
- # fix-git — resolvedor de conflictos de merge (transversal)
12
+ # fix-git — merge-conflict resolver (transversal)
13
13
 
14
- Single-pass, **sin loop ni session**, **no escribe en `docs/`**. Comando **transversal** (no pertenece a SPEC / PLAN / QUICK). **Agnóstico al workspace**: opera sobre cualquier repo git el `<source>` dado (path o alias), o el cwd — sin requerir `.workflow/`.
14
+ Single-pass, **no loop, no session**, **never writes `docs/`**. **Transversal** command (belongs to no SPEC / PLAN / QUICK flow). **Workspace-agnostic**: operates on any git repo — the given `<source>` (path or alias), or the cwd — without requiring `.workflow/`.
15
15
 
16
- ## Ejecutar
16
+ ## Run
17
17
 
18
- 1. **Detectar + identificar** — corré `aw merge-state [<source>]` (read-only; `--source <alias>` o `--all` si hay workspace; un path directo si no). Del JSON, por repo: `is_merging`, `current_branch` (**destino / ours**), `merge_origin` (**origen / theirs**), `conflicted_files`.
19
- - Si **no hay merge en curso** (`is_merging:false`) y el usuario indicó un **target** (p.ej. "merge `<branch>`"): es pedido explícito → `git -C <path> merge <branch>` y seguí. Sin target → informá que no hay merge que resolver y terminá.
20
- 2. **Resolver** — **leé y seguí** la sección ***Resolución de conflictos de merge*** del rol `git` (`../roles/git/SKILL.md`): analizá la intención de cada conflicto (3 versiones `git show :1:/:2:/:3:<file>`, `git log --merge`), resolvé (ours / theirs / combinar / reescribir) y `git add` lo resuelto. Ante **ambigüedad o incoherencia**, preguntá vía *structured-choice* (no inventes la resolución).
21
- 3. **Cerrar** — **proponé** el commit de merge (propose-then-execute, formato canónico, git-safe). Escape: `git merge --abort` tras confirmación del usuario.
18
+ 1. **Detect + identify** — run `aw merge-state [<source>]` (read-only; `--source <alias>` or `--all` when a workspace exists; a direct path otherwise). From the JSON, per repo: `is_merging`, `current_branch` (**destination / ours**), `merge_origin` (**origin / theirs**), `conflicted_files`.
19
+ - If **no merge is in progress** (`is_merging:false`) and the user named a **target** (e.g. "merge `<branch>`"): that is an explicit request → `git -C <path> merge <branch>` and continue. No target → report there is no merge to resolve and stop.
20
+ 2. **Resolve** — **read and follow** the ***Merge-conflict resolution*** section of the `git` role (`../roles/git/SKILL.md`): analyze each conflict's intent (3 versions `git show :1:/:2:/:3:<file>`, `git log --merge`), resolve (ours / theirs / combine / rewrite) and `git add` what is resolved. On **ambiguity or incoherence**, ask via *structured-choice* (never invent the resolution).
21
+ 3. **Close** — **propose** the merge commit (propose-then-execute, canonical format, git-safe). Escape hatch: `git merge --abort` after user confirmation.
22
22
 
23
- > No intentes `Skill: git` — el rol se **lee y se sigue** (es la capacidad que este comando compone). El comando **es** la entrada; la doctrina de conflictos vive en el rol `git`.
23
+ > Do not try `Skill: git` — the role is **read and followed** (it is the capability this command composes). The command **is** the entry; the conflict doctrine lives in the `git` role.
24
24
 
25
25
  ## Plan mode
26
26
 
27
- Corré `aw merge-state` (read-only), reportá **origendestino** y los conflictos por archivo, y describí la **estrategia de resolución** que aplicarías — **sin** editar archivos ni commitear.
27
+ Run `aw merge-state` (read-only), report **origindestination** and the per-file conflicts, and describe the **resolution strategy** you would apply — **without** editing files or committing.
28
28
 
29
29
  ## Resources
30
30
 
31
- - Capability: `../roles/git/SKILL.md` (sección *Resolución de conflictos de merge*)
32
- - CLI: `aw merge-state` (inspector read-only del estado de merge)
31
+ - Capability: `../roles/git/SKILL.md` (section *Merge-conflict resolution*)
32
+ - CLI: `aw merge-state` (read-only merge-state inspector)
33
33
  - Design reference: `docs/referencias/workflow-skills/fix-git.md`
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Inicia o retoma el loop de ejecución (plan-exec-loop) sobre un plan existente. Aquí ocurre el trabajo real: edición de código, scripts SQL propuestos, herramientas creadas. Git-safe.
2
+ description: Starts or resumes the execution loop (plan-exec-loop) over an existing plan. The real work happens here - code edits, proposed SQL scripts, created tools. Git-safe.
3
3
  argument-hint: <docs/plans/PPP-plan-<slug>.md>
4
4
  allowed-tools:
5
5
  [
@@ -10,37 +10,37 @@ allowed-tools:
10
10
  ]
11
11
  ---
12
12
 
13
- # plan-exec — trampolín al loop de ejecución
13
+ # plan-exec — trampoline to the execution loop
14
14
 
15
- Arranca o retoma `plan-exec-loop` (Layer 2), que ejecuta el trabajo real fase por fase. El plan (`docs/plans/PPP-plan-<slug>.md`) es un documento vivo que el loop mantiene actualizado (estado de fases y tareas).
15
+ Starts or resumes `plan-exec-loop` (Layer 2), which executes the real work phase by phase. The plan (`docs/plans/PPP-plan-<slug>.md`) is a living document the loop keeps updated (phase and task state).
16
16
 
17
- ## Ejecutar el loop
17
+ ## Run the loop
18
18
 
19
- `plan-exec-loop` **no** es una skill invocable por nombrees el manual de operación de este comando (un doc hermano del bundle). **Cargalo y ejecutalo de punta a punta**:
19
+ `plan-exec-loop` is **not** a skill invocable by nameit is this command's operating manual (a sibling doc in the bundle). **Load it and execute it end to end**:
20
20
 
21
- 1. **Leé** `../loops/plan-exec-loop/SKILL.md` (dentro de la skill `w` instaladap. ej. `~/.claude/skills/w/loops/…`).
22
- 2. **Seguí** sus instrucciones tomando `$ARGUMENTS` como input: detecta CHECKPOINT/resume, ejecuta fase por fase (git-safe, BD solo-scripts), mantiene el plan vivo y reporta.
21
+ 1. **Read** `../loops/plan-exec-loop/SKILL.md` (inside the installed `w` skille.g. `~/.claude/skills/w/loops/…`).
22
+ 2. **Follow** its instructions taking `$ARGUMENTS` as input: it detects CHECKPOINT/resume, executes phase by phase (git-safe, DB scripts-only), keeps the plan alive and reports.
23
23
 
24
- > No intentes `Skill: plan-exec-loop` — no está registrada como skill. El comando **es** la entrada; el loop es su cuerpo.
24
+ > Do not try `Skill: plan-exec-loop` — it is not registered as a skill. The command **is** the entry; the loop is its body.
25
25
 
26
- ## Qué hace el loop (resumen)
26
+ ## What the loop does (summary)
27
27
 
28
- - Lee y actualiza `docs/plans/PPP-plan-<slug>.md` (living doc: estado de fases/tareas).
29
- - Edita código en las fuentes del workspace (una sola sesión de ejecución para el run; la ejecución sigue siendo fase por fase, solo que no hay sesión por fase).
30
- - Si crea una herramienta/utilidad, la documenta la skill ambiente `creating-tools` en `docs/tools/` (auto-descubierta; el workflow no la bindea).
31
- - **Gate de revisión de cierre** en cada límite de fase, **antes de proponer los commits**: re-lee el diff (pasada independiente) aplicando las **convenciones ambientes instaladas** y corrige o difiere hallazgosnada llega a un commit sin revisar (ver `../loops/plan-exec-loop/SKILL.md` § *Delta 5*).
32
- - Propone commits por fuente (git-safe: verifica rama, propone, nunca push/--amend/--no-verify).
33
- - Genera artefactos de sesión (`DECISION`, `SCRIPTS.sql`) en `.workflow/sessions/`.
34
- - **No exporta** a `docs/scripts`, `docs/manuals`, `docs/diagrams`, `docs/reports` — eso lo hacen los `export-*` como paso aparte.
35
- - Scripts de BD (migraciones) van a `SCRIPTS.sql` tipo B; la IA **nunca ejecuta DML/DDL**, solo lecturas read-only vía MCP.
28
+ - Reads and updates `docs/plans/PPP-plan-<slug>.md` (living doc: phase/task state).
29
+ - Edits code in the workspace sources (a single execution session per run; execution is still phase by phase, there is just no session per phase).
30
+ - If it creates a tool/utility, the ambient `creating-tools` skill documents it in `docs/tools/` (auto-discovered; the workflow does not bind it).
31
+ - **Closing review gate** at every phase boundary, **before proposing the commits**: re-reads the diff (independent pass) applying the **installed ambient conventions** and fixes or defers findingsnothing reaches a commit unreviewed (see `../loops/plan-exec-loop/SKILL.md` § *Delta 5*).
32
+ - Proposes commits per source (git-safe: verifies the branch, proposes, never push/--amend/--no-verify).
33
+ - Generates session artifacts (`DECISION`, `SCRIPTS.sql`) under `.workflow/sessions/`.
34
+ - **Never exports** to `docs/scripts`, `docs/manuals`, `docs/diagrams`, `docs/reports` — the `export-*` do that as a separate step.
35
+ - DB scripts (migrations) go to `SCRIPTS.sql` type B; the AI **never executes DML/DDL**, only read-only reads via MCP.
36
36
 
37
37
  ## Resumable
38
38
 
39
- Mismo patrón que los demás loops: detecta CHECKPOINT existente y continúa desde ahí.
39
+ Same pattern as the other loops: it detects an existing CHECKPOINT and continues from there.
40
40
 
41
41
  ## Plan mode
42
42
 
43
- El skill describe fase por fase lo que ejecutaría, qué archivos tocaría, y qué commits propondría, sin aplicar cambios.
43
+ The skill describes, phase by phase, what it would execute, which files it would touch, and which commits it would propose, without applying changes.
44
44
 
45
45
  ## Resources
46
46
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Inicia o retoma el loop de planificación (plan-new-loop) a partir de un spec. Convierte el "qué" (spec) en el "cómo" (plan). Input ideal: docs/specs/NNN-spec-<slug>.md ya refinado.
2
+ description: Starts or resumes the planning loop (plan-new-loop) from a spec. Turns the "what" (spec) into the "how" (plan). Ideal input: an already refined docs/specs/NNN-spec-<slug>.md.
3
3
  argument-hint: <docs/specs/NNN-spec-<slug>.md | prompt>
4
4
  allowed-tools:
5
5
  [
@@ -10,40 +10,40 @@ allowed-tools:
10
10
  ]
11
11
  ---
12
12
 
13
- # plan-new — trampolín al loop de planificación
13
+ # plan-new — trampoline to the planning loop
14
14
 
15
- Puente SPEC → PLAN. Convierte el "qué" (spec refinado) en el "cómo" (plan). Delega a `plan-new-loop` (Layer 2).
15
+ SPEC → PLAN bridge. Turns the "what" (refined spec) into the "how" (plan). Delegates to `plan-new-loop` (Layer 2).
16
16
 
17
- ## Resolución de input
17
+ ## Input resolution
18
18
 
19
- El skill evalúa `$ARGUMENTS` (los specs viven in place — `docs/specs/NNN-spec-<slug>.md`; localizar vía glob `docs/specs/NNN-spec-*.md` o la ruta exacta):
19
+ The skill evaluates `$ARGUMENTS` (specs live in place — `docs/specs/NNN-spec-<slug>.md`; locate via the `docs/specs/NNN-spec-*.md` glob or the exact path):
20
20
 
21
- 1. **Spec refinado** (`docs/specs/NNN-spec-<slug>.md` que **ya tiene** `## Refinement decisions` / `## Q&A traceability`) → ideal. Procede directamente a `plan-new-loop`.
22
- 2. **Spec borrador** (mismo archivo, pero **sin** esas dos secciones) → **soft-suggest** correr `/w:spec-refine` primero; planificar sobre un spec sólido produce mejores planes (el usuario puede proceder igual).
23
- 3. **prompt** (sin spec referenciado) → propone usar el flujo SPEC; **por default lanza `/w:spec-new`** con ese prompt para crear el borrador, y desde ahí continúa el flujo natural.
21
+ 1. **Refined spec** (`docs/specs/NNN-spec-<slug>.md` that **already has** `## Refinement decisions` / `## Q&A traceability`) → ideal. Proceed straight to `plan-new-loop`.
22
+ 2. **Draft spec** (same file, but **without** those two sections) → **soft-suggest** running `/w:spec-refine` first; planning over a solid spec produces better plans (the user may proceed anyway).
23
+ 3. **prompt** (no spec referenced) → propose using the SPEC flow; **by default launch `/w:spec-new`** with that prompt to create the draft, and continue the natural flow from there.
24
24
 
25
- > **Refinado vs borrador** se distingue por la **presencia** de `## Refinement decisions` / `## Q&A traceability` en el spec, no por el nombre del archivo (ya no hay `-refined`).
25
+ > **Refined vs draft** is distinguished by the **presence** of `## Refinement decisions` / `## Q&A traceability` in the spec, never by the filename (there is no `-refined` anymore).
26
26
 
27
- ## Ejecutar el loop
27
+ ## Run the loop
28
28
 
29
- `plan-new-loop` **no** es una skill invocable por nombrees el manual de operación de este comando (un doc hermano del bundle). **Cargalo y ejecutalo de punta a punta**:
29
+ `plan-new-loop` is **not** a skill invocable by nameit is this command's operating manual (a sibling doc in the bundle). **Load it and execute it end to end**:
30
30
 
31
- 1. **Leé** `../loops/plan-new-loop/SKILL.md` (dentro de la skill `w` instaladap. ej. `~/.claude/skills/w/loops/…`).
32
- 2. **Seguí** sus instrucciones tomando `$ARGUMENTS` como input (resuelto según las 3 reglas de arriba): detecta estado/resume, corre el motor gap-driven, crea y maneja sessions, converge y reporta.
31
+ 1. **Read** `../loops/plan-new-loop/SKILL.md` (inside the installed `w` skille.g. `~/.claude/skills/w/loops/…`).
32
+ 2. **Follow** its instructions taking `$ARGUMENTS` as input (resolved per the 3 rules above): it detects state/resume, runs the gap-driven engine, creates and manages sessions, converges and reports.
33
33
 
34
- > No intentes `Skill: plan-new-loop` — no está registrada como skill. El comando **es** la entrada; el loop es su cuerpo.
34
+ > Do not try `Skill: plan-new-loop` — it is not registered as a skill. The command **is** the entry; the loop is its body.
35
35
 
36
- ## Notas de numeración
36
+ ## Numbering notes
37
37
 
38
- El plan se nombra `docs/plans/PPP-plan-<slug>.md`. El CLI solo devuelve el número `PPP`; el loop arma el nombre completo (slug = kebab-case corto del Requirement: `[a-z0-9-]`, ≤ ~5 palabras / ≤ 40 chars). **No hereda el `NNN` del spec**. El vínculo al spec se establece por referencia (`## Origin` / "Derivado de") en el plan, no por número.
38
+ The plan is named `docs/plans/PPP-plan-<slug>.md`. `aw next-number docs/plans` returns JSON (field `next` = `PPP`); the loop builds the full name (slug = short kebab-case from the Requirement: `[a-z0-9-]`, ≤ ~5 words / ≤ 40 chars). It does **not inherit the spec's `NNN`**. The link to the spec is established by reference (`## Origin` / "Derived from") in the plan, never by number.
39
39
 
40
40
  ## UI → design SPECs
41
41
 
42
- Si el plan **incluye UI**, el loop compone la capacidad `ui-design` y produce **design SPECs** por pantalla (`NNN-SPEC-<SLUG>.md`) como artefactos de su sesiónlas Tasks UI del plan los referencian (ver `../loops/plan-new-loop/SKILL.md` § *Delta 4* y `../artifacts/artifacts-design/SPEC.md`).
42
+ If the plan **includes UI**, the loop composes the `ui-design` capability and produces per-screen **design SPECs** (`NNN-SPEC-<SLUG>.md`) as artifacts of its sessionthe plan's UI Tasks reference them (see `../loops/plan-new-loop/SKILL.md` § *Delta 4* and `../artifacts/artifacts-design/SPEC.md`).
43
43
 
44
44
  ## Plan mode
45
45
 
46
- El skill resuelve el input según las 3 reglas de arriba y describe las acciones del loop que ejecutaría, sin arrancar la iteración.
46
+ The skill resolves the input per the 3 rules above and describes the loop actions it would run, without starting the iteration.
47
47
 
48
48
  ## Resources
49
49
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Inicia o retoma el loop de refinamiento de un plan (plan-refine-loop). Paso auxiliar y NO obligatorio del flujo PLAN — refina un plan existente in place antes de ejecutarlo. Input ideal: docs/plans/PPP-plan-<slug>.md ya generado por plan-new.
2
+ description: Starts or resumes the plan refinement loop (plan-refine-loop). An auxiliary, NOT mandatory step of the PLAN flow refines an existing plan in place before executing it. Ideal input: a docs/plans/PPP-plan-<slug>.md already generated by plan-new.
3
3
  argument-hint: <docs/plans/PPP-plan-<slug>.md>
4
4
  allowed-tools:
5
5
  [
@@ -10,46 +10,46 @@ allowed-tools:
10
10
  ]
11
11
  ---
12
12
 
13
- # plan-refine — trampolín al loop de refinamiento del plan
13
+ # plan-refine — trampoline to the plan refinement loop
14
14
 
15
- Paso **auxiliar y NO obligatorio** del flujo PLAN: el gemelo de `spec-refine`, pero sobre el **plan**. `plan-new` ya produce un plan a partir del spec refinado; `plan-refine` existe para cuando —**antes de ejecutar**— surgen cambios (nuevos requerimientos, ajustes de alcance, deps o riesgos que aparecen al releer el plan) que conviene incorporar sin re-generar el plan desde cero.
15
+ An **auxiliary, NOT mandatory** step of the PLAN flow: `spec-refine`'s twin, but over the **plan**. `plan-new` already produces a plan from the refined spec; `plan-refine` exists for when **before executing** changes arise (new requirements, scope adjustments, deps or risks spotted while re-reading the plan) worth incorporating without regenerating the plan from scratch.
16
16
 
17
- Este comando no refina el plan él mismo: delega al loop `plan-refine-loop` (Layer 2), que itera, cierra gaps y edita el plan **in place**.
17
+ This command does not refine the plan itself: it delegates to `plan-refine-loop` (Layer 2), which iterates, closes gaps and edits the plan **in place**.
18
18
 
19
- > **No obligatorio.** `plan-exec` corre **cualquier** plan, refinado o no — no hay gate que exija pasar por aquí. Usalo solo cuando el plan necesite ajustes antes de ejecutar.
19
+ > **Not mandatory.** `plan-exec` runs **any** plan, refined or not — no gate requires passing through here. Use it only when the plan needs adjustments before executing.
20
20
 
21
- ## Resolución de input
21
+ ## Input resolution
22
22
 
23
- El skill evalúa `$ARGUMENTS` (los planes viven in place — `docs/plans/PPP-plan-<slug>.md`; localizar vía glob `docs/plans/PPP-plan-*.md` o la ruta exacta):
23
+ The skill evaluates `$ARGUMENTS` (plans live in place — `docs/plans/PPP-plan-<slug>.md`; locate via the `docs/plans/PPP-plan-*.md` glob or the exact path):
24
24
 
25
- 1. **Plan existente** (`docs/plans/PPP-plan-<slug>.md`) → procede a `plan-refine-loop`.
26
- 2. **Sin plan** (el arg no referencia un plan, o no hay ninguno) → **soft-suggest** correr `/w:plan-new` primero (no hay nada que refinar todavía); el usuario decide.
25
+ 1. **Existing plan** (`docs/plans/PPP-plan-<slug>.md`) → proceed to `plan-refine-loop`.
26
+ 2. **No plan** (the arg references no plan, or none exists) → **soft-suggest** running `/w:plan-new` first (there is nothing to refine yet); the user decides.
27
27
 
28
- ## Ejecutar el loop
28
+ ## Run the loop
29
29
 
30
- `plan-refine-loop` **no** es una skill invocable por nombrees el manual de operación de este comando (un doc hermano del bundle). **Cargalo y ejecutalo de punta a punta**:
30
+ `plan-refine-loop` is **not** a skill invocable by nameit is this command's operating manual (a sibling doc in the bundle). **Load it and execute it end to end**:
31
31
 
32
- 1. **Leé** `../loops/plan-refine-loop/SKILL.md` (dentro de la skill `w` instaladap. ej. `~/.claude/skills/w/loops/…`).
33
- 2. **Seguí** sus instrucciones tomando `$ARGUMENTS` como input: detecta estado/resume, corre el motor gap-driven, crea y maneja sessions, converge y reporta.
32
+ 1. **Read** `../loops/plan-refine-loop/SKILL.md` (inside the installed `w` skille.g. `~/.claude/skills/w/loops/…`).
33
+ 2. **Follow** its instructions taking `$ARGUMENTS` as input: it detects state/resume, runs the gap-driven engine, creates and manages sessions, converges and reports.
34
34
 
35
- > No intentes `Skill: plan-refine-loop` — no está registrada como skill. El comando **es** la entrada; el loop es su cuerpo.
35
+ > Do not try `Skill: plan-refine-loop` — it is not registered as a skill. The command **is** the entry; the loop is its body.
36
36
 
37
- ## Resolución de estado (resumable)
37
+ ## State resolution (resumable)
38
38
 
39
- El skill detecta el estado previo antes de arrancar, **keyando off el `CHECKPOINT`** (no un archivo "refined"):
39
+ The skill detects prior state before starting, **keying off the `CHECKPOINT`** (never a "refined" file):
40
40
 
41
- 1. Busca la sesión de refinamiento del plan en `.workflow/sessions/` (descriptor `<slug>-plan-refine` + `## Origin`) y su `CHECKPOINT.md`.
42
- 2. **En curso** (existe CHECKPOINT) → continúa desde el avance previo (gaps resueltos, Q&A).
43
- 3. **Sin avance** (sin CHECKPOINT y el plan **no** tiene `## Refinement decisions`/`## Q&A traceability`) → arranca desde cero leyendo el plan (`PPP-plan-*.md`).
44
- 4. **Ya refinado / re-refine a demanda** (sin CHECKPOINT abierto pero el plan **ya tiene** `## Refinement decisions`/`## Q&A traceability`) → **soportado de primera clase**: mientras el flujo siga en PLAN podés re-correr `/w:plan-refine` sobre el mismo plan **las veces que haga falta** (nuevos requerimientos, cambios de scope, re-lectura). El loop hace `create_or_resume` — localiza la refine session existente (aunque esté cerrada) y la **reabre** en vez de duplicarlay re-refina leyendo el **plan mismo**; al `Guardar`, edita in place con confirmación.
41
+ 1. Find the plan's refinement session under `.workflow/sessions/` (descriptor `<slug>-plan-refine` + `## Origin`) and its `CHECKPOINT.md`.
42
+ 2. **In progress** (a CHECKPOINT exists) → continue from the recorded progress (resolved gaps, Q&A).
43
+ 3. **No progress** (no CHECKPOINT and the plan does **not** have `## Refinement decisions`/`## Q&A traceability`) → start from zero reading the plan (`PPP-plan-*.md`).
44
+ 4. **Already refined / re-refine on demand** (no open CHECKPOINT but the plan **already has** the 2 sections) → **first-class operation**: while the flow stays in PLAN you can re-run `/w:plan-refine` over the same plan **as many times as needed** (new requirements, scope changes, re-reads). The loop does `create_or_resume` — it locates the existing refine session (even closed) and **reopens** it instead of duplicatingand re-refines reading the **plan itself**; on `Guardar`, edits in place with confirmation.
45
45
 
46
46
  ## UI → design SPECs
47
47
 
48
- Si el refine **toca UI**, el loop compone `ui-design` y produce/actualiza **design SPECs** (`NNN-SPEC-<SLUG>.md`) en su propia sesiónacotado a las pantallas nuevas/cambiadasy re-apunta las referencias del plan (ver `../loops/plan-refine-loop/SKILL.md` § *Delta 4*).
48
+ If the refine **touches UI**, the loop composes `ui-design` and produces/updates **design SPECs** (`NNN-SPEC-<SLUG>.md`) in its own sessionscoped to the new/changed screens and re-points the plan references (see `../loops/plan-refine-loop/SKILL.md` § *Delta 4*).
49
49
 
50
50
  ## Plan mode
51
51
 
52
- El skill resuelve el estado y describe las acciones que ejecutaría el loop (gaps que cerraría, preguntas que haría), sin arrancar la iteración.
52
+ The skill resolves the state and describes the actions the loop would run (gaps it would close, questions it would ask), without starting the iteration.
53
53
 
54
54
  ## Resources
55
55