@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,127 +1,127 @@
1
1
  ---
2
2
  name: export-manuals
3
- description: "Manuales operativos / de onboarding (audiencia operador/soporte). Sintetiza manuales técnicos del workspace en `docs/manuals/` consolidando N sesiones (`exec`/`quick`) + `docs/`. Lee de cada sesión el `DECISION` y el plan-doc (`Solution`, `Final behavior`, `Validations`) + el código tocado en las fuentes (cómo opera/funciona lo construido). Dos modos: `complement` (default, sobrescribe `INDEX.md` apuntando a los manuales detectados) y `regenerate` (produce dossier `NNN-export-manuals-YYYY-MM-DD/` con 1 manual por tema). Audiencia: operadores / soporte / onboarding. Read-only/reporte: no commitea ni muta sesiones. La prosa sigue las convenciones de redacción ambientes (el host auto-aplica una skill de writing instalada si está presente). Úsalo para 'manual operativo', 'cómo funciona lo entregado', 'paquete de onboarding técnico', 'índice de manuales'. Invocado por el usuario vía `/w:export-manuals`."
3
+ description: "Operations / onboarding manuals (operator/support audience). Synthesizes the workspace's technical manuals into `docs/manuals/` consolidating N sessions (`exec`/`quick`) + `docs/`. Reads each session's `DECISION` and the plan-doc (`Solution`, `Final behavior`, `Validations`) + the touched code in the sources (how what was built operates/works). Two modes: `complement` (default, overwrites `INDEX.md` pointing at the detected manuals) and `regenerate` (produces a `NNN-export-manuals-YYYY-MM-DD/` dossier with 1 manual per topic). Audience: operators / support / onboarding. Read-only/report: it never commits nor mutates sessions. The prose follows the ambient writing conventions (the host auto-applies an installed writing skill when present). Use for 'operations manual', 'how what we shipped works', 'technical onboarding pack', 'manuals index'. User-invoked via `/w:export-manuals`."
4
4
  ---
5
5
 
6
- # export-manuals — Manuales técnicos desde sesiones + `docs/`
6
+ # export-manuals — technical manuals from sessions + `docs/`
7
7
 
8
- Genera o refresca manuales de **operación / cómo-funciona / onboarding** en `docs/manuals/`, consolidando lo entregado en N sesiones + el corpus `docs/`. **Read-only / reporte** — no commitea, no muta sesiones ni el código.
8
+ Generates or refreshes **operations / how-it-works / onboarding** manuals in `docs/manuals/`, consolidating what N sessions delivered + the `docs/` corpus. **Read-only / report** — it never commits, never mutates sessions or code.
9
9
 
10
- > Familia `export-*` (la única vía artefacto→`docs/`). Recicla el espíritu del viejo `export-tech-manuals` (modos complementar/regenerar, `INDEX.md`, dossier por tema), modernizado: `docs/manuals` en inglés, sin modos project/hub, y la prosa sigue las convenciones de redacción **ambientes** (el host auto-aplica una skill de writing instalada si está presente), no un rol propio. Diseño: `docs/referencias/workflow-exports/export-manuals.md`.
10
+ > `export-*` family (the only artifact→`docs/` path). Design: `docs/referencias/workflow-exports/export-manuals.md`.
11
11
 
12
12
  ## Category
13
13
 
14
- `docs/manuals` — **única** carpeta `docs/` que este export escribe.
14
+ `docs/manuals` — the **only** `docs/` folder this export writes.
15
15
 
16
- ## Writing (convención ambiente, no rol)
16
+ ## Writing (ambient convention, not a role)
17
17
 
18
- La redacción del manual sigue las convenciones de redacción **ambientes**: el host auto-aplica una skill de writing instalada (si está presente) por su `description` — frases cortas, listas sobre prosa, sin relleno, léxico técnico para la audiencia operador/soporte. Este export **no** compone un rol `writing` ni lo bindea; es **indiferente** a qué skill de redacción exista. Una familia útil vive en el plugin `dev-conventions` del marketplace, pero el export **no depende** de él.
18
+ The manual's prose follows the **ambient** writing conventions: the host auto-applies an installed writing skill (when present) by its `description` — short sentences, lists over prose, no filler, technical lexicon for the operator/support audience. This export does **not** compose or bind a `writing` role; it is **indifferent** to which writing skill exists. A useful family lives in the `dev-conventions` marketplace plugin, but the export does **not depend** on it. Manuals are user-facing deliverables → write them in the user's language.
19
19
 
20
20
  ## When to use
21
21
 
22
- - "Manual operativo", "cómo funciona lo que entregamos", "guía paso a paso".
23
- - "Índice de manuales" / refrescar el `INDEX.md` tras nuevas sesiones.
24
- - Paquete de **onboarding técnico** para nuevos miembros del equipo.
25
- - Auditoría de cobertura documental.
22
+ - "Operations manual", "how what we delivered works", "step-by-step guide".
23
+ - "Manuals index" / refresh the `INDEX.md` after new sessions.
24
+ - **Technical onboarding** pack for new team members.
25
+ - Documentation-coverage audit.
26
26
 
27
27
  ## What it does
28
28
 
29
- 1. Lee el corpus de sesiones (`exec`/`quick`): por sesión, `DECISION` + el plan-doc (`Solution`, `Final behavior`, `Validations`).
30
- 2. Inspecciona el código tocado en las fuentes (cómo opera/funciona lo construido) — solo lectura.
31
- 3. Detecta temas (declarados en `SESSION` — su `## Objective` —, o inferidos por keywords operativos).
32
- 4. Resuelve el modo (`complement` o `regenerate`).
33
- 5. Sintetiza el contenido aplicando las convenciones de redacción ambientes (host).
34
- 6. Escribe: `complement` → sobrescribe `docs/manuals/INDEX.md`; `regenerate` → dossier `docs/manuals/NNN-export-manuals-YYYY-MM-DD/` con 1 manual por tema.
29
+ 1. Reads the session corpus (`exec`/`quick`): per session, `DECISION` + the plan-doc (`Solution`, `Final behavior`, `Validations`).
30
+ 2. Inspects the touched code in the sources (how what was built operates/works) — read-only.
31
+ 3. Detects topics (declared in `SESSION` — its `## Objective` —, or inferred by operational keywords).
32
+ 4. Resolves the mode (`complement` or `regenerate`).
33
+ 5. Synthesizes the content applying the ambient writing conventions (host).
34
+ 6. Writes: `complement` → overwrites `docs/manuals/INDEX.md`; `regenerate` → a `docs/manuals/NNN-export-manuals-YYYY-MM-DD/` dossier with 1 manual per topic.
35
35
 
36
36
  ## What it does NOT do
37
37
 
38
- - Ejecutar commits, merges, push, SQL ni envío de correos.
39
- - Mutar sesiones, el plan-doc, ni el código de las fuentes (solo lectura).
40
- - Escribir cualquier carpeta `docs/` que no sea `docs/manuals/` (invariante: una categoría).
41
- - Sobrescribir un dossier `regenerate` previo (siempre next-number).
42
- - Inventar manuales: si no hay tema detectable en `regenerate` aborta con mensaje claro; en `complement` produce un `INDEX.md` vacío con nota inline.
43
- - Renderizar visualmente diagramas (la arquitectura visual es de `export-diagrams`; Mermaid embebido solo si aporta).
38
+ - Run commits, merges, push, SQL or send emails.
39
+ - Mutate sessions, the plan-doc, or the sources' code (read-only).
40
+ - Write any `docs/` folder other than `docs/manuals/` (invariant: one category).
41
+ - Overwrite a previous `regenerate` dossier (always next-number).
42
+ - Invent manuals: with no detectable topicin `regenerate` it aborts with a clear message; in `complement` it produces an empty `INDEX.md` with an inline note.
43
+ - Visually render diagrams (visual architecture belongs to `export-diagrams`; embedded Mermaid only when it adds value).
44
44
 
45
45
  ## Read-only sandbox
46
46
 
47
- En plan mode **describe**, no escribe: el modo resuelto, los temas detectados (con sesiones de origen), los manuales ya presentes en `docs/manuals/`, ysegún el modo la estructura del `INDEX.md` que sobrescribiría o el count de manuales que generaría el dossier. **No** ejecuta `Write` ni `aw next-number` con efecto.
47
+ In plan mode it **describes**, never writes: the resolved mode, the detected topics (with origin sessions), the manuals already present in `docs/manuals/`, andper modethe `INDEX.md` structure it would overwrite or the count of manuals the dossier would generate. It does **not** run `Write` or effectful `aw next-number`.
48
48
 
49
49
  ## Inputs
50
50
 
51
- **CLI `agent-workflow` (alias `aw`)** — no leer paths hardcodeados:
51
+ **`agent-workflow` CLI (alias `aw`)** — never read hardcoded paths:
52
52
 
53
- - `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumera el corpus.
54
- - `aw session-artifacts --code <NNN> --dump objetivo,decisiones` — devuelve `{path, content, size}` por artefacto (`SESSION` con su `## Objective`, `DECISION`); el plan-doc se lee por su path.
55
- - `aw next-number docs/manuals` — numeración determinística (solo modo `regenerate`).
53
+ - `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumerates the corpus.
54
+ - `aw session-artifacts --code <NNN> --dump objetivo,decisiones` — returns `{path, content, size}` per artifact (`SESSION` with its `## Objective`, `DECISION`); the plan-doc is read by its path.
55
+ - `aw next-number docs/manuals` — deterministic numbering (`regenerate` mode only).
56
56
 
57
57
  **Filesystem**:
58
58
 
59
- - `docs/manuals/*.md` — manuales ya presentes (para complementar).
60
- - `docs/manuals/INDEX.md` — re-generable (sobrescribible) en modo `complement`.
61
- - Código de las fuentes declaradas lectura para describir el comportamiento.
59
+ - `docs/manuals/*.md` — manuals already present (to complement).
60
+ - `docs/manuals/INDEX.md` — re-generable (overwritable) in `complement` mode.
61
+ - The declared sources' coderead to describe behavior.
62
62
 
63
- **Args** (sin *structured-choice* de ciclo de vida capacidad del arnés; ver [`../../harness/SKILL.md`](../../harness/SKILL.md)):
63
+ **Args** (no lifecycle *structured-choice*; harness capabilitysee [`../../harness/SKILL.md`](../../harness/SKILL.md)):
64
64
 
65
65
  ```
66
66
  /w:export-manuals [--sessions NNN[,NNN]] [--since sessionNNN] [--source <alias>]
67
67
  [--mode complement|regenerate] [--topics slug1,slug2] [--dry-run]
68
68
  ```
69
69
 
70
- | Flag | Comportamiento |
70
+ | Flag | Behavior |
71
71
  |---|---|
72
- | `--sessions NNN[,NNN]` | Filtro discreto por código (precede a `--since`) |
73
- | `--since sessionNNN` | Solo sesiones posteriores a NNN (exclusivo: la propia NNN no entra; usá `--sessions` para incluirla) |
74
- | `--source <alias>` | Limita a una fuente (workspace multi-fuente) |
72
+ | `--sessions NNN[,NNN]` | Discrete filter by code (takes precedence over `--since`) |
73
+ | `--since sessionNNN` | Only sessions after NNN (exclusive: NNN itself is out; use `--sessions` to include it) |
74
+ | `--source <alias>` | Limits to one source (multi-source workspace) |
75
75
  | `--mode complement\|regenerate` | Default `complement` |
76
- | `--topics slug1,slug2` | Limita a los temas declarados |
77
- | `--dry-run` | Reporte propositivo sin escribir archivos |
76
+ | `--topics slug1,slug2` | Limits to the declared topics |
77
+ | `--dry-run` | Propositional report, no files written |
78
78
 
79
- Sin args: `--mode complement` sobre todo el corpus. *(Si algún flag exacto difiere en el CLI runtime, ajustar al contrato real de `aw`.)*
79
+ No args: `--mode complement` over the whole corpus.
80
80
 
81
- ### Resolución de `--mode`
81
+ ### `--mode` resolution
82
82
 
83
- | Modo | Output | Cuándo usar |
83
+ | Mode | Output | When to use |
84
84
  |---|---|---|
85
- | `complement` (default) | `docs/manuals/INDEX.md` (sobrescribe) | Refrescar el índice tras nuevas sesiones/manuales |
86
- | `regenerate` | `docs/manuals/NNN-export-manuals-YYYY-MM-DD/` (next-number) | Paquete consolidado de manuales (ej. onboarding) |
85
+ | `complement` (default) | `docs/manuals/INDEX.md` (overwrites) | Refresh the index after new sessions/manuals |
86
+ | `regenerate` | `docs/manuals/NNN-export-manuals-YYYY-MM-DD/` (next-number) | Consolidated manual pack (e.g. onboarding) |
87
87
 
88
88
  ## Flow
89
89
 
90
- ### Paso 1 — Resolver contexto y corpus
90
+ ### Step 1 — Resolve context and corpus
91
91
 
92
- `aw sessions` / `release-data` aplicando `--sessions`/`--since`/`--source`. La resolución de la carpeta destino la maneja el CLI.
92
+ `aw sessions` / `release-data` applying `--sessions`/`--since`/`--source`. The CLI handles destination-folder resolution.
93
93
 
94
- ### Paso 2 — Inspeccionar manuales presentes
94
+ ### Step 2 — Inspect the present manuals
95
95
 
96
- Listar `docs/manuals/*.md` (excluyendo `INDEX.md` y subdirectorios `NNN-export-manuals-*/`). Por manual: slug (del filename), título (primer `#`), resumen breve (primer párrafo), path.
96
+ List `docs/manuals/*.md` (excluding `INDEX.md` and `NNN-export-manuals-*/` subdirectories). Per manual: slug (from the filename), title (first `#`), brief summary (first paragraph), path.
97
97
 
98
- ### Paso 3 — Detectar temas
98
+ ### Step 3 — Detect topics
99
99
 
100
- Por cada sesión del corpus filtrado (`aw session-artifacts --code <NNN> --dump objetivo,decisiones`): tomar `DECISION` del dump + plan-doc (`Solution`/`Final behavior`/`Validations`) + el código tocado. Tema **primario**: la sección de temas en `SESSION` (su `## Objective`). **Secundario**: inferencia por keywords operativos ("configurar", "instalar", "paso a paso", "cómo …"). Filtrar por `--topics` si está presente. Listar (slug, confidence, sesiones de origen).
100
+ For every filtered corpus session (`aw session-artifacts --code <NNN> --dump objetivo,decisiones`): take the dump's `DECISION` + the plan-doc (`Solution`/`Final behavior`/`Validations`) + the touched code. **Primary** topic: the topic in `SESSION` (its `## Objective`). **Secondary**: inference by operational keywords ("configure", "install", "step by step", "how to …" — in the user's language). Filter by `--topics` when present. List (slug, confidence, origin sessions).
101
101
 
102
- ### Paso 4 — Sintetizar (prosa: convenciones ambientes)
102
+ ### Step 4 — Synthesize (prose: ambient conventions)
103
103
 
104
- **Modo `complement`** un `INDEX.md`: cabecera + count de manuales + tabla (Tema · Slug · Manual presente/`[pendiente]` · Sesiones de origen) + "Próximos pasos" si hay temas pendientes.
104
+ **`complement` mode** — one `INDEX.md`: header + manual count + table (Topic · Slug · Manual present/`[pending]` · Origin sessions) + "Next steps" when there are pending topics.
105
105
 
106
- **Modo `regenerate`** — 1 `.md` por tema en el dossier, cada uno con: Propósito · Pre-requisitos · Pasos numerados (cómo operar) · Comportamiento final (del plan-doc) · Validación post-uso · Decisiones relevantes (`DECISION`) · Troubleshooting · Referencias. Cada manual debe permitir al operador completar la tarea **sin** invocar al equipo de desarrollo. Más un `README.md` del dossier con el índice. La redacción sigue las convenciones de redacción ambientes (host).
106
+ **`regenerate` mode** — 1 `.md` per topic in the dossier, each with: Purpose · Prerequisites · Numbered steps (how to operate) · Final behavior (from the plan-doc) · Post-use validation · Relevant decisions (`DECISION`) · Troubleshooting · References. Every manual must let the operator complete the task **without** calling the development team. Plus a dossier `README.md` with the index. The prose follows the ambient writing conventions (host).
107
107
 
108
- ### Paso 5 — Escribir o reportar
108
+ ### Step 5 — Write or report
109
109
 
110
- Si `--dry-run`: imprimir el reporte; no escribir. Si no: `complement` → `Write` sobre `docs/manuals/INDEX.md`; `regenerate` → `aw next-number docs/manuals` + crear el dossier. **NUNCA commitear**. Resumen al usuario: modo + paths escritos + counts; si hay temas detectables sin manual, sugerir cubrirlos.
110
+ With `--dry-run`: print the report; write nothing. Otherwise: `complement` → `Write` over `docs/manuals/INDEX.md`; `regenerate` → `aw next-number docs/manuals` + create the dossier. **NEVER commit**. Summary to the user: mode + written paths + counts; if there are detectable topics without a manual, suggest covering them.
111
111
 
112
112
  ## Output location
113
113
 
114
- - `complement`: `docs/manuals/INDEX.md` (sobrescribe).
115
- - `regenerate`: `docs/manuals/NNN-export-manuals-YYYY-MM-DD/` con `README.md` + 1 `.md` por tema.
114
+ - `complement`: `docs/manuals/INDEX.md` (overwrites).
115
+ - `regenerate`: `docs/manuals/NNN-export-manuals-YYYY-MM-DD/` with `README.md` + 1 `.md` per topic.
116
116
 
117
117
  ## Re-run
118
118
 
119
- - `complement`: idempotentedos invocaciones con el mismo corpus producen el mismo `INDEX.md`.
120
- - `regenerate`: cada invocación toma el siguiente `NNN`; no sobrescribe dossiers previos.
119
+ - `complement`: idempotenttwo invocations over the same corpus produce the same `INDEX.md`.
120
+ - `regenerate`: each invocation takes the next `NNN`; it never overwrites previous dossiers.
121
121
 
122
122
  ## Resources
123
123
 
124
- - Design: `docs/referencias/workflow-exports/export-manuals.md` · familia: [`../README.md`](../README.md).
125
- - Redacción: convención **ambiente** (no rol) — el host auto-aplica una skill de writing instalada si está presente.
126
- - Artefactos fuente: `DECISION` + plan-doc (ver `docs/referencias/workflow-artifacts/artifacts-exec/` y `docs/specs`/`docs/plans`).
124
+ - Design: `docs/referencias/workflow-exports/export-manuals.md` · family: [`../README.md`](../README.md).
125
+ - Writing: **ambient** convention (not a role) — the host auto-applies an installed writing skill when present.
126
+ - Source artifacts: `DECISION` + plan-doc (see `docs/referencias/workflow-artifacts/artifacts-exec/` and `docs/specs`/`docs/plans`).
127
127
  - Siblings: [`../export-scripts/SKILL.md`](../export-scripts/SKILL.md) · [`../export-diagrams/SKILL.md`](../export-diagrams/SKILL.md) · [`../export-reports/SKILL.md`](../export-reports/SKILL.md).
@@ -1,101 +1,101 @@
1
1
  ---
2
2
  name: export-reports
3
- description: "Informe ejecutivo/funcional (audiencia gerencia/comité) que consolida N sesiones del workspace bajo `docs/reports/NNN-<slug>-YYYY-MM-DD.md`. Lee el corpus: el spec (`docs/specs`), `CONCLUSIONS` (research), `DECISION`, el estado del plan-doc + el resto de `docs/` para contexto. Sintetiza: qué se hizo, decisiones clave, resultados/conclusiones, pendientes/roadmap — con dedup de recomendaciones cross-session. Audiencia ajustable vía `--audience` (gerencia ≈ corto; tecnica ≈ detallado). Funde el espíritu de los viejos export-report (ejecutivo) y export-conclusions (dedup de R-items) en una sola salida a `docs/reports`. Read-only/reporte: no commitea ni muta sesiones. La prosa sigue las convenciones de redacción ambientes (el host auto-aplica una skill de writing instalada si está presente). Úsalo para 'informe ejecutivo', 'qué se hizo este trimestre para gerencia', 'brief con recomendaciones consolidadas'. Invocado por el usuario vía `/w:export-reports`."
3
+ description: "Executive/functional report (management/committee audience) consolidating N workspace sessions under `docs/reports/NNN-<slug>-YYYY-MM-DD.md`. Reads the corpus: the spec (`docs/specs`), `CONCLUSIONS` (research), `DECISION`, the plan-doc state + the rest of `docs/` for context. Synthesizes: what was done, key decisions, results/conclusions, pending/roadmap — with cross-session recommendation dedup. Audience adjustable via `--audience` (gerencia ≈ short; tecnica ≈ detailed). Read-only/report: it never commits nor mutates sessions. The prose follows the ambient writing conventions (the host auto-applies an installed writing skill when present). Use for 'executive report', 'what got done this quarter for management', 'brief with consolidated recommendations'. User-invoked via `/w:export-reports`."
4
4
  ---
5
5
 
6
- # export-reports — Informe ejecutivo/funcional desde el corpus de sesiones + `docs/`
6
+ # export-reports — executive/functional report from the session corpus + `docs/`
7
7
 
8
- Genera un único `.md` que consolida N sesiones del workspace en un informe **ejecutivo/funcional**: qué se hizo, decisiones clave, resultados/conclusiones y pendientes/roadmap. **Read-only / reporte** — no commitea, no muta sesiones ni el corpus.
8
+ Generates a single `.md` consolidating N workspace sessions into an **executive/functional** report: what was done, key decisions, results/conclusions and pending/roadmap. **Read-only / report** — it never commits, never mutates sessions or the corpus.
9
9
 
10
- > Familia `export-*` (la única vía artefacto→`docs/`). **Funde** el espíritu de dos viejos exports en una sola salida a `docs/reports`: `export-report` (informe ejecutivo con tabla de componentes + diagrama de flujo) y `export-conclusions` (dedup de R-items cross-session). Modernizado: `docs/reports` en inglés, sin modos project/hub, y la prosa sigue las convenciones de redacción **ambientes** (el host auto-aplica una skill de writing instalada si está presente), no un rol propio. Diseño: `docs/referencias/workflow-exports/export-reports.md`.
10
+ > `export-*` family (the only artifact→`docs/` path). It **merges** two legacy exports into one `docs/reports` output: the executive report and the cross-session recommendation dedup. Design: `docs/referencias/workflow-exports/export-reports.md`.
11
11
 
12
12
  ## Category
13
13
 
14
- `docs/reports` — **única** carpeta `docs/` que este export escribe.
14
+ `docs/reports` — the **only** `docs/` folder this export writes.
15
15
 
16
- ## Writing (convención ambiente, no rol)
16
+ ## Writing (ambient convention, not a role)
17
17
 
18
- La redacción del informe sigue las convenciones de redacción **ambientes**: el host auto-aplica una skill de writing instalada (si está presente) por su `description` — traducción técnico→ejecutiva, cota de longitud por audiencia, frases cortas, listas sobre prosa, sin relleno. Este export **no** compone un rol `writing` ni lo bindea; es **indiferente** a qué skill de redacción exista. Una familia útil vive en el plugin `dev-conventions` del marketplace, pero el export **no depende** de él.
18
+ The report's prose follows the **ambient** writing conventions: the host auto-applies an installed writing skill (when present) by its `description` — technical→executive translation, per-audience length cap, short sentences, lists over prose, no filler. This export does **not** compose or bind a `writing` role. Reports are user-facing deliverables write them in the user's language.
19
19
 
20
20
  ## When to use
21
21
 
22
- - "Informe ejecutivo", "documento funcional", "qué se hizo este trimestre para gerencia".
23
- - Brief con las **recomendaciones consolidadas** (deduplicadas) de las últimas N sesiones.
24
- - Re-generar tras un nuevo período (mes / trimestre); antes de un comité de seguimiento.
22
+ - "Executive report", "functional document", "what got done this quarter for management".
23
+ - A brief with the **consolidated** (deduplicated) recommendations of the last N sessions.
24
+ - Re-generate after a new period (month / quarter); before a follow-up committee.
25
25
 
26
26
  ## What it does
27
27
 
28
- 1. Lee el corpus de sesiones filtrado: el spec (`docs/specs`), `CONCLUSIONS` (research), `DECISION`, el estado del plan-doc.
29
- 2. Lee el resto de `docs/` (specs, plans, reports previos) para contexto.
30
- 3. Resuelve la audiencia/longitud (`--audience`).
31
- 4. Sintetiza: Resumen ejecutivo · Qué se hizo (agrupado por capacidad de negocio, no por sesión) · Decisiones clave · Resultados/conclusiones · Pendientes/Roadmap.
32
- 5. **Deduplica** las recomendaciones (R-items) cross-session por slug, anotando los orígenes.
33
- 6. Escribe `docs/reports/NNN-<slug>-YYYY-MM-DD.md`.
28
+ 1. Reads the filtered session corpus: the spec (`docs/specs`), `CONCLUSIONS` (research), `DECISION`, the plan-doc state.
29
+ 2. Reads the rest of `docs/` (specs, plans, previous reports) for context.
30
+ 3. Resolves the audience/length (`--audience`).
31
+ 4. Synthesizes: Executive summary · What was done (grouped by business capability, not by session) · Key decisions · Results/conclusions · Pending/Roadmap.
32
+ 5. **Deduplicates** the recommendations (R-items) cross-session by slug, annotating the origins.
33
+ 6. Writes `docs/reports/NNN-<slug>-YYYY-MM-DD.md`.
34
34
 
35
35
  ## What it does NOT do
36
36
 
37
- - Ejecutar commits, merges, push, SQL ni envío de correos / creación de PRs.
38
- - Mutar sesiones, el corpus ni el plan-doc (solo lectura).
39
- - Escribir cualquier carpeta `docs/` que no sea `docs/reports/` (invariante: una categoría).
40
- - Inventar logros, métricas o recomendaciones: las secciones condicionales (p.ej. "Oportunidades de mejora"/Roadmap) **solo** aparecen si el corpus tiene items abiertos detectables.
41
- - Generar diagramas técnicos avanzados (C4/erDiagram extenso) — esos viven en `export-diagrams`; aquí, como mucho, un `flowchart LR` simple de síntesis ejecutiva.
42
- - Sobrescribir reports previos (siempre next-number).
37
+ - Run commits, merges, push, SQL, emails or PR creation.
38
+ - Mutate sessions, the corpus or the plan-doc (read-only).
39
+ - Write any `docs/` folder other than `docs/reports/` (invariant: one category).
40
+ - Invent achievements, metrics or recommendations: conditional sections (e.g. "Improvement opportunities"/Roadmap) appear **only** when the corpus has detectable open items.
41
+ - Generate advanced technical diagrams (extensive C4/erDiagram) — those live in `export-diagrams`; here, at most a simple executive-synthesis `flowchart LR`.
42
+ - Overwrite previous reports (always next-number).
43
43
 
44
44
  ## Read-only sandbox
45
45
 
46
- En plan mode **describe**, no escribe: la audiencia/longitud resuelta, las sesiones del corpus que entrarían tras los filtros, las secciones que aparecerían, los R-items que se consolidarían (y conflictos detectados), y la longitud estimada. **No** ejecuta `Write` ni `aw next-number` con efecto.
46
+ In plan mode it **describes**, never writes: the resolved audience/length, the corpus sessions that would enter after the filters, the sections that would appear, the R-items that would consolidate (and detected conflicts), and the estimated length. It does **not** run `Write` or effectful `aw next-number`.
47
47
 
48
48
  ## Inputs
49
49
 
50
- **CLI `agent-workflow` (alias `aw`)** — no leer paths hardcodeados:
50
+ **`agent-workflow` CLI (alias `aw`)** — never read hardcoded paths:
51
51
 
52
- - `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumera + filtra el corpus.
53
- - `aw session-artifacts --code <NNN> --dump objetivo,conclusiones,decisiones` — devuelve `{path, content, size}` de `SESSION` (spec referido), `CONCLUSIONS` y `DECISION`; el estado del plan-doc se lee por su path.
54
- - `aw next-number docs/reports` — numeración determinística (la resolución de la carpeta destino la maneja el CLI).
52
+ - `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumerates + filters the corpus.
53
+ - `aw session-artifacts --code <NNN> --dump objetivo,conclusiones,decisiones` — returns `{path, content, size}` for `SESSION` (referenced spec), `CONCLUSIONS` and `DECISION`; the plan-doc state is read by its path.
54
+ - `aw next-number docs/reports` — deterministic numbering (the CLI handles destination-folder resolution).
55
55
 
56
56
  **Filesystem**:
57
57
 
58
- - `docs/specs`, `docs/plans`, `docs/reports/*` — contexto + no colisionar.
58
+ - `docs/specs`, `docs/plans`, `docs/reports/*` — context + collision avoidance.
59
59
 
60
- **Args** (sin *structured-choice* de ciclo de vida capacidad del arnés; ver [`../../harness/SKILL.md`](../../harness/SKILL.md)):
60
+ **Args** (no lifecycle *structured-choice*; harness capabilitysee [`../../harness/SKILL.md`](../../harness/SKILL.md)):
61
61
 
62
62
  ```
63
63
  /w:export-reports [--sessions NNN[,NNN]] [--since sessionNNN] [--source <alias>]
64
64
  [--audience gerencia|tecnica] [--slug <kebab>] [--dry-run]
65
65
  ```
66
66
 
67
- | Flag | Comportamiento |
67
+ | Flag | Behavior |
68
68
  |---|---|
69
- | `--sessions NNN[,NNN]` | Filtro discreto por código (precede a `--since`) |
70
- | `--since sessionNNN` | Solo sesiones posteriores a NNN (exclusivo: la propia NNN no entra; usá `--sessions` para incluirla) |
71
- | `--source <alias>` | Limita a una fuente (workspace multi-fuente) |
72
- | `--audience gerencia\|tecnica` | Modula longitud/léxico: `gerencia` ≈ corto/ejecutivo; `tecnica` ≈ detallado |
73
- | `--slug <kebab>` | Override del slug del filename (default: `export-reports`) |
74
- | `--dry-run` | Reporte propositivo sin escribir |
69
+ | `--sessions NNN[,NNN]` | Discrete filter by code (takes precedence over `--since`) |
70
+ | `--since sessionNNN` | Only sessions after NNN (exclusive: NNN itself is out; use `--sessions` to include it) |
71
+ | `--source <alias>` | Limits to one source (multi-source workspace) |
72
+ | `--audience gerencia\|tecnica` | Modulates length/lexicon: `gerencia` ≈ short/executive; `tecnica` ≈ detailed |
73
+ | `--slug <kebab>` | Filename slug override (default: `export-reports`) |
74
+ | `--dry-run` | Propositional report, no writing |
75
75
 
76
- Sin args: todo el corpus, audiencia ejecutiva por default. *(Si algún flag exacto difiere en el CLI runtime, ajustar al contrato real de `aw`.)*
76
+ No args: the whole corpus, executive audience by default.
77
77
 
78
78
  ## Flow
79
79
 
80
- ### Paso 1 — Resolver contexto y filtrar corpus
80
+ ### Step 1 — Resolve context and filter the corpus
81
81
 
82
- `aw sessions` / `release-data` aplicando `--sessions`/`--since`/`--source`. Si el conjunto resultante está vacío → **abortar** con mensaje explícito ("No hay sesiones en el rango declarado"). La resolución de la carpeta destino la maneja el CLI.
82
+ `aw sessions` / `release-data` applying `--sessions`/`--since`/`--source`. If the resulting set is empty → **abort** with an explicit message (no sessions in the declared range). The CLI handles destination-folder resolution.
83
83
 
84
- ### Paso 2 — Recolectar inputs por sesión
84
+ ### Step 2 — Collect per-session inputs
85
85
 
86
- Por sesión filtrada (`aw session-artifacts --code <NNN> --dump objetivo,conclusiones,decisiones`): el spec referido (qué se planteó), `CONCLUSIONS` (cierre técnico / R-items), `DECISION` (qué se decidió), estado del plan-doc (qué se entregó / qué queda). Recoger también componentes impactados (fuentes tocadas) para la tabla de síntesis.
86
+ Per filtered session (`aw session-artifacts --code <NNN> --dump objetivo,conclusiones,decisiones`): the referenced spec (what was posed), `CONCLUSIONS` (technical close / R-items), `DECISION` (what was decided), the plan-doc state (what shipped / what remains). Also collect the impacted components (touched sources) for the synthesis table.
87
87
 
88
- ### Paso 3 — Dedup de recomendaciones (cross-session)
88
+ ### Step 3 — Recommendation dedup (cross-session)
89
89
 
90
- Extraer los R-items de `CONCLUSIONS`/`DECISION` (pendientes, diferidos, "próximos pasos"). Agrupar por slug; merge de duplicados anotando `origins[]`; si dos R-items del mismo slug se contradicen, marcarlos como conflicto para resolución explícita. **No** deduplicar los C-items (son específicos de cada análisis: se preservan con trazabilidad).
90
+ Extract the R-items from `CONCLUSIONS`/`DECISION` (pending, deferred, "next steps"). Group by slug; merge duplicates annotating `origins[]`; if two same-slug R-items contradict each other, mark them as a conflict for explicit resolution. Do **not** dedup the C-items (they are analysis-specific: preserved with traceability).
91
91
 
92
- ### Paso 4 — Sintetizar (prosa: convenciones ambientes)
92
+ ### Step 4 — Synthesize (prose: ambient conventions)
93
93
 
94
- Render aplicando las convenciones de redacción ambientes (host): Resumen ejecutivo · Qué se hizo (agrupado por capacidad de negocio, **no** por sesión) · Componentes impactados (tabla) · Decisiones clave · Resultados/conclusiones · Pendientes/Roadmap (solo si hay R-items). Traducción técnicoejecutiva y cota de longitud por `--audience`. Opcional: un `flowchart LR` simple de síntesis (con link `mermaid.ink`); el diagrama técnico detallado es de `export-diagrams`.
94
+ Render applying the ambient writing conventions (host): Executive summary · What was done (grouped by business capability, **not** by session) · Impacted components (table) · Key decisions · Results/conclusions · Pending/Roadmap (only with R-items). Technicalexecutive translation and length cap per `--audience`. Optional: a simple synthesis `flowchart LR` (with a `mermaid.ink` link); the detailed technical diagram belongs to `export-diagrams`.
95
95
 
96
- ### Paso 5 — Escribir o reportar
96
+ ### Step 5 — Write or report
97
97
 
98
- `aw next-number docs/reports` → `docs/reports/NNN-<slug>-YYYY-MM-DD.md`. Si `--dry-run`: imprimir; no escribir. **NUNCA commitear**. Resumen al usuario: ruta, audiencia/longitud, sesiones cubiertas (count + rango), R-items consolidados, y nota si se omitió una sección condicional.
98
+ `aw next-number docs/reports` → `docs/reports/NNN-<slug>-YYYY-MM-DD.md`. With `--dry-run`: print; write nothing. **NEVER commit**. Summary to the user: path, audience/length, covered sessions (count + range), consolidated R-items, and a note if a conditional section was omitted.
99
99
 
100
100
  ## Output location
101
101
 
@@ -103,11 +103,11 @@ Render aplicando las convenciones de redacción ambientes (host): Resumen ejecut
103
103
 
104
104
  ## Re-run
105
105
 
106
- Idempotente funcional: cada invocación toma el siguiente `NNN`; no sobrescribe reports previos. Para regenerar el último: borrar el archivo y re-invocar.
106
+ Functionally idempotent: each invocation takes the next `NNN`; it never overwrites previous reports. To regenerate the latest: delete the file and re-invoke.
107
107
 
108
108
  ## Resources
109
109
 
110
- - Design: `docs/referencias/workflow-exports/export-reports.md` · familia: [`../README.md`](../README.md).
111
- - Redacción: convención **ambiente** (no rol) — el host auto-aplica una skill de writing instalada si está presente.
112
- - Insumos: spec (`docs/specs`), `CONCLUSIONS`/`DECISION` (ver `docs/referencias/workflow-artifacts/`), plan-doc (`docs/plans`).
110
+ - Design: `docs/referencias/workflow-exports/export-reports.md` · family: [`../README.md`](../README.md).
111
+ - Writing: **ambient** convention (not a role) — the host auto-applies an installed writing skill when present.
112
+ - Inputs: spec (`docs/specs`), `CONCLUSIONS`/`DECISION` (see `docs/referencias/workflow-artifacts/`), plan-doc (`docs/plans`).
113
113
  - Siblings: [`../export-scripts/SKILL.md`](../export-scripts/SKILL.md) · [`../export-manuals/SKILL.md`](../export-manuals/SKILL.md) · [`../export-diagrams/SKILL.md`](../export-diagrams/SKILL.md).