@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,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` para obtener `NNN` (única tool de shell necesaria). El CLI solo devuelve el número; 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`
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Inicia o retoma el loop de refinamiento de una especificación (spec-refine-loop). Input: docs/specs/NNN-spec-<slug>.md (borradorde spec-new, a mano, o materializado por la escalación de quick). Actualiza docs/specs/NNN-spec-<slug>.md in place.
2
+ description: Starts or resumes the specification refinement loop (spec-refine-loop). Input: docs/specs/NNN-spec-<slug>.md (a draft from spec-new, hand-written, or materialized by the quick escalation). Updates docs/specs/NNN-spec-<slug>.md in place.
3
3
  argument-hint: <docs/specs/NNN-spec-<slug>.md>
4
4
  allowed-tools:
5
5
  [
@@ -10,33 +10,33 @@ allowed-tools:
10
10
  ]
11
11
  ---
12
12
 
13
- # spec-refine — trampolín al loop de refinamiento
13
+ # spec-refine — trampoline to the refinement loop
14
14
 
15
- Este comando no refina el spec él mismo: delega al loop `spec-refine-loop` (Layer 2), que es quien itera, cierra gaps y produce el spec refinado.
15
+ This command does not refine the spec itself: it delegates to `spec-refine-loop` (Layer 2), which iterates, closes gaps and produces the refined spec.
16
16
 
17
- ## Ejecutar el loop
17
+ ## Run the loop
18
18
 
19
- `spec-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**:
19
+ `spec-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**:
20
20
 
21
- 1. **Leé** `../loops/spec-refine-loop/SKILL.md` (dentro de la skill `w` instaladap. ej. `~/.claude/skills/w/loops/…`).
22
- 2. **Seguí** sus instrucciones tomando `$ARGUMENTS` como input: detecta estado/resume, corre el motor gap-driven, crea y maneja sessions, converge y reporta.
21
+ 1. **Read** `../loops/spec-refine-loop/SKILL.md` (inside the installed `w` skille.g. `~/.claude/skills/w/loops/…`).
22
+ 2. **Follow** its instructions taking `$ARGUMENTS` as input: it detects state/resume, runs the gap-driven engine, creates and manages sessions, converges and reports.
23
23
 
24
- > No intentes `Skill: spec-refine-loop` — no está registrada como skill. El comando **es** la entrada; el loop es su cuerpo.
24
+ > Do not try `Skill: spec-refine-loop` — it is not registered as a skill. The command **is** the entry; the loop is its body.
25
25
 
26
- ## Resolución de estado (resumable)
26
+ ## State resolution (resumable)
27
27
 
28
- El skill detecta el estado previo antes de arrancar, **keyando off el `CHECKPOINT`** (no la existencia de un archivo "refined"):
28
+ The skill detects prior state before starting, **keying off the `CHECKPOINT`** (never the existence of a "refined" file):
29
29
 
30
- 1. Busca la sesión de refinamiento del spec en `.workflow/sessions/` y su `CHECKPOINT.md`.
31
- 2. **En curso** (existe CHECKPOINT) → continúa desde el avance previo (gaps resueltos, Q&A).
32
- 3. **Sin avance** (sin CHECKPOINT y el spec **no** tiene `## Refinement decisions`/`## Q&A traceability`) → arranca desde cero leyendo el spec (`NNN-spec*.md`).
33
- 4. **Ya refinado / re-refine a demanda** (sin CHECKPOINT abierto pero el spec **ya tiene** `## Refinement decisions`/`## Q&A traceability`) → **soportado de primera clase**: mientras el flujo siga en SPEC podés re-correr este comando sobre el mismo spec **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 **spec mismo**; al `Guardar`, edita in place con confirmación.
30
+ 1. Find the spec's refinement session under `.workflow/sessions/` and its `CHECKPOINT.md`.
31
+ 2. **In progress** (a CHECKPOINT exists) → continue from the recorded progress (resolved gaps, Q&A).
32
+ 3. **No progress** (no CHECKPOINT and the spec does **not** have `## Refinement decisions`/`## Q&A traceability`) → start from zero reading the spec (`NNN-spec*.md`).
33
+ 4. **Already refined / re-refine on demand** (no open CHECKPOINT but the spec **already has** the 2 sections) → **first-class operation**: while the flow stays in SPEC you can re-run this command over the same spec **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 **spec itself**; on `Guardar`, edits in place with confirmation.
34
34
 
35
- > **Compat (legacy):** el glob `NNN-spec*.md` también captura specs viejos `NNN-spec.md` / `NNN-spec-refined.md`. Re-correr spec-refine los edita in place de ahí en adelante.
35
+ > **Compat (legacy):** the `NNN-spec*.md` glob also catches old `NNN-spec.md` / `NNN-spec-refined.md` specs. Re-running spec-refine edits them in place from then on.
36
36
 
37
37
  ## Plan mode
38
38
 
39
- 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.
39
+ 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.
40
40
 
41
41
  ## Resources
42
42
 
@@ -1,6 +1,6 @@
1
1
  ---
2
- description: Dashboard read-only del workspace — qué se hizo / qué falta / qué se descartó, con fechas en español (hace 2 días, ayer en la mañana). Se apoya en `aw status`. Comando transversal (no es un flow); no escribe nada.
3
- argument-hint: (sin argumentos)
2
+ description: Read-only workspace dashboard what got done / what is missing / what was discarded, with dates humanized in the user's language. Backed by `aw status`. Transversal command (not a flow); writes nothing.
3
+ argument-hint: (no arguments)
4
4
  allowed-tools:
5
5
  [
6
6
  "Bash",
@@ -8,22 +8,22 @@ allowed-tools:
8
8
  ]
9
9
  ---
10
10
 
11
- # status — estado del workspace (read-only)
11
+ # status — workspace state (read-only)
12
12
 
13
- Muestra, simple y directo, el estado del workspace agrupado en **Hecho / Falta / Descartó**. Single-pass, read-only: no abre loop, no crea sesiones, no escribe en `docs/` ni en `.workflow/`. Comando **transversal** (no pertenece a ningún flow).
13
+ Shows, simple and direct, the workspace state grouped as **Done / Missing / Discarded**. Single-pass, read-only: no loop, no sessions, writes nothing in `docs/` or `.workflow/`. **Transversal** command (belongs to no flow).
14
14
 
15
- ## Ejecutar
15
+ ## Run
16
16
 
