@tacuchi/agent-workflow-cli 15.2.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 (39) hide show
  1. package/package.json +1 -1
  2. package/skills/w/README.md +14 -14
  3. package/skills/w/SKILL.md +94 -82
  4. package/skills/w/artifacts/artifacts-core/TASKS.md +1 -1
  5. package/skills/w/artifacts/artifacts-research/CONCLUSIONS.md +1 -1
  6. package/skills/w/commands/README.md +22 -22
  7. package/skills/w/commands/export-diagrams.md +9 -9
  8. package/skills/w/commands/export-manuals.md +9 -9
  9. package/skills/w/commands/export-reports.md +9 -9
  10. package/skills/w/commands/export-scripts.md +9 -9
  11. package/skills/w/commands/fix-git.md +12 -12
  12. package/skills/w/commands/plan-exec.md +19 -19
  13. package/skills/w/commands/plan-new.md +18 -18
  14. package/skills/w/commands/plan-refine.md +22 -22
  15. package/skills/w/commands/quick.md +16 -16
  16. package/skills/w/commands/spec-new.md +35 -34
  17. package/skills/w/commands/spec-refine.md +16 -16
  18. package/skills/w/commands/status.md +18 -16
  19. package/skills/w/commands/workspace-init.md +14 -14
  20. package/skills/w/exports/README.md +5 -5
  21. package/skills/w/exports/export-diagrams/SKILL.md +58 -58
  22. package/skills/w/exports/export-manuals/SKILL.md +61 -61
  23. package/skills/w/exports/export-reports/SKILL.md +51 -51
  24. package/skills/w/exports/export-scripts/SKILL.md +60 -60
  25. package/skills/w/harness/SKILL.md +48 -47
  26. package/skills/w/loops/CHASSIS.md +101 -98
  27. package/skills/w/loops/CODE-POLICIES.md +21 -21
  28. package/skills/w/loops/README.md +30 -29
  29. package/skills/w/loops/plan-exec-loop/SKILL.md +77 -77
  30. package/skills/w/loops/plan-new-loop/SKILL.md +80 -80
  31. package/skills/w/loops/plan-refine-loop/SKILL.md +62 -62
  32. package/skills/w/loops/quick-loop/SKILL.md +79 -79
  33. package/skills/w/loops/spec-refine-loop/SKILL.md +93 -94
  34. package/skills/w/roles/README.md +2 -2
  35. package/skills/w/roles/diagrams/SKILL.md +50 -47
  36. package/skills/w/roles/git/SKILL.md +58 -58
  37. package/skills/w/roles/research/SKILL.md +65 -62
  38. package/skills/w/roles/sql/SKILL.md +59 -55
  39. package/skills/w/roles/ui-spec/SKILL.md +60 -74
@@ -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`. `aw next-number docs/plans` devuelve JSON (campo `next` = `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
 
@@ -1,6 +1,6 @@
1
1
  ---
2
- description: Atajo liviano para trabajo acotado (fix, ajuste, chore) que no amerita spec ni plan. Inicia quick-loop. No toca docs/. Si el objetivo excede un quick o la tarea crece, escala: a SPEC en vivo (con consentimiento), a PLAN diferido.
3
- argument-hint: <prompt con la tarea acotada>
2
+ description: Lightweight shortcut for scoped work (fix, tweak, chore) that warrants no spec or plan. Starts quick-loop. Never touches docs/. If the objective exceeds a quick or the task grows, it escalates — to SPEC live (with consent), to PLAN deferred.
3
+ argument-hint: <prompt with the scoped task>
4
4
  allowed-tools:
5
5
  [
6
6
  "Bash",
@@ -10,30 +10,30 @@ allowed-tools:
10
10
  ]
11
11
  ---
12
12
 
13
- # quick — trampolín al loop liviano
13
+ # quick — trampoline to the lightweight loop
14
14
 
15
- Para tareas acotadas y directas que no justifican pasar por SPEC ni PLAN. Crea una sesión ligera (trazabilidad + resume) — salvo que el **gate de tamaño a la entrada** escale a SPEC antes de empezar. Delega a `quick-loop` (Layer 2).
15
+ For scoped, direct tasks that do not justify going through SPEC or PLAN. Creates a light session (traceability + resume) — unless the **entry size gate** escalates to SPEC before starting. Delegates to `quick-loop` (Layer 2).
16
16
 
17
- ## Ejecutar el loop
17
+ ## Run the loop
18
18
 
19
- `quick-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
+ `quick-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/quick-loop/SKILL.md` (dentro de la skill `w` instaladap. ej. `~/.claude/skills/w/loops/…`).
22
- 2. **Seguí** sus instrucciones tomando `$ARGUMENTS` como la tarea: evalúa el gate de tamaño, crea la session ligera, trabaja con ceremonia mínima (git-safe), escala si excede o crece (SPEC en vivo / PLAN diferido), y reporta.
21
+ 1. **Read** `../loops/quick-loop/SKILL.md` (inside the installed `w` skille.g. `~/.claude/skills/w/loops/…`).
22
+ 2. **Follow** its instructions taking `$ARGUMENTS` as the task: it evaluates the size gate, creates the light session, works with minimal ceremony (git-safe), escalates if the task exceeds or grows (SPEC live / PLAN deferred), and reports.
23
23
 
24
- > No intentes `Skill: quick-loop` — no está registrada como skill. El comando **es** la entrada; el loop es su cuerpo.
24
+ > Do not try `Skill: quick-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
26
+ ## What the loop does
27
27
 
28
- - Edita código en las fuentes del workspace.
29
- - Artefactos mínimos en la sesión (DECISION lazy, commit propuesto).
30
- - **Gate de revisión de cierre proporcional** antes de proponer el único commit: re-lee el diff aplicando las convenciones ambientes instaladas y corrige o difiere (ver `../loops/quick-loop/SKILL.md` § *Sequence*).
31
- - **No toca `docs/`** ni exporta nada.
32
- - **Escala** si emerge complejidad — **gate de tamaño a la entrada** (antes de crear la session) y mid-loop (muchos archivos, ≥2 fuentes, necesita arquitectura, o el cambio es feature/refactor). Aceptar **SPEC** = transición **en vivo** al flujo SPEC (borrador vía procedimiento spec-new + spec-refine-loop); **PLAN** queda sembrado para retomar. Ver `../loops/quick-loop/SKILL.md` § *Delta QUICK*.
28
+ - Edits code in the workspace sources.
29
+ - Minimal session artifacts (lazy DECISION, proposed commit).
30
+ - **Proportional closing review gate** before proposing the single commit: re-reads the diff applying the installed ambient conventions and fixes or defers (see `../loops/quick-loop/SKILL.md` § *Sequence*).
31
+ - **Never touches `docs/`** and exports nothing.
32
+ - **Escalates** when complexity emerges — **entry size gate** (before creating the session) and mid-loop (many files, ≥2 sources, needs architecture, or the change is a feature/refactor). Accepting **SPEC** = **live** transition into the SPEC flow (draft via the spec-new procedure + spec-refine-loop); **PLAN** stays seeded for later. See `../loops/quick-loop/SKILL.md` § *QUICK delta*.
33
33
 
34
34
  ## Plan mode
35
35
 
36
- El skill describe los cambios que aplicaría y los archivos que tocaría, sin ejecutarlos. Incluye la escalación: si el gate (de entrada o mid-loop) dispararía, la describe (opciones + spec que materializaría) sin escribir `docs/` ni arrancar loops.
36
+ The skill describes the changes it would apply and the files it would touch, without executing them. Escalation included: if the gate (entry or mid-loop) would fire, it describes it (options + the spec it would materialize) without writing `docs/` or starting loops.
37
37
 
38
38
  ## Resources
39
39
 
@@ -1,6 +1,6 @@
1
1
  ---
2
- description: Genera un borrador de especificación (docs/specs/NNN-spec-<slug>.md) a partir de un prompt, en una sola pasada. Paso 1 del flujo SPEC; no arranca loop.
3
- argument-hint: <prompt con el requerimiento o idea>
2
+ description: Generates a specification draft (docs/specs/NNN-spec-<slug>.md) from a prompt, in a single pass. Step 1 of the SPEC flow; starts no loop.
3
+ argument-hint: <prompt with the requirement or idea>
4
4
  allowed-tools:
5
5
  [
6
6
  "Bash",
@@ -9,71 +9,72 @@ allowed-tools:
9
9
  ]
10
10
  ---
11
11
 
12
- # spec-new — borrador de especificación (single-pass)
12
+ # spec-new — specification draft (single-pass)
13
13
 
14
- Genera `docs/specs/NNN-spec-<slug>.md` en una sola pasada a partir del prompt en `$ARGUMENTS`. No arranca loop.
14
+ Generates `docs/specs/NNN-spec-<slug>.md` in a single pass from the prompt in `$ARGUMENTS`. Starts no loop.
15
15
 
16
- > ## ⛔ Single-pass — SIN investigación (regla dura)
16
+ > ## ⛔ Single-pass — NO RESEARCH (hard rule)
17
17
  >
18
- > Este comando **solo parafrasea** el input del usuario en el esquema de borrador. Es **una única pasada secuencial**: leer `$ARGUMENTS` → llenar las seccionesescribir el archivo. Nada más. Debe tardar **segundos, no minutos**.
18
+ > This command **only paraphrases** the user's input into the draft schema. It is **one sequential pass**: read `$ARGUMENTS` → fill the sectionswrite the file. Nothing else. It must take **seconds, not minutes**.
19
19
  >
20
- > **PROHIBIDO**, sin excepción: lanzar sub-agentes/workflows (`Task`/`Agent`/`Workflow`), sesiones de research, búsquedas web, o investigación profunda de código — **incluso si el arnés está en un modo de máximo esfuerzo/profundidad** (ej. ultracode/max-effort en Claude Code).
20
+ > **FORBIDDEN**, no exceptions: launching sub-agents/workflows (`Task`/`Agent`/`Workflow`), research sessions, web searches, or deep code investigation — **even if the harness is in a maximum-effort/depth mode** (e.g. ultracode/max-effort in Claude Code).
21
21
  >
22
- > Esto **anula** cualquier modo o instrucción de sesión que diga "corre un workflow para toda tarea sustancial". Esos modos **no aplican** a `spec-new`: el comando los pisa. Si una sección queda incierta, **no la investigues** — declarala en `## Open questions` o `## Assumptions` y seguí.
22
+ > This **overrides** any mode or session instruction saying "run a workflow for every substantial task". Those modes do **not** apply to `spec-new`: this command overrides them. If a section is uncertain, **do not investigate it** — declare it under `## Open questions` or `## Assumptions` and move on.
23
23
  >
24
- > La investigación a profundidad (cerrar gaps, mapear código, consultar BD, research autónomo) es trabajo de **`spec-refine`**, no de aquí.
24
+ > Deep investigation (closing gaps, mapping code, querying DB, autonomous research) is **`spec-refine`** work, not this command's.
25
25
 
26
- 1. Ejecutar `aw next-number docs/specs` (única tool de shell necesaria): devuelve JSON — usá el campo `next` como `NNN`. El slug lo arma este comando.
27
- 2. Derivar el `<slug>`: kebab-case corto del Requirement — solo `[a-z0-9-]`, ≤ ~5 palabras / ≤ 40 chars.
28
- 3. Crear `docs/specs/NNN-spec-<slug>.md` parafraseando `$ARGUMENTS` en el esquema de borrador (ver abajo). Lectura del repo: opcional y mínima (p. ej. un archivo que el usuario citó) — nunca un barrido ni research.
29
- 4. Mostrar el archivo generado y el próximo paso sugerido (`/w:spec-refine docs/specs/NNN-spec-<slug>.md`).
26
+ 1. Run `aw next-number docs/specs` (the only shell tool needed): it returns JSON — use the `next` field as `NNN`. This command builds the slug.
27
+ 2. Derive the `<slug>`: short kebab-case from the Requirement — only `[a-z0-9-]`, ≤ ~5 words / ≤ 40 chars.
28
+ 3. Create `docs/specs/NNN-spec-<slug>.md` paraphrasing `$ARGUMENTS` into the draft schema (below). Repo reading: optional and minimal (e.g. one file the user cited) — never a sweep or research.
29
+ 4. Show the generated file and the suggested next step (`/w:spec-refine docs/specs/NNN-spec-<slug>.md`).
30
30
 
31
- ## Esquema del borrador (`NNN-spec-<slug>.md`)
31
+ ## Draft schema (`NNN-spec-<slug>.md`)
32
32
 
33
33
  ```markdown
34
34
  # Spec NNN — <slug>
35
35
 
36
36
  ## Origin (opt.)
37
- Prompt original / doc previo / referencia que originó el spec.
37
+ Original prompt / prior doc / reference that originated the spec.
38
38
 
39
39
  ## Requirement
40
- El qué se necesita + por qué (breve). En lenguaje del usuario.
40
+ The what + why (brief). In the user's language.
41
41
 
42
42
  ## Context (opt.)
43
- Sistemas / componentes / fuentes involucradas. Restricciones conocidas.
43
+ Systems / components / sources involved. Known constraints.
44
44
 
45
45
  ## Scope
46
- - In: qué entra
47
- - Out: qué NO entra
46
+ - In: what is included
47
+ - Out: what is NOT included
48
48
 
49
49
  ## Acceptance criteria
50
- - [ ] criterio verificable 1 (estilo EARS / Given-When-Then recomendado)
51
- - [ ] criterio verificable 2
50
+ - [ ] verifiable criterion 1 (EARS / Given-When-Then style recommended)
51
+ - [ ] verifiable criterion 2
52
52
 
53
53
  ## Assumptions (opt.)
54
- Supuestos asumidos.
54
+ Assumed facts.
55
55
 
56
56
  ## Open questions
57
- Dudas pendientes. ← el spec-refine-loop las va cerrando.
57
+ Pending doubts. ← the spec-refine-loop closes them.
58
58
  ```
59
59
 
60
- > **`Open questions` va último** — el spec refinado **inserta antes de `Open questions`** `## UI spec` (si hay UI) + `## Refinement decisions` + `## Q&A traceability` (esquema refinado en el [`spec-refine-loop`](../loops/spec-refine-loop/SKILL.md)). Mismo esqueleto: el borrador y el refinado comparten orden.
60
+ > **`Open questions` goes last** — the refined spec **inserts before `Open questions`** `## UI spec` (if there is UI) + `## Refinement decisions` + `## Q&A traceability` (refined schema in the [`spec-refine-loop`](../loops/spec-refine-loop/SKILL.md)). Same skeleton: the draft and the refined spec share the order.
61
61
 
62
- **Notas de llenado:**
63
- - Sin campo `Type` — `plan-new` infiere el cómo.
64
- - `Scope` siempre lleva `Out` (qué queda fuera).
65
- - **Acceptance criteria = criterios testables estáticos** (el "qué"): `plan-exec` los valida pero el avance se trackea en el PLAN (sus Tasks), no marcando estos `- [ ]` en el spec; el spec no muta por ejecución, solo por re-refine.
66
- - Si hay **UI** involucrada, mencionarlo en `Requirement`/`Context`; el `## UI spec` se autora en `spec-refine` (vía capacidad `ui-design`). "UI sin especificar" es un gap de primera clase del refinamiento.
67
- - Los **gaps** que detecta el loop = secciones débiles del esquema (Requirement vago, Scope sin `Out`, criterios no testables, Open questions abiertas, supuestos no declarados, contradicciones) **+ UI sin especificar** si el requerimiento involucra UI.
68
- - Alternativa equivalente: el usuario crea el borrador a mano. Ambos caminos producen el mismo `docs/specs/NNN-spec-<slug>.md`.
62
+ **Filling notes:**
69
63
 
70
- > **Reuso por escalación:** la escalación en vivo de `/w:quick` (ver [`../loops/quick-loop/SKILL.md`](../loops/quick-loop/SKILL.md) § *Delta QUICK*) materializa su borrador siguiendo **este mismo procedimiento** (pasos 1-3: mismo esquema, misma regla dura single-pass **SIN investigación**), con `## Origin` = "escalado desde `/w:quick`" + el prompt original. No hace falta tipear `/w:spec-new`: el consentimiento en la structured-choice equivale a invocarlo.
64
+ - No `Type` field `plan-new` infers the how.
65
+ - `Scope` always carries `Out` (what stays out).
66
+ - **Acceptance criteria = static testable criteria** (the "what"): `plan-exec` validates them, but progress is tracked in the PLAN (its Tasks), never by ticking these `- [ ]` in the spec; the spec never mutates by execution, only by a re-refine.
67
+ - If **UI** is involved, mention it in `Requirement`/`Context`; the `## UI spec` is authored in `spec-refine` (via the `ui-design` capability). "UI unspecified" is a first-class refinement gap.
68
+ - The **gaps** the loop detects = weak sections of the schema (vague Requirement, Scope without `Out`, untestable criteria, open questions, undeclared assumptions, contradictions) **+ UI unspecified** when the requirement involves UI.
69
+ - Equivalent alternative: the user creates the draft by hand. Both paths produce the same `docs/specs/NNN-spec-<slug>.md`.
70
+
71
+ > **Reuse by escalation:** the live escalation from `/w:quick` (see [`../loops/quick-loop/SKILL.md`](../loops/quick-loop/SKILL.md) § *QUICK delta*) materializes its draft following **this same procedure** (steps 1-3: same schema, same NO RESEARCH single-pass hard rule), with `## Origin` = "escalated from `/w:quick`" + the original prompt. No need to type `/w:spec-new`: the consent in the structured-choice equals invoking it.
71
72
 
72
73
  ## Plan mode
73
74
 
74
- Resuelve `NNN` leyendo `docs/specs/`, describe el borrador que generaría sin escribir el archivo.
75
+ Resolves `NNN` by reading `docs/specs/`, describes the draft it would generate without writing the file.
75
76
 
76
77
  ## Resources
77
78
 
78
79
  - Design reference: `docs/referencias/workflow-commands/spec-new.md`
79
- - Loop que refina este borrador: `../loops/spec-refine-loop/SKILL.md`
80
+ - Loop that refines this draft: `../loops/spec-refine-loop/SKILL.md`