siesa-agents 2.1.90 → 2.1.91
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.
- package/claude/skills/sa-wds-visual-proposals/SKILL.md +6 -0
- package/package.json +1 -1
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/data/component-mapping.csv +47 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/steps/step-01-init.md +148 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/steps/step-01b-continue.md +79 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/steps/step-02-bridge.md +114 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/steps/step-02b-kit-warmup.md +96 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/steps/step-03-scenarios.md +102 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/steps/step-04-specs.md +97 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/steps/step-05-prototype.md +102 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/steps/step-06-handoff.md +96 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/templates/product-brief-bridge.md +68 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/templates/proposal-index.md +46 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/templates/trigger-map-bridge.md +54 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/workflow.md +82 -0
- package/siesa-agents/bmm/workflows/3-solutioning/wds-visual-proposals/workflow_ext.md +195 -0
- package/siesa-agents/wds/config.yaml +20 -0
- package/siesa-agents/wds/data/agent-contracts.md +72 -0
- package/siesa-agents/wds/data/agent-guides/freya/agentic-development.md +223 -0
- package/siesa-agents/wds/data/agent-guides/freya/content-creation.md +270 -0
- package/siesa-agents/wds/data/agent-guides/freya/design-system.md +333 -0
- package/siesa-agents/wds/data/agent-guides/freya/meta-content-guide.md +495 -0
- package/siesa-agents/wds/data/agent-guides/freya/specification-quality.md +262 -0
- package/siesa-agents/wds/data/agent-guides/freya/strategic-design.md +116 -0
- package/siesa-agents/wds/data/agent-guides/saga/content-structure-principles.md +190 -0
- package/siesa-agents/wds/data/agent-guides/saga/conversational-followups.md +372 -0
- package/siesa-agents/wds/data/agent-guides/saga/discovery-conversation.md +265 -0
- package/siesa-agents/wds/data/agent-guides/saga/dream-up-approach.md +1034 -0
- package/siesa-agents/wds/data/agent-guides/saga/inspiration-analysis.md +215 -0
- package/siesa-agents/wds/data/agent-guides/saga/resources/project-brief.template.md +187 -0
- package/siesa-agents/wds/data/agent-guides/saga/seo-strategy-guide.md +391 -0
- package/siesa-agents/wds/data/agent-guides/saga/strategic-documentation.md +454 -0
- package/siesa-agents/wds/data/agent-guides/saga/trigger-mapping.md +653 -0
- package/siesa-agents/wds/data/agent-guides/saga/working-with-existing-materials.md +172 -0
- package/siesa-agents/wds/data/design-system/component-boundaries.md +318 -0
- package/siesa-agents/wds/data/design-system/figma-component-structure.md +697 -0
- package/siesa-agents/wds/data/design-system/naming-conventions.md +200 -0
- package/siesa-agents/wds/data/design-system/state-management.md +93 -0
- package/siesa-agents/wds/data/design-system/token-architecture.md +474 -0
- package/siesa-agents/wds/data/design-system/validation-patterns.md +74 -0
- package/siesa-agents/wds/data/presentations/freya-how-i-help.md +63 -0
- package/siesa-agents/wds/data/presentations/freya-intro.md +269 -0
- package/siesa-agents/wds/data/presentations/freya-presentation.md +77 -0
- package/siesa-agents/wds/data/presentations/freya-workflows-guide.md +51 -0
- package/siesa-agents/wds/data/presentations/mimir-agents-overview.md +66 -0
- package/siesa-agents/wds/data/presentations/mimir-tone-setting.md +48 -0
- package/siesa-agents/wds/data/presentations/saga-how-i-help.md +62 -0
- package/siesa-agents/wds/data/presentations/saga-intro.md +285 -0
- package/siesa-agents/wds/data/presentations/saga-presentation.md +74 -0
- package/siesa-agents/wds/data/presentations/saga-workflows-guide.md +48 -0
- package/siesa-agents/wds/data/shared-activation.md +49 -0
- package/siesa-agents/wds/data/wds-glossary.md +98 -0
- package/siesa-agents/wds/module-help.csv +19 -0
- package/siesa-agents/wds/scripts/README.md +155 -0
- package/siesa-agents/wds/scripts/wds-add-object.js +207 -0
- package/siesa-agents/wds/scripts/wds-add-spacing.js +158 -0
- package/siesa-agents/wds/scripts/wds-init-page.js +234 -0
- package/siesa-agents/wds/scripts/wds-init-scenario.js +125 -0
- package/siesa-agents/wds/scripts/wds-nav.js +206 -0
- package/siesa-agents/wds/scripts/wds-validate.js +306 -0
- package/siesa-agents/wds/skills/freya.activation.md +204 -0
- package/siesa-agents/wds/skills/handoff.md +91 -0
- package/siesa-agents/wds/skills/saga.activation.md +169 -0
- package/siesa-agents/wds/skills/shared/git.md +55 -0
- package/siesa-agents/wds/skills/start.md +99 -0
- package/siesa-agents/wds/skills/wrap.md +198 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# MANDATORY RULES: WDS-VISUAL-PROPOSALS WORKFLOW
|
|
2
|
+
|
|
3
|
+
These Siesa-specific rules are injected into memory BEFORE the base workflow runs and remain active throughout. They are non-negotiable.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. MANDATORY RULE — PHASE BRANCH CREATION AT WORKFLOW START
|
|
8
|
+
|
|
9
|
+
**TRIGGER:** Immediately when the user initiates this workflow (e.g., `/wds-visual-proposals`).
|
|
10
|
+
|
|
11
|
+
**CRITICAL INSTRUCTION:** Before executing any workflow step, you MUST invoke the `generate-commits-by-phase` skill to create the **Phase 2 (planning)** branch. Visual proposals are a planning-phase activity.
|
|
12
|
+
|
|
13
|
+
### EXECUTION STEPS (PERFORM THESE ACTIONS NOW, BEFORE ANYTHING ELSE)
|
|
14
|
+
|
|
15
|
+
**STEP 1: INVOKE THE SKILL — CREATE PHASE 2 BRANCH**
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
node _siesa-agents/scripts/phases/phase2.js
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- If the `planning` branch already exists, the script will report it — continue normally.
|
|
22
|
+
- If it is created successfully, confirm to the user and proceed.
|
|
23
|
+
|
|
24
|
+
**STEP 2: CONFIRM AND CONTINUE**
|
|
25
|
+
|
|
26
|
+
Output to the user:
|
|
27
|
+
> `✅ Rama Phase 2 (planning) lista. Procediendo con la generación de propuestas visuales WDS...`
|
|
28
|
+
|
|
29
|
+
**DO NOT proceed to the workflow steps until this rule is fully executed.**
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 2. CONTEXT AND STANDARDS SETUP
|
|
34
|
+
|
|
35
|
+
Establish the following context paths for use throughout all steps:
|
|
36
|
+
|
|
37
|
+
- `company_standards_path` = `{project-root}/_siesa-agents/bmm/workflows/3-solutioning/create-architecture/data/company-standards`
|
|
38
|
+
- `wds_module_path` = `{project-root}/_siesa-agents/wds`
|
|
39
|
+
- `wds_scripts_path` = `{wds_module_path}/scripts`
|
|
40
|
+
- `siesa_uikit_catalog_url` = `https://siesa-ui-kit.pages.dev/llms.txt`
|
|
41
|
+
- `base_ux_spec` = `{project-root}/_siesa-agents/resources/ux-ui/ux-design-specification.md`
|
|
42
|
+
- `frontend_base_repo` = `https://github.com/SiesaTeams/BaseFrontend`
|
|
43
|
+
- `frontend_dir` = `{design_artifacts}/_kit-playground` (el harness del frontend ES un clon de `frontend_base_repo`)
|
|
44
|
+
|
|
45
|
+
### Company Standards Integration
|
|
46
|
+
|
|
47
|
+
🔴 **CRITICAL**: Load these before producing any spec or prototype:
|
|
48
|
+
- `{company_standards_path}/frontend-standards.md` — **siesa-ui-kit** rules + component strategy
|
|
49
|
+
- `{company_standards_path}/technical-preferences-ux.md` — UX/UI preferences and patterns
|
|
50
|
+
|
|
51
|
+
| Priority | Rule | Why Critical |
|
|
52
|
+
|----------|------|--------------|
|
|
53
|
+
| 🔴 P0 | **siesa-ui-kit obligatorio** | Check siesa-ui-kit (via `{siesa_uikit_catalog_url}`) before proposing ANY component |
|
|
54
|
+
| 🔴 P0 | **UI text in Spanish** | All user-facing text MUST be in Spanish |
|
|
55
|
+
| 🔴 P0 | **Vite over Next.js** | Any rendered prototype harness uses Vite + React + Tailwind v4, never Next.js |
|
|
56
|
+
| 🔴 P0 | **Fidelidad al diseño de referencia** | Si el usuario entregó un diseño a seguir (mockup HTML, imagen, Figma), **renderízalo** y replícalo; su look manda sobre los defaults del kit y se **verifica lado a lado** (ver §3C) |
|
|
57
|
+
| 🟡 P1 | Design tokens | Use the tokens defined in `{base_ux_spec}` and the project `ux-design-specification.md` |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 3. SIESA-UI-KIT MANDATORY CHECK (applies to step-04 and step-05)
|
|
62
|
+
|
|
63
|
+
**BEFORE mapping any object to a component or rendering any prototype, you MUST:**
|
|
64
|
+
|
|
65
|
+
1. Fetch the live catalog from `{siesa_uikit_catalog_url}` (authoritative source of available components).
|
|
66
|
+
2. Resolve the **actual installed package name** by reading the target frontend app's `package.json` — do NOT assume `@siesa/ui-kit`. `llms.txt` does not declare the npm name.
|
|
67
|
+
3. Follow the Component Decision Protocol:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
Component needed → ¿Está en siesa-ui-kit (per llms.txt / kit-grounding.md)?
|
|
71
|
+
├── YES → USA el componente siesa-ui-kit tal cual
|
|
72
|
+
└── NO → busca en shadcn (registro MCP de shadcn)
|
|
73
|
+
├── existe → usa el componente shadcn
|
|
74
|
+
└── no existe → el agente lo CREA (compone primitivos + tokens de marca)
|
|
75
|
+
(AUTOMÁTICO — no preguntar al usuario; registrar la decisión kit/shadcn/custom en el design log.)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
4. Prefer siesa-ui-kit **view-level** components when they fit the page (e.g. `LoginView`, `SignUpView`, `RecoverPasswordView`, `Dashboard`, `LayoutBase`, `ProductsView`, `MasterCrud`) — they raise fidelity and reduce effort.
|
|
79
|
+
|
|
80
|
+
### UI Text Language Rule
|
|
81
|
+
|
|
82
|
+
🔴 **MANDATORY**: All user-facing text MUST be in Spanish.
|
|
83
|
+
- ✅ "Guardar", "Cancelar", "Enviar", "Nombre de usuario", "Datos guardados correctamente"
|
|
84
|
+
- ❌ "Save", "Cancel", mixed "Save cambios"
|
|
85
|
+
|
|
86
|
+
> **Note on the bilingual scaffold:** the WDS scripts (`wds-add-object.js`) expose `--se` (Swedish) and `--en` (English) fields. For Siesa, put the **Spanish** UI string in `--se` (primary product language) and the English reference in `--en`. Spanish is the language the prototype renders.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 3A. MANDATORY RULE — CLONA Y TRABAJA BAJO BaseFrontend
|
|
91
|
+
|
|
92
|
+
**TRIGGER:** En step-02b (Kit Warm-up), al montar el harness del frontend, y durante todo step-05.
|
|
93
|
+
|
|
94
|
+
🔴 **CRITICAL:** El frontend NO se scaffoldea a mano. Se **clona el repositorio base oficial** `{frontend_base_repo}` en `{frontend_dir}` y se trabaja **dentro de él**. Ese repo ya trae Vite 6 + React 19 + TS + Tailwind v4 + `siesa-ui-kit@^1.0.109` con TODOS los peers instalados, TanStack Router (file-based), Clean Architecture por módulos, capa mock en memoria y un shell (`LayoutBase`) ya cableado. No reinventar nada de eso.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
git clone --depth 1 {frontend_base_repo} {frontend_dir}
|
|
98
|
+
rm -rf {frontend_dir}/.git # el clon vive DENTRO del repo SIESA; no anidar .git
|
|
99
|
+
cd {frontend_dir} && npm install
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
- **`.git` fuera:** tras clonar, borra `{frontend_dir}/.git` para que los fuentes queden versionados por el repo SIESA padre (no como submódulo). `node_modules/` ya está en el `.gitignore` del propio base.
|
|
103
|
+
- **Ejecución:** el prototipo se ve con `npm run dev` (modo standalone, **puerto 3010**, todos los permisos activos, datos en memoria mock). NUNCA Next.js.
|
|
104
|
+
- **Convenciones del base (respétalas, no las reescribas):**
|
|
105
|
+
- **Shell = `_app.tsx`** → usa `LayoutBase` de siesa-ui-kit con `navigationItems` de `src/config/navigation.tsx` + `<Outlet/>`. Este ES el shell persistente; no hay que construir Navbar/rail a mano.
|
|
106
|
+
- **Un módulo por dominio** en `src/modules/<dominio>/` con las 4 capas `domain / application / infrastructure / presentation` (copia el patrón de los módulos de ejemplo `agentes` y `colaboradores`, que luego se reemplazan).
|
|
107
|
+
- **Listado + CRUD** → componente `MasterCrud` dirigido por un array `fields` (accessorKey/header/type/config) + un `service` que implementa `CrudService<T>` + schema Zod. No coloques objetos a mano cuando `MasterCrud` cubre la pantalla.
|
|
108
|
+
- **Estado compartido = capa mock** (`src/lib/mock/*.mock.ts`): BD en memoria por entidad. Los flujos conectados entre módulos (eliminar padre → hijos huérfanos, asociar/reasignar reflejado en ambos, enlaces cruzados) se implementan sobre estos stores.
|
|
109
|
+
- **Rutas** = TanStack Router file-based: una ruta por módulo en `src/routes/_app/<modulo>.tsx` + su ítem en `config/navigation.tsx`. `routeTree.gen.ts` se autogenera (no editar).
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 3B. MANDATORY RULE — KIT WARM-UP GROUNDING BEFORE DESIGN
|
|
114
|
+
|
|
115
|
+
**TRIGGER:** After the strategic bridge (step-02) and BEFORE generating scenarios/specs (step-03+).
|
|
116
|
+
|
|
117
|
+
🔴 **CRITICAL:** El agente NO debe diseñar contra el catálogo `llms.txt` solo. Debe ejecutar **step-02b (Kit Warm-up)**: clonar BaseFrontend (§3A), instalarlo, verificar con `npm run build`/render que el paquete **real** de siesa-ui-kit compila, y producir `{frontend_dir}/kit-grounding.md` con nombres y props **reales**.
|
|
118
|
+
|
|
119
|
+
- **Source of truth:** cuando `kit-grounding.md` y el catálogo discrepan, **gana el grounding** (usa el export real: p. ej. `ContentLayout` no `LayoutContent`; no inventes `Dashboard`/`StatCard` → compón con `Card`). BaseFrontend ya usa `LayoutBase` y `MasterCrud` con contratos reales — documéntalos en el grounding.
|
|
120
|
+
- **No silent skip:** si no se puede clonar/instalar (sin red/registro), `kit-grounding.md` se escribe igual desde el catálogo pero marcado `⚠️ NO VERIFICADO EN RUNTIME`.
|
|
121
|
+
- **Spec Sync (feedback obligatorio):** todo hallazgo del warm-up que invalide un supuesto del `ux-design-specification.md` (nombre/contrato inexistente) debe reflejarse en una sección "Kit Grounding — Spec Sync" del spec en el mismo ciclo.
|
|
122
|
+
|
|
123
|
+
🔴 **ENTREGABLE = LA APP CLONADA (BaseFrontend) INTEGRADA, NO pantallas sueltas.** Step-05 trabaja **dentro de `{frontend_dir}`**: reemplaza los módulos de ejemplo por **un módulo por dominio** del alcance, siguiendo las convenciones del base (shell `LayoutBase`, `MasterCrud` data-driven, stores mock compartidos, rutas + nav). Resultado: una app navegable de punta a punta con `npm run dev`, **estado compartido** entre módulos y **flujos conectados** (eliminar padre → hijos huérfanos; asociar/reasignar refleja en ambos; enlaces cruzados navegables). Las épicas de relación se integran DENTRO de los módulos que relacionan; la épica de shell YA es el shell del base. **Prohibido** entregar un prototipo aislado por épica, y **prohibido** HTML+CSS que se auto-rotule como si usara el kit (`<div class="rail" title="NavigationRail">`, `/* siesa-ui-kit Button */`) — esa es la alucinación que este flujo elimina. Todo con componentes reales, `npm run build` exit 0. **Entregable estático = la app compilada en UN HTML autocontenido (`propuesta-app.html`, vía vite-plugin-singlefile + hash routing), NO una galería de screenshots** (los screenshots son solo verificación interna del agente). Gotchas obligatorios (el base ya resuelve varios): `ContentLayout` = master-detail (no header); `GenericEntityModal`/`ContactManager` requieren `QueryClientProvider` (el base ya lo provee en `config/query-client.ts`); `LookupField` requiere `fetcher` mock.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 3C. MANDATORY RULE — REFERENCE DESIGN FIDELITY (cuando el usuario entrega un diseño a seguir)
|
|
128
|
+
|
|
129
|
+
**TRIGGER:** El usuario aportó, en cualquier punto del flujo, un **diseño de referencia** que la propuesta debe replicar: un mockup HTML (incluidos los HTML autocontenidos/"bundled" que se auto-desempaquetan), una imagen (PNG/JPG), un PDF de pantallas, o un enlace de Figma. step-01 lo detecta e ingesta; step-05 lo replica; **esta regla aplica durante todo el flujo.**
|
|
130
|
+
|
|
131
|
+
🔴 **Regla de oro: NO se diseña contra una descripción textual del diseño — se diseña contra el diseño RENDERIZADO.** El fallo que esta regla previene es construir "de memoria"/desde texto y declarar fidelidad sin haber visto nunca el diseño real.
|
|
132
|
+
|
|
133
|
+
### A. Renderizar el diseño de referencia a imágenes (obligatorio antes de diseñar)
|
|
134
|
+
|
|
135
|
+
Convierte el diseño a screenshots que sean la **verdad visual** (guárdalos en `{design_artifacts}/_design-ref/`):
|
|
136
|
+
|
|
137
|
+
- **Imagen/PDF** → úsala directamente (o exporta cada página del PDF a PNG).
|
|
138
|
+
- **HTML autocontenido/bundled** (abre por sí solo, p. ej. un export con assets en base64) → renderízalo en **Chrome headless**:
|
|
139
|
+
`chrome --headless=new --disable-gpu --hide-scrollbars --window-size=1600,1050 --virtual-time-budget=8000 --screenshot=<out.png> "file:///<ruta-del-html>"`.
|
|
140
|
+
Dale tiempo (`--virtual-time-budget`) si el HTML se desempaqueta/renderiza vía JS.
|
|
141
|
+
- **HTML interactivo / multi-pantalla** (la pantalla objetivo se alcanza haciendo clic, p. ej. "Crear/Editar") → **NO basta la pantalla inicial**: conduce el Chrome instalado con `puppeteer-core` (`npm i puppeteer-core`, `executablePath` = Chrome local), navega/haz clic hacia cada estado (lista, crear, editar, diálogos) y captura **un screenshot por pantalla**.
|
|
142
|
+
- **Figma/URL** → exporta los frames a PNG (o pide al usuario los PNG exportados). Si no hay acceso, avísalo y trabaja con lo que haya.
|
|
143
|
+
|
|
144
|
+
Registra las referencias en `_progress/wds-project-outline.yaml` (`reference_design: [rutas]`) y en el design log.
|
|
145
|
+
|
|
146
|
+
### B. Extraer sus tokens (gotcha que deja todo sin estilo)
|
|
147
|
+
|
|
148
|
+
Si el diseño define tokens como custom properties CSS (`:root { --surface-card: …; --space-4: …; --radius-xl: …; --text-sm: … }`), **cópialos al harness** (`{kit_playground}/src/styles/tokens.css`, importado desde `src/index.css`) **antes** de escribir componentes custom. Los componentes que referencian `var(--…)` sin esas definiciones renderizan **colapsados/sin estilo** (flex/gap 0, sin fondos ni bordes) — `siesa-ui-kit/styles.css` define SUS tokens, no los del diseño de referencia.
|
|
149
|
+
|
|
150
|
+
### C. Precedencia de fidelidad (el diseño manda sobre los defaults del kit)
|
|
151
|
+
|
|
152
|
+
siesa-ui-kit primero **sigue vigente para primitivos** (`Input`, `Textarea`, `Select`, `Switch`, `Badge`, `Button`, `LookupField`, `Table`). Pero los **componentes de vista** (`MasterCrud`, `LayoutBase`, etc.) imponen un look que **puede no parecerse en nada** al diseño de referencia (p. ej. el diseño usa barra superior sin rail y una tabla limpia con pills de color, no el toolbar por defecto de `MasterCrud`). Cuando el default del kit diverge del diseño: **compón la presentación a medida para igualar el diseño**, importando primitivos del kit donde encajen. La fidelidad al diseño entregado por el usuario tiene prioridad sobre "usar el componente de vista del kit". Registra kit/custom en el design log.
|
|
153
|
+
|
|
154
|
+
### D. Verificación lado a lado (antes de declarar "listo")
|
|
155
|
+
|
|
156
|
+
Para CADA página del alcance: renderiza tu build y ponlo **al lado del screenshot de referencia**; solo pasa si coinciden **layout, colores, espaciado, tipografía y componentes**. 🚫 **PROHIBIDO declarar fidelidad** contra tu propio modelo mental, contra una descripción textual, o contra la pantalla inicial cuando la referencia tiene más pantallas. Si no coincide, corrige e itera antes de presentar.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## 4. PATH RECONCILIATION (WDS docs are internally inconsistent)
|
|
161
|
+
|
|
162
|
+
WDS docs disagree on output paths. Resolve at runtime in this order:
|
|
163
|
+
|
|
164
|
+
1. Read `{wds_module_path}/config.yaml`. Use its `design_artifacts` value as the **base output path** for all WDS scaffold scripts (`--output <design_artifacts>`). Scripts create `C-UX-Scenarios/` under it.
|
|
165
|
+
2. Place the bridge artifacts as Freya's activation expects them, relative to that base:
|
|
166
|
+
- `{design_artifacts}/A-Product-Brief/product-brief.md`
|
|
167
|
+
- `{design_artifacts}/B-Trigger-Map/trigger-map.md` (+ personas)
|
|
168
|
+
- `{design_artifacts}/C-UX-Scenarios/` (scenarios + page specs)
|
|
169
|
+
- `{design_artifacts}/_progress/wds-project-outline.yaml` and `_progress/00-design-log.md`
|
|
170
|
+
3. NEVER hardcode `_bmad-output` vs `design-artifacts`. Always derive from `config.yaml`.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 5. MANDATORY RULE — PHASE COMMIT AT WORKFLOW END
|
|
175
|
+
|
|
176
|
+
**TRIGGER:** Immediately after the visual proposals (specs + prototype + index) are generated and saved (end of step-06).
|
|
177
|
+
|
|
178
|
+
**STEP 1: INSPECT CHANGES**
|
|
179
|
+
1. `git status --short`
|
|
180
|
+
2. `git diff --stat`
|
|
181
|
+
|
|
182
|
+
**STEP 2: GENERATE COMMIT MESSAGE**
|
|
183
|
+
Format: `[Phase 2 - Planning] <brief description>` — e.g. `[Phase 2 - Planning] add WDS visual proposals for <project name>`. Write it in `{communication_language}`.
|
|
184
|
+
|
|
185
|
+
**STEP 3: INVOKE THE SKILL — COMMIT PHASE 2 CHANGES**
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
node _siesa-agents/scripts/phases/phase2.js --commit "<generated commit message>"
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**STEP 4: CONFIRM COMPLETION**
|
|
192
|
+
Output to the user:
|
|
193
|
+
> `✅ Propuestas visuales WDS committeadas en la rama Phase 2 (planning).`
|
|
194
|
+
|
|
195
|
+
**This is the LAST action of the workflow. Do not execute any further steps after this commit.**
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# WDS Module Configuration
|
|
2
|
+
# Generated by BMAD installer
|
|
3
|
+
# Version: 6.9.0
|
|
4
|
+
# Date: 2026-06-25T17:13:35.737Z
|
|
5
|
+
|
|
6
|
+
project_knowledge: "{project-root}/docs"
|
|
7
|
+
project_type: digital_product
|
|
8
|
+
design_artifacts: "{project-root}/design-artifacts"
|
|
9
|
+
design_system_mode: none
|
|
10
|
+
methodology_version: wds-v6
|
|
11
|
+
product_languages:
|
|
12
|
+
- en
|
|
13
|
+
design_experience: intermediate
|
|
14
|
+
|
|
15
|
+
# Core Configuration Values
|
|
16
|
+
user_name: Ssancheze
|
|
17
|
+
project_name: Dev
|
|
18
|
+
communication_language: Spanish
|
|
19
|
+
document_output_language: English
|
|
20
|
+
output_folder: "{project-root}/_bmad-output"
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# WDS Agent Contracts
|
|
2
|
+
|
|
3
|
+
Defines what each agent owns, what they explicitly do not own, and how they hand off to each other.
|
|
4
|
+
All agents load this file at activation. These rules are non-negotiable.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Domain Boundaries
|
|
9
|
+
|
|
10
|
+
| Agent | Owns | Does NOT own |
|
|
11
|
+
|-------|------|--------------|
|
|
12
|
+
| **Saga** | Phases 0–2: Alignment, Product Brief, Trigger Mapping | Any design work. Any code. Scenarios (Phase 3+). |
|
|
13
|
+
| **Freya** | Phases 3–4: UX Scenarios, UX Design. Phases 6–7: Asset Generation, Design System. | Discovery (Phases 1–2). Any code. PRDs. |
|
|
14
|
+
| **Mimir** | Phase 5: Tech Audit, PRD, Build. Phase 8: Product Evolution. | Discovery. Design. Writing specs without a Work Order. |
|
|
15
|
+
|
|
16
|
+
**If a user asks an agent to do work outside its domain:** name the right agent and offer to hand off. Never attempt the work yourself.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Prerequisites
|
|
21
|
+
|
|
22
|
+
Each agent requires the following before starting core work:
|
|
23
|
+
|
|
24
|
+
| Agent | Required | Blocks |
|
|
25
|
+
|-------|----------|--------|
|
|
26
|
+
| Saga | Nothing | — |
|
|
27
|
+
| Freya | `A-Product-Brief/product-brief.md` + `B-Trigger-Map/00-trigger-map.md` | Cannot design without strategic foundation |
|
|
28
|
+
| Mimir | At least one Work Order from Freya | Cannot build without a WO. Cannot PRD without a WO. |
|
|
29
|
+
| Mimir (existing codebase) | `E-Development/000-tech-audit.md` | Cannot PRD without knowing the codebase |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Handoff Rules
|
|
34
|
+
|
|
35
|
+
**Saga → Freya**
|
|
36
|
+
Trigger: Product Brief and Trigger Map are complete and aligned.
|
|
37
|
+
Action: Saga runs `/wrap freya`. Freya picks up with `/freya progress/freya.md`.
|
|
38
|
+
Never: Saga does not write scenarios or design anything before handing off.
|
|
39
|
+
|
|
40
|
+
**Freya → Mimir**
|
|
41
|
+
Trigger: Work Order written, page spec complete, ready for implementation.
|
|
42
|
+
Action: Freya runs `/wrap mimir` or `/handoff mimir`. Mimir picks up the Work Order.
|
|
43
|
+
Never: Freya does not write code. Freya does not write PRDs.
|
|
44
|
+
|
|
45
|
+
**Mimir → Freya**
|
|
46
|
+
Trigger: Implementation complete, browser-verified. Or: blocked on design decision.
|
|
47
|
+
Action: Mimir runs `/handoff freya` with the specific question or completion note.
|
|
48
|
+
Never: Mimir does not modify specs or Work Orders. He implements what they say.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Quality Rules (all agents)
|
|
53
|
+
|
|
54
|
+
- **One task at a time.** Complete and verify before moving on.
|
|
55
|
+
- **No plausible-looking wrong output.** If you cannot follow the template exactly, stop and say so. Wrong-but-plausible output breaks every downstream phase.
|
|
56
|
+
- **Read the template before writing.** Every artifact has a template. Load it, follow it.
|
|
57
|
+
- **Decisions are documented.** Any deviation from a template or unexpected choice goes in the design log.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Out-of-Scope (explicit)
|
|
62
|
+
|
|
63
|
+
Things no WDS agent does, ever:
|
|
64
|
+
|
|
65
|
+
- Produce output in a custom format when a WDS template exists
|
|
66
|
+
- Write to `progress/` without going through the memory tool
|
|
67
|
+
- Commit without a meaningful message (conventional commits required)
|
|
68
|
+
- Force push, skip hooks, or bypass git safety
|
|
69
|
+
- Start a new phase without the prerequisite documents
|
|
70
|
+
- Write code without a PRD (Mimir only)
|
|
71
|
+
- Mark a requirement done without browser verification (Mimir only)
|
|
72
|
+
- Design without a Trigger Map (Freya only)
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# Freya's Agentic Development Guide
|
|
2
|
+
|
|
3
|
+
**When to load:** When implementing features, building prototypes, or fixing bugs through structured development
|
|
4
|
+
|
|
5
|
+
> **Note:** Agent dialogs have been replaced by the Design Log system. Use `_progress/00-design-log.md` for state tracking and `_progress/agent-experiences/` for session insights.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Core Principle
|
|
10
|
+
|
|
11
|
+
**Agentic Development builds incrementally with full traceability via the design log.**
|
|
12
|
+
|
|
13
|
+
The design log bridges the gap between specifications and working code. Each step is self-contained, allowing fresh context while maintaining continuity.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## What is Agentic Development?
|
|
18
|
+
|
|
19
|
+
Agentic Development is a **workflow approach** that produces various outputs:
|
|
20
|
+
|
|
21
|
+
| Output Type | Description | When to Use |
|
|
22
|
+
|-------------|-------------|-------------|
|
|
23
|
+
| **Interactive Prototypes** | HTML prototypes that let users FEEL the design | Validating UX before production |
|
|
24
|
+
| **Prototype Implementation** | Building features from specifications | Feature development |
|
|
25
|
+
| **Bug Fixes** | Structured debugging and fixing | Issue resolution |
|
|
26
|
+
| **Design Exploration** | Exploring visual/UX directions | Creative iteration |
|
|
27
|
+
|
|
28
|
+
**Key Insight:** By structuring work with a design log and experience records, we create:
|
|
29
|
+
- **Isolation** — Each step can run in a fresh context
|
|
30
|
+
- **Traceability** — Clear record of what was planned and executed
|
|
31
|
+
- **Replayability** — Instructions can be rerun if needed
|
|
32
|
+
- **Handoff** — Different agents or humans can continue the work
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Agent Startup Protocol
|
|
37
|
+
|
|
38
|
+
**When awakened, always check the design log:**
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
1. Read: {output_folder}/_progress/00-design-log.md
|
|
42
|
+
2. Check Current and Backlog sections for:
|
|
43
|
+
- Items in progress
|
|
44
|
+
- Items ready to start
|
|
45
|
+
3. Present current state to user
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
This ensures no captured work is forgotten.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## The Bridge Role
|
|
53
|
+
|
|
54
|
+
The design log bridges **specifications** and **development**:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
|
|
58
|
+
│ SPECIFICATION │ │ DESIGN LOG │ │ DEVELOPMENT │
|
|
59
|
+
│ │ │ │ │ │
|
|
60
|
+
│ • What to build │────────▶│ • What's in scope │────────▶│ • How to build │
|
|
61
|
+
│ • Object IDs │ │ • Current/Backlog │ │ • Code files │
|
|
62
|
+
│ • Requirements │ │ • Traceability │ │ • Components │
|
|
63
|
+
│ • Translations │ │ • Progress tracking │ │ • Tests │
|
|
64
|
+
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
|
|
65
|
+
Single Source Navigation Implementation
|
|
66
|
+
of Truth Layer
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**The specification is the single source of truth.** The design log does not duplicate spec content — it maps implementation tasks to spec sections via Object IDs.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Progress Folder Structure
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
{output_folder}/_progress/
|
|
77
|
+
├── 00-design-log.md ← Main state tracking
|
|
78
|
+
└── agent-experiences/
|
|
79
|
+
├── {DATE}-{agent}-{feature-name}.md ← Session insights
|
|
80
|
+
└── ...
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Feedback Protocol
|
|
86
|
+
|
|
87
|
+
During implementation, classify and handle feedback naturally:
|
|
88
|
+
|
|
89
|
+
| Type | What It Is | When to Address |
|
|
90
|
+
|------|------------|-----------------|
|
|
91
|
+
| **Bug/Issue** | Something broken or not working as expected | Now — iterate until fixed |
|
|
92
|
+
| **Quick Adjustment** | Small tweak to current work | Now — implement immediately |
|
|
93
|
+
| **Addition** | New requirement that fits current scope | Later step — add to plan |
|
|
94
|
+
| **Change Request** | Outside current dialog scope | Future session — document in Change Requests |
|
|
95
|
+
|
|
96
|
+
**Response Pattern:**
|
|
97
|
+
1. **Classify** — Note what kind of feedback this is
|
|
98
|
+
2. **Timing** — State when it should be addressed
|
|
99
|
+
3. **Confirm** — For additions and change requests, confirm before proceeding
|
|
100
|
+
4. **Execute** — Implement or document as appropriate
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Inline Testing
|
|
105
|
+
|
|
106
|
+
**The agent tests its own work before presenting it to the user.**
|
|
107
|
+
|
|
108
|
+
During agentic development, use Puppeteer to verify measurable criteria after each implementation step. This ensures the user only evaluates qualitative aspects (feel, clarity, hierarchy) rather than checking things the agent can measure.
|
|
109
|
+
|
|
110
|
+
**Key rules:**
|
|
111
|
+
|
|
112
|
+
1. **Verify before presenting** — After implementing a section, open the page with Puppeteer and check all measurable criteria
|
|
113
|
+
2. **Narrate findings** — Use ✓/✗ marks with actual vs expected values
|
|
114
|
+
3. **Fix before showing** — Never present with known measurable failures
|
|
115
|
+
4. **Capture baselines** — Before modifying existing features, document current state with Puppeteer
|
|
116
|
+
5. **Split test plans** — Story files divide criteria into agent-verifiable and user-evaluable
|
|
117
|
+
|
|
118
|
+
**Responsibility split:**
|
|
119
|
+
- **Agent handles:** Text content, colors, dimensions, touch targets, error states, visibility, state transitions
|
|
120
|
+
- **Human handles:** Flow feel, visual hierarchy, user understanding, overall consistency
|
|
121
|
+
|
|
122
|
+
**Full methodology:** `workflows/wds-4-ux-design/agentic-development/guides/INLINE-TESTING-GUIDE.md`
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Interactive Prototypes (Output Type)
|
|
127
|
+
|
|
128
|
+
Interactive Prototypes are **one output** of Agentic Development.
|
|
129
|
+
|
|
130
|
+
### Why HTML Prototypes?
|
|
131
|
+
|
|
132
|
+
**Static Specs Can't Show:**
|
|
133
|
+
- How it FEELS to interact
|
|
134
|
+
- Where users get confused
|
|
135
|
+
- What's missing in the flow
|
|
136
|
+
- If the pacing feels right
|
|
137
|
+
|
|
138
|
+
**HTML Prototypes Reveal:**
|
|
139
|
+
- Interaction feels natural or awkward
|
|
140
|
+
- Information appears when needed
|
|
141
|
+
- Flow has logical gaps
|
|
142
|
+
- Users understand next steps
|
|
143
|
+
|
|
144
|
+
### Fidelity Levels
|
|
145
|
+
|
|
146
|
+
| Level | Focus | Use When |
|
|
147
|
+
|-------|-------|----------|
|
|
148
|
+
| **Wireframe** | Information architecture | Testing flow logic only |
|
|
149
|
+
| **Interactive** | User experience | Validating UX (standard) |
|
|
150
|
+
| **Design System** | Component-based | Phase 5 enabled |
|
|
151
|
+
|
|
152
|
+
### Prototype vs Production
|
|
153
|
+
|
|
154
|
+
**Prototypes ARE:**
|
|
155
|
+
- Thinking tools
|
|
156
|
+
- Communication tools
|
|
157
|
+
- Validation tools
|
|
158
|
+
- Specification supplements
|
|
159
|
+
|
|
160
|
+
**Prototypes are NOT:**
|
|
161
|
+
- Production code
|
|
162
|
+
- Pixel-perfect mockups
|
|
163
|
+
- Final design
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Prototype Implementation (Output Type)
|
|
168
|
+
|
|
169
|
+
Building features from specifications through structured dialog steps.
|
|
170
|
+
|
|
171
|
+
### Step File Structure
|
|
172
|
+
|
|
173
|
+
Each step links to specifications (doesn't duplicate):
|
|
174
|
+
|
|
175
|
+
```markdown
|
|
176
|
+
## Object ID Implementation Map
|
|
177
|
+
|
|
178
|
+
| Object ID | Spec Section | Lines |
|
|
179
|
+
|-----------|--------------|-------|
|
|
180
|
+
| `booking-detail-header` | Drawer Header | L149-L158 |
|
|
181
|
+
| `booking-detail-close` | Close Button | L159-L168 |
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Implementation Checklist Pattern
|
|
185
|
+
|
|
186
|
+
For each Object ID:
|
|
187
|
+
1. **Read** — Load the spec section
|
|
188
|
+
2. **Implement** — Build to match spec
|
|
189
|
+
3. **Verify (Puppeteer)** — Open in browser, check measurable criteria with ✓/✗ narration
|
|
190
|
+
4. **Fix** — Resolve any mismatches before presenting to user
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Best Practices
|
|
195
|
+
|
|
196
|
+
### Single Source of Truth
|
|
197
|
+
- **Never duplicate spec content** — Link to spec sections with line numbers
|
|
198
|
+
- **Object IDs are the contract** — Every implementation maps to an Object ID
|
|
199
|
+
- **Spec changes update the spec** — Not the dialog or step files
|
|
200
|
+
|
|
201
|
+
### Design Log
|
|
202
|
+
- **Be thorough in Setup Context** — Assume zero prior knowledge
|
|
203
|
+
- **Include file paths** — Always use absolute or project-relative paths
|
|
204
|
+
- **Track progress** — Update the design log after each step
|
|
205
|
+
|
|
206
|
+
### Execution
|
|
207
|
+
- **Read spec first** — Before implementing any Object ID
|
|
208
|
+
- **Fresh context is fine** — Steps are designed to work in isolation
|
|
209
|
+
- **Update as you go** — Don't wait to update progress
|
|
210
|
+
- **Capture discoveries** — Note spec changes or issues found
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Related Resources
|
|
215
|
+
|
|
216
|
+
- **Design Log:** `{output_folder}/_progress/00-design-log.md`
|
|
217
|
+
- **Agent Experiences:** `{output_folder}/_progress/agent-experiences/`
|
|
218
|
+
- **Phase 4 UX Design:** `workflows/wds-4-ux-design/workflow.md`
|
|
219
|
+
- **Inline Testing Guide:** `workflows/wds-5-agentic-development/guides/INLINE-TESTING-GUIDE.md`
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
*Build incrementally. Document thoroughly. Let users FEEL the design before committing to production.*
|