17
- 1. Corré `aw status` (devuelve JSON; se apoya en `status-service`).
18
- 2. Renderizá un resumen legible a partir del JSON — **no** muestres el JSON crudo. Usá el campo `relative` tal cual (ya viene humanizado en español). Encabezá con `workspace.name`.
19
- 3. Agrupá en tres bloques:
20
- - **▸ HECHO** — specs con `refined: true`; plans con su progreso (`tasks_done`/`tasks_total`, `progress_pct`); sesiones `closed`.
21
- - **▸ FALTA**sesiones `active`; plans con tareas pendientes (`tasks_total − tasks_done`); specs con `open_questions > 0`.
22
- - **▸ DESCARTÓ**cada item de `discarded[]` (`kind: deferred` = diferido en BACKLOG; `kind: excluded` = excluido en CHECKPOINT), con su `text`.
23
- 4. Cada línea termina con su fecha relativa tras ` · ` (ej. `· ayer en la mañana`). Si una sección queda vacía, mostrá `— (nada)`. No inventes datos que no estén en el JSON.
24
- 5. Si `workspace.initialized` es `false` y todo está vacíodecí "No es un workspace de agent-workflow (no hay `.workflow/`)" y sugerí `/w:workspace-init`.
17
+ 1. Run `aw status` (returns JSON; backed by `status-service`).
18
+ 2. Render a readable summary from the JSON — do **not** show the raw JSON. Use the `relative` field verbatim (it comes pre-humanized in the user's language — Spanish). Head it with `workspace.name`.
19
+ 3. Group into three blocks (the dashboard is user-facing → render it in the user's language; the canonical Spanish labels below):
20
+ - `▸ HECHO` — specs with `refined: true`; plans with their progress (`tasks_done`/`tasks_total`, `progress_pct`); `closed` sessions.
21
+ - `▸ FALTA` — `active` sessions; plans with pending tasks (`tasks_total − tasks_done`); specs with `open_questions > 0`.
22
+ - `▸ DESCARTÓ`every item in `discarded[]` (`kind: deferred` = deferred in BACKLOG; `kind: excluded` = excluded in CHECKPOINT), with its `text`.
23
+ 4. Every line ends with its relative date after ` · ` (e.g. `· ayer en la mañana`). An empty section shows `— (nada)`. Never invent data not present in the JSON.
24
+ 5. If `workspace.initialized` is `false` and everything is emptysay the folder is not an agent-workflow workspace (no `.workflow/`) and suggest `/w:workspace-init`.
25
25
 
26
- Formato sugerido (texto plano):
26
+ Suggested format (plain text; user-facing labels in Spanish):
27
27
 
28
28
  ```
29
29
  Workspace: <name>
@@ -43,8 +43,10 @@ Workspace: <name>
43
43
  ```
44
44
 
45
45
  ## Plan mode
46
- Igual que en ejecución: corré `aw status` (read-only) y mostrá el resumen. No hay cambios que aplicar.
46
+
47
+ Same as execution: run `aw status` (read-only) and show the summary. There are no changes to apply.
47
48
 
48
49
  ## Resources
49
- - CLI: `aw status` (servicio `status-service`; fechas vía `humanize-es`)
50
+
51
+ - CLI: `aw status` (service `status-service`; dates via `humanize-es`)
50
52
  - Design reference: `docs/referencias/workflow-skills/status.md`
@@ -1,6 +1,6 @@
1
1
  ---
2
- description: Convierte la carpeta actual en un workspace de agent-workflow (scaffolding .workflow/ + docs/ + WORKSPACE block + skills.toml). Reemplaza hub-init + project-init — sin distinción project/hub. Correr una vez antes de cualquier flujo; idempotente.
3
- argument-hint: --source alias:path[:rama] [--proyecto <nombre>] [--main-branch <rama>] [--dry-run]
2
+ description: Turns the current folder into an agent-workflow workspace (scaffolding .workflow/ + docs/ + WORKSPACE block + skills.toml). Replaces hub-init + project-init — no project/hub distinction. Run once before any flow; idempotent.
3
+ argument-hint: --source alias:path[:branch] [--proyecto <name>] [--main-branch <branch>] [--dry-run]
4
4
  allowed-tools:
5
5
  [
6
6
  "Bash",
@@ -10,30 +10,30 @@ allowed-tools:
10
10
  ]
11
11
  ---
12
12
 
13
- # workspace-init — bootstrap del workspace
13
+ # workspace-init — workspace bootstrap
14
14
 
15
- Corre `aw workspace-init` para convertir la carpeta actual en un workspace de agent-workflow. Un workspace tiene **1+ fuentes** (repos); "standalone" = una sola fuente. No hay modos project/hub — el modelo es unificado.
15
+ Runs `aw workspace-init` to turn the current folder into an agent-workflow workspace. A workspace has **1+ sources** (repos); "standalone" = a single source. There are no project/hub modes the model is unified.
16
16
 
17
17
  ```bash
18
- aw workspace-init --source alias:path[:rama] [--proyecto <nombre>] [--main-branch <rama>] [--dry-run]
18
+ aw workspace-init --source alias:path[:branch] [--proyecto <name>] [--main-branch <branch>] [--dry-run]
19
19
  ```
20
20
 
21
- ## Pasos interactivos
21
+ ## Interactive steps
22
22
 
23
- 1. **Detectar/confirmar fuentes** — el CLI detecta la/s ruta/s de repo; el usuario confirma aliases, paths y ramas. Se acepta `--source` múltiple.
24
- 2. **Elegir skills por defecto** — se presenta el catálogo de capacidades (roles) disponibles. Para cada rol: `built-in default`, override a skill de tercero (`skills.sh`), o `off`. Resultado escrito en `.workflow/skills.toml`. La cascada de config es: `built-in → ~/.workflow/skills.toml (global) → .workflow/skills.toml (workspace)`.
25
- 3. **Escribir scaffolding** — crea `.workflow/sessions/`, `docs/` con su taxonomía (`specs/`, `plans/`, `scripts/`, `manuals/`, `diagrams/`, `reports/`), el bloque `WORKSPACE` en `CLAUDE.md`/`AGENTS.md` (fuentes + metadatos), y `.workflow/skills.toml`.
26
- 4. **Multi-fuente** — si hay ≥2 fuentes, configura visibilidad multi-root (settings.local.json + config, gitignored) y reconcilia fuentes.
23
+ 1. **Detect/confirm sources** — the CLI detects the repo path(s); the user confirms aliases, paths and branches. Multiple `--source` accepted.
24
+ 2. **Pick default skills** — the catalog of available capabilities (roles) is presented. Per role: `built-in default`, override to a third-party skill (`skills.sh`), or `off`. The result is written to `.workflow/skills.toml`. Config cascade: `built-in → ~/.workflow/skills.toml (global) → .workflow/skills.toml (workspace)`.
25
+ 3. **Write the scaffolding** — creates `.workflow/sessions/`, `docs/` with its taxonomy (`specs/`, `plans/`, `scripts/`, `manuals/`, `diagrams/`, `reports/`), the `WORKSPACE` block in CLAUDE.md/AGENTS.md (sources + metadata), and `.workflow/skills.toml`.
26
+ 4. **Multi-source** — with ≥2 sources, configures multi-root visibility (settings.local.json + config, gitignored) and reconciles sources.
27
27
 
28
- Al terminar, el usuario puede correr `/w:spec-new`, `/w:plan-new` o `/w:quick` directamente.
28
+ When done, the user can run `/w:spec-new`, `/w:plan-new` or `/w:quick` directly.
29
29
 
30
- **Idempotente**: re-ejecutar reconcilia (no duplica entradas ni sobrescribe configuración manual).
30
+ **Idempotent**: re-running reconciles (no duplicate entries, no overwriting manual configuration).
31
31
 
32
32
  ## Plan mode
33
33
 
34
- Resuelve las fuentes y describe el scaffolding que crearía, sin escribir archivos. Muestra qué crearía en `.workflow/` y `docs/`, y qué escribiría en `CLAUDE.md`.
34
+ Resolves the sources and describes the scaffolding it would create, without writing files. Shows what it would create under `.workflow/` and `docs/`, and what it would write into CLAUDE.md.
35
35
 
36
36
  ## Resources
37
37
 
38
38
  - Design reference: `docs/referencias/workflow-commands/workspace-init.md`
39
- - Skills config: `docs/referencias/workflow-roles/` (capacidades/roles disponibles y cascada de binding)
39
+ - Skills config: `docs/referencias/workflow-roles/` (available capabilities/roles and the binding cascade)
@@ -25,9 +25,9 @@
25
25
  | Export | Composes | Reads (artifacts / sessions + corpus) | Writes (its ONLY category) |
26
26
  |---|---|---|---|
27
27
  | [`export-scripts`](export-scripts/SKILL.md) | `sql` | type-B `SCRIPTS.sql` (DDL/DML migrations) across N sessions + standalone `docs/scripts/*.sql` | `docs/scripts/NNN-export-scripts-<date>/` (numbered forwards + `00-ROLLBACK.sql`) |
28
- | [`export-manuals`](export-manuals/SKILL.md) | — (prosa: convenciones ambientes) | sessions + `DECISION` + plan-doc (`Solution`, `Final behavior`, `Validations`) + touched code | `docs/manuals/` |
28
+ | [`export-manuals`](export-manuals/SKILL.md) | — (prose: ambient conventions) | sessions + `DECISION` + plan-doc (`Solution`, `Final behavior`, `Validations`) + touched code | `docs/manuals/` |
29
29
  | [`export-diagrams`](export-diagrams/SKILL.md) | `diagrams` | source code of the sources + plan-doc (`AS-IS` / `TO-BE`, `Impacted`) | `docs/diagrams/` (C4 / mermaid) |
30
- | [`export-reports`](export-reports/SKILL.md) | — (prosa: convenciones ambientes) | corpus of sessions (spec, `CONCLUSIONS`, `DECISION`) + plan-doc state + `docs/` | `docs/reports/` (executive / functional report) |
30
+ | [`export-reports`](export-reports/SKILL.md) | — (prose: ambient conventions) | corpus of sessions (spec, `CONCLUSIONS`, `DECISION`) + plan-doc state + `docs/` | `docs/reports/` (executive / functional report) |
31
31
 
32
32
  > **Composition over ownership:** an export that owns a derived artifact does **not** own its authoring logic — it **composes a capability role** from [`../roles/`](../roles/) (resolved through `.workflow/skills.toml`): `export-scripts` composes `sql`; `export-diagrams` composes `diagrams`. Swapping the implementation is a one-line config change; it never touches the export. `export-manuals` and `export-reports` produce **prose**, which follows **ambient writing conventions** (the host auto-applies an installed writing skill if present) — they do **not** compose or bind a `writing` role.
33
33
 
@@ -36,7 +36,7 @@
36
36
  1. **Layer 1, explicit** — the **user** invokes them (`/w:export-<cat>`). **Never** automatic (no loop fires them).
37
37
  2. **Single-pass, read-only over sessions** — they read artifacts/sessions and `docs/`, **synthesize**, and write **only** their own `docs/<category>/` folder. They do **not** mutate sessions and do **not** open/close loops.
38
38
  3. **Cross-session** — they consolidate **N** sessions + the `docs/` corpus (dedup, roadmap, continuous numbering).
39
- 4. **No loop, no internal sessions** — options come from **args** (no *structured-choice* de ciclo de vida capacidad del arnés; ver [`../harness/SKILL.md`](../harness/SKILL.md)).
39
+ 4. **No loop, no internal sessions** — options come from **args** (no lifecycle *structured-choice*; harness capabilitysee [`../harness/SKILL.md`](../harness/SKILL.md)).
40
40
  5. **Git-safe** — they **never** commit, merge, push, `--amend`, or `--no-verify`. The output is a written document the user reviews and commits when ready.
41
41
  6. **DB scripts-only** — `export-scripts` ships migration SCRIPTS as a bundle; it **never executes** DDL/DML (a human/DBA applies them).
42
42
 
@@ -83,6 +83,6 @@ Exports read the corpus through the CLI — **never hard-coded paths**:
83
83
  | Export | File | Category | Composes |
84
84
  |---|---|---|---|
85
85
  | `export-scripts` | [`export-scripts/SKILL.md`](export-scripts/SKILL.md) | `docs/scripts` | `sql` |
86
- | `export-manuals` | [`export-manuals/SKILL.md`](export-manuals/SKILL.md) | `docs/manuals` | — (prosa: convenciones ambientes) |
86
+ | `export-manuals` | [`export-manuals/SKILL.md`](export-manuals/SKILL.md) | `docs/manuals` | — (prose: ambient conventions) |
87
87
  | `export-diagrams` | [`export-diagrams/SKILL.md`](export-diagrams/SKILL.md) | `docs/diagrams` | `diagrams` |
88
- | `export-reports` | [`export-reports/SKILL.md`](export-reports/SKILL.md) | `docs/reports` | — (prosa: convenciones ambientes) |
88
+ | `export-reports` | [`export-reports/SKILL.md`](export-reports/SKILL.md) | `docs/reports` | — (prose: ambient conventions) |