wize-dev-kit 0.8.0 → 0.9.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.
package/AGENTS.md CHANGED
@@ -4,9 +4,25 @@ This repo is wired with the [`wize-dev-kit`](https://www.npmjs.com/package/wize-
4
4
  Detailed artifacts live under `.wize/`. The agents below are activated through your AI IDE
5
5
  using slash commands (Claude Code, Codex, Cursor, Windsurf, Antigravity all read this file).
6
6
 
7
+ ## Operating context
8
+
9
+ Treat `.wize/`, this `AGENTS.md`, and the installed `wize-*` skills as your operating
10
+ instructions and persistent memory — not background reading. Read project state before
11
+ acting; write what you change back into `.wize/` so the next session inherits it.
12
+
13
+ Before editing, classify the demand via `/wize-help`: **Quick Dev** (small, predictable,
14
+ ~≤1h, no new feature / architecture / UX / security) or **Full Lifecycle**. Never pick
15
+ Quick Dev just to skip artifacts.
16
+
17
+ When a skill fans out to subagents, match the model tier to the task: a lightweight tier
18
+ for mechanical work (reads, greps, formatting, short summaries), the standard tier for
19
+ implementation and review, a high-capability tier only for architecture, critical
20
+ decisions, or final adversarial review.
21
+
7
22
  ## Roster
8
23
 
9
24
  - **Hawkeye** (`wize-agent-test-architect`) — Test Architect (TEA). |
25
+ - **red-teamer** (`wize-sec-red-teamer`) — Security Overlay — Red-Teamer. |
10
26
  - **Wizer** (`wize-orchestrator`) — Orchestrator / Knowledge Base. |
11
27
  - **Shuri** (`wize-agent-dev`) — Senior Developer. |
12
28
  - **Nick Fury** (`wize-agent-solution-strategist`) — Solution Strategy / Tech Vision. |
package/ARCH.md CHANGED
@@ -9,7 +9,7 @@
9
9
  ## 1. Identidade
10
10
 
11
11
  - **Nome do pacote npm:** `wize-dev-kit`
12
- - **CLI:** `wize-dev-kit` (subcomandos: `install`, `update`, `uninstall`, `agent`, `workflow`, `sync`)
12
+ - **CLI:** `wize-dev-kit` (subcomandos: `install`, `update`, `uninstall`, `list`, `sync`, `agent`, `workflow`, `validate`, `doctor`, `document-project`)
13
13
  - **Namespace de arquivos/agentes/skills:** `wize-*`
14
14
  - **Licença:** MIT — open-source desde o dia 1.
15
15
  - **Tema visual do roster:** Marvel.
@@ -19,15 +19,16 @@
19
19
 
20
20
  ## 2. Modelo de distribuição
21
21
 
22
- **1 pacote, 3 perfis selecionáveis, overlays combináveis.**
22
+ **1 pacote, 4 perfis selecionáveis, overlays combináveis.**
23
23
 
24
24
  ```
25
25
  wize-dev-kit (pacote npm)
26
26
  │
27
27
  ├── Wize Dev Core ← base completa (sempre instalada)
28
28
  ├── Wize Web Dev ← overlay opt-in
29
- └── Wize App Development ← overlay opt-in
30
- (Web + App podem coexistir no mesmo repo)
29
+ ├── Wize App Development ← overlay opt-in
30
+ └── Wize Security Overlay ← overlay opt-in (AI Pentester / red-teamer)
31
+ (overlays podem coexistir no mesmo repo)
31
32
  ```
32
33
 
33
34
  - Selecionar perfil no installer aplica Core + overlay correspondente.
@@ -36,7 +37,7 @@ wize-dev-kit (pacote npm)
36
37
 
37
38
  ---
38
39
 
39
- ## 3. Roster final (9 personas Marvel)
40
+ ## 3. Roster final (9 core personas + 1 overlay persona)
40
41
 
41
42
  | Persona | Code | Papel | Fase principal |
42
43
  |---|---|---|---|
@@ -49,6 +50,7 @@ wize-dev-kit (pacote npm)
49
50
  | Tony Stark | `wize-agent-architect` | System Architect | 3 (Solutioning) |
50
51
  | Hawkeye | `wize-agent-test-architect` | Test Architect (TEA) | Gates 2/3/4 |
51
52
  | Shuri | `wize-agent-dev` | Senior Developer | 4 (Implementation) |
53
+ | red-teamer | `wize-sec-red-teamer` | AI Pentester (security-overlay, opt-in) | Transversal |
52
54
 
53
55
  ---
54
56
 
@@ -162,12 +164,12 @@ E nos IDE-targets (selecionáveis no install):
162
164
  ```
163
165
  .claude/skills/wize-* (Claude Code)
164
166
  .cursor/rules/wize-*.mdc (Cursor)
165
- .windsurf/... (Windsurf)
166
- .codex/... (Codex)
167
- .continue/... (Continue)
168
- .kimi/... (Kimi Code)
169
- .opencode/... (OpenCode)
170
- .antigravity/... (Antigravity CLI/IDE)
167
+ .windsurf/rules/wize-*.md (Windsurf)
168
+ .agents/skills/wize-* (Codex — .codex/ foi revertido na 0.7.3)
169
+ .continue/prompts/wize-*.prompt (Continue)
170
+ .kimi/skills/wize-* (Kimi Code)
171
+ .opencode/agents/ + .opencode/commands/ (OpenCode)
172
+ .agent/skills/wize-* (Antigravity CLI/IDE)
171
173
  .wize/agents/ (fallback genérico)
172
174
  ```
173
175
 
@@ -196,7 +198,7 @@ wize-dev-kit install
196
198
  ├─ Detecta: greenfield vs brownfield
197
199
  ├─ Pergunta: perfil(s) — Core / +Web / +App
198
200
  ├─ Pergunta: IDE targets — multi-select
199
- ├─ Pergunta: idioma e output_folder
201
+ ├─ Pergunta: idioma (output folder é fixo: .wize/)
200
202
  ├─ Cria .wize/ + adapters IDE
201
203
  ├─ Se brownfield: oferece `wize-document-project`
202
204
  └─ Se ok: dispara onboarding (Wizer → Pepper/Mantis/Tony)
@@ -268,7 +270,7 @@ wize-dev-kit sync # regera adapters IDE
268
270
 
269
271
  - 3 skills meta: `wize-create-agent`, `wize-create-skill`, `wize-create-workflow`.
270
272
  - Customização de built-ins via `.wize/custom/{tipo}/{code}/customize.toml` (override sem fork).
271
- - Validação obrigatória: schema → lint → dry-run.
273
+ - Validação: checks estruturais (validação de schema via Ajv pendente de orçamento de dependências).
272
274
  - Auto-sync: regera adapters de todos os IDEs ativos a cada criação/edição.
273
275
 
274
276
  ---
@@ -295,7 +297,7 @@ wize-dev-kit/
295
297
  ├── ROSTER.md # ← quadro Marvel
296
298
  │
297
299
  ├── src/
298
- │ ├── core-skills/ # Core (advanced-elicitation, brainstorming, party-mode, etc)
300
+ │ ├── core-skills/ # Core (advanced-elicitation, brainstorming, spec, etc)
299
301
  │ │ └── wize-*/
300
302
  │ ├── method-skills/ # AI Agile dev: 1-analysis, 2-plan, 3-solutioning, 4-implementation
301
303
  │ │ ├── 1-analysis/
@@ -347,12 +349,19 @@ wize-dev-kit/
347
349
  │ │ └── wize-create-workflow/
348
350
  │ ├── web-overlay/ # Wize Web Dev overlay
349
351
  │ │ ├── wize-web-scaffold/
352
+ │ │ ├── wize-web-deploy/
350
353
  │ │ ├── wize-web-seo-audit/
351
354
  │ │ └── module.yaml
352
- │ └── app-overlay/ # Wize App Development overlay
353
- │ ├── wize-app-scaffold/
354
- │ ├── wize-app-release-channels/
355
- │ └── module.yaml
355
+ │ ├── app-overlay/ # Wize App Development overlay
356
+ │ │ ├── wize-app-scaffold/
357
+ │ │ ├── wize-app-release-channels/
358
+ │ │ ├── wize-app-store-listing/
359
+ │ │ └── module.yaml
360
+ │ └── security-overlay/ # Wize Security Overlay (AI Pentester, opt-in)
361
+ │ ├── agents/ # red-teamer (wize-sec-red-teamer)
362
+ │ ├── skills/
363
+ │ ├── data/
364
+ │ └── _shared/
356
365
  │
357
366
  ├── adapters/ # IDE adapters
358
367
  │ ├── claude-code/
@@ -371,6 +380,12 @@ wize-dev-kit/
371
380
  │ ├── detect.js # greenfield/brownfield detector
372
381
  │ ├── onboarding.js
373
382
  │ ├── sync.js
383
+ │ ├── render-shared.js
384
+ │ ├── baseline.js
385
+ │ ├── version-check.js
386
+ │ ├── setup-helpers.js
387
+ │ ├── commands/
388
+ │ ├── document-project/
374
389
  │ └── validators/ # schema, lint, dry-run
375
390
  │
376
391
  └── test/ # specs validating skills + workflows
package/CHANGELOG.md CHANGED
@@ -5,6 +5,44 @@ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.9.0] — 2026-07-14
9
+
10
+ A cadeia do WDK passa a operar por **mission contracts** — cada etapa declara objetivo, fontes de verdade, escopo, critérios de aceite, contratos de execução/validação e persistência em `.wize/`, no formato que modelos de longo horizonte executam melhor. Suite verde (246 testes, validate 73 arquivos).
11
+
12
+ ### Added
13
+
14
+ - **`/wize-help mission`** — novo modo do Wizer: emite um mission contract preenchido a partir do estado do projeto (classe Quick Dev/Full Lifecycle, objetivo, fontes de verdade, escopo & limites, ACs, contratos de execução e validação, persistência, tier de subagentes), pronto para entregar à persona executora. Para Quick Dev, colapsa para a forma mínima.
15
+ - **`wize-dev-story`** — seção "Operating contract" (inspecionar antes de editar, reuse ladder, evidência real de comandos, nunca parar no planejamento) e **Final report** estruturado em 9 itens (rota, resumo, arquivos, mapa AC→teste, comandos + resultados, artefatos `.wize/`, decisões, riscos residuais, próxima ação). Pre-PR check exige mapa AC→teste completo e nomeia explicitamente qualquer check que não rodou e por quê.
16
+ - **`wize-quick-dev`** — "Operating contract (light)" com re-roteamento obrigatório para Full Lifecycle se a mudança crescer além de ~1h ou tocar feature/arquitetura/UX/segurança, e **Done report** compacto de 4 linhas.
17
+ - **`wize-create-epics-and-stories` / `wize-create-story`** — templates de story ganham campos de contrato: **Sources of truth**, **Restrictions** (out-of-scope + comportamentos protegidos + compatibilidade + segurança), **Validation contract** (mapa AC→teste + checks obrigatórios) e **Done means**. Story sem esses campos não está ready-for-dev.
18
+ - **Seleção de tier de modelo em fan-out** — persona do Wizer e AGENTS.md orientam a casar o tier do modelo com a tarefa ao despachar subagentes (leve para trabalho mecânico, padrão para implementação/revisão, alto só para arquitetura/decisões críticas/revisão adversarial final), passando o tier explicitamente quando o harness permitir. Apenas tiers genéricos — sem nomes de modelos de vendor no kit.
19
+
20
+ ### Changed
21
+
22
+ - **`wize-help` Step 2** — a triagem quick-dev deixou de ser um "atalho" e virou decisão de contrato explícita (tabela Quick Dev vs Full Lifecycle + "nunca use Quick Dev para fugir dos artefatos; em dúvida, pergunte").
23
+ - **`renderAgentsMd` + `AGENTS.md`** — o AGENTS.md gerado ganha bloco "Operating context": tratar `.wize/` + AGENTS.md + skills como instrução operacional e memória persistente (file-first), classificar a demanda via `/wize-help` antes de editar, e a nota de tier de subagentes. `AGENTS.md` da raiz regenerado pelo emitter (roster agora inclui a persona `red-teamer`, que faltava).
24
+
25
+ ## [0.8.1] — 2026-07-12
26
+
27
+ Release de alinhamento: documentação ↔ realidade, fecho do ciclo ágil e `/wize-help` corrigido. Sem novas features de produto; suite verde (246 testes, validate 73 arquivos).
28
+
29
+ ### Fixed
30
+
31
+ - **`/wize-help` roteava contra o arquivo errado.** Lia `.wize/implementation/sprint-status.md`, mas o canônico é `sprint-status.yaml` — toda detecção de Fase 4 falhava e projetos em sprint eram re-roteados para o começo. Reescrito e re-renderizado para todos os adapters: agora lê o `.yaml`, conhece o atalho `wize-quick-dev`, inclui os gates `wize-validate-prd` e `wize-check-implementation-readiness`, a persona `red-teamer` e os workflows de overlay, tem branch para gate FAIL → `wize-correct-course`, e não anuncia mais o alias `/wize` inexistente. Mais conciso (heurístico em tabela única).
32
+ - **Schemas rejeitavam os assets do security-overlay já publicados.** `agent.schema.json` passa a aceitar `code: wize-sec-*` e `module: security-overlay`; `workflow.schema.json` aceita `overlay: security`.
33
+
34
+ ### Docs
35
+
36
+ - **Baseline `wize-document-project` atualizado** (estava congelado em v0.3.0 apesar do "refresh" de 2026-07-04): versão, contagem de agentes (10), core skills (10), testes (24 arquivos / 246), LOC, commits e subcomandos de CLI. Riscos e perguntas obsoletas removidos.
37
+ - **README.es** trazido à paridade com en/pt-BR (estava em 0.7.0, sem a seção de harnesses). Nos três READMEs: removida a pergunta de "output folder" (o instalador não pergunta), corrigida a afirmação sobre dependências npm (`prompts`), e documentados os comandos `list` e `workflow`.
38
+ - **ARCH.md / DECISIONS.md / ROSTER.md / AGENTS.md e os 9 READMEs de adapter** atualizados para 4 profiles, a 10ª persona (`red-teamer`) e os paths reais de cada adapter; decisão Fase 9 registrada.
39
+ - **PRD / architecture / readiness**: contagem de ACs corrigida (30), stubs de template vazios removidos, notas de snapshot 0.6.0.
40
+
41
+ ### Cycle
42
+
43
+ - **Registro ágil reconciliado.** `sprint-status.yaml` regenerado contra a árvore real (8 epics / 27 stories, todas `done`); epics `01`–`07` fechados; releases 0.7.x/0.8.0 registradas em `quick-dev-log.md` e `sprint-status.md`; `backlog.md` atualizado.
44
+ - **Épico E09 aberto** ("Melhor aproveitamento de components e intenção do usuário") em `.wize/solutioning/epics/09-ux-intent.md`, com 8 stories verificadas contra o código; relatório completo em `REVIEW-2026-07-11.md`.
45
+
8
46
  ## [0.8.0] — 2026-07-04
9
47
 
10
48
  ### Added
package/DECISIONS.md CHANGED
@@ -148,6 +148,11 @@
148
148
  - **D8.4 — Versionamento dos workflows antigos:** cópias dos `workflow.md` monolíticos de `wize-create-architecture` e `wize-code-review` são arquivadas em `.wize/knowledge/decisions/` para referência, não mantidas em produção.
149
149
  - **D8.5 — Registro em catálogos:** skills adicionados a `src/core-skills/module.yaml` e `src/method-skills/module.yaml`; fluxos refletidos no `README.md`.
150
150
 
151
+ ### Fase 9 — Security Overlay + OpenCode nativo (2026-07-11)
152
+
153
+ - **D9.1 — Security Overlay neste kit:** o perfil `security-overlay` (AI Pentester) passa a ser distribuído **dentro do `wize-dev-kit`** como 4º perfil opt-in do installer, com a persona **red-teamer** (`wize-sec-red-teamer`) em `src/security-overlay/`. _Supersede parcialmente D1.1 (3 perfis → 4 perfis), D3.2 (9 papéis → 9 core + 1 overlay) e D3.5 (security deixava de ser reservado para kit futuro)._ As entradas históricas permanecem inalteradas como registro.
154
+ - **D9.2 — OpenCode com wiring nativo (0.8.0):** o adapter OpenCode passa a gerar **agents e commands nativos** (`.opencode/agents/` + `.opencode/commands/`), com commands vinculados à persona dona e workers de fan-out isolados — em vez do fallback genérico.
155
+
151
156
  ## Perguntas em aberto
152
157
 
153
158
  _(serão preenchidas conforme a entrevista avança)_
package/README.es.md CHANGED
@@ -25,7 +25,7 @@ Elige tus perfiles y tu IDE; luego, en tu IDE con IA, di *"Activa a Wizer y dale
25
25
 
26
26
  Wize Development Kit (WDK) es un **stack de agentes de IA** instalable que funciona dentro de tu IDE con IA (Claude Code, Cursor, Windsurf, Codex y otros) y escribe artefactos estructurados en una carpeta oculta `.wize/` de tu repositorio. Lleva un proyecto de **brief → PRD → estrategia de UX → arquitectura → implementación testeada**, y también puede **hacer pentest de la app en ejecución y planificar el sprint de remediación**.
27
27
 
28
- Es **file-first y zero-runtime**: los agentes son skills en Markdown que tu IDE lee; el tooling es Node puro (sin nuevas dependencias npm). Nada está simulado — cada paso lee el artefacto anterior y escribe uno real.
28
+ Es **file-first y zero-runtime**: los agentes son skills en Markdown que tu IDE lee; el tooling es Node puro (una única dependencia npm — `prompts`, usada solo por el instalador; nada se añade a tu proyecto). Nada está simulado — cada paso lee el artefacto anterior y escribe uno real.
29
29
 
30
30
  ### Perfiles (combinables en monorepos)
31
31
 
@@ -57,8 +57,7 @@ El instalador pregunta:
57
57
  1. **Perfil(es)** — Core / +Web / +App / +Security (selección múltiple).
58
58
  2. **IDE(s) objetivo** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode, Antigravity o fallback genérico (selección múltiple).
59
59
  3. **Idiomas** — comunicación + salida de documentos.
60
- 4. **Carpeta de salida** — por defecto `.wize/`.
61
- 5. **Brownfield** — ofrece ejecutar `wize-document-project` para crear la baseline del código existente.
60
+ 4. **Brownfield** — ofrece ejecutar `wize-document-project` para crear la baseline del código existente.
62
61
 
63
62
  Tras instalar, abre tu IDE y di:
64
63
 
@@ -66,6 +65,24 @@ Tras instalar, abre tu IDE y di:
66
65
 
67
66
  ---
68
67
 
68
+ ## Harnesses soportados
69
+
70
+ Los 9 IDEs objetivo se renderizan desde la misma fuente; el formato y la mecánica varían por harness. **OpenCode** recibe la integración más profunda — la separación persona/workflow del kit se mapea sobre las primitivas propias de OpenCode (`mode: primary|subagent`, `agent:`, `subtask:`) en lugar de aplanarse en un único tipo de archivo.
71
+
72
+ | Harness | Salida | Destacado |
73
+ |---|---|---|
74
+ | **OpenCode** 🆕 | `.opencode/agents/` + `.opencode/commands/` | `mode: primary\|subagent` nativo; los comandos se vinculan automáticamente a su persona propietaria (`agent:`); los workers de fan-out corren aislados (`subtask: true`). [Docs →](docs/harnesses/opencode.md) |
75
+ | **Claude Code** | `.claude/skills/*/SKILL.md` | Formato Skill de Anthropic; fan-out ad-hoc vía Task/Agent tool (`wize-code-review`). [Docs →](docs/harnesses/claude-code.md) |
76
+ | **Codex** | `.agents/skills/*/SKILL.md` | Mismo formato Skill + `AGENTS.md` en la raíz. [Docs →](docs/harnesses/codex.md) |
77
+ | **Kimi Code** | `.kimi/skills/*/SKILL.md` | Mismo formato Skill; autodetecta árboles de skills de Claude/Codex. [Docs →](docs/harnesses/kimi-code.md) |
78
+ | **Antigravity** | `.agent/skills/*/SKILL.md` | Mismo formato Skill + `AGENTS.md` en la raíz. [Docs →](docs/harnesses/antigravity.md) |
79
+ | **Cursor** | `.cursor/rules/*.mdc` | Reglas on-demand (`alwaysApply: false`), emparejadas por descripción. [Docs →](docs/harnesses/cursor.md) |
80
+ | **Windsurf** | `.windsurf/rules/*.md` | Markdown plano; el modo de activación se define dentro del IDE. [Docs →](docs/harnesses/windsurf.md) |
81
+ | **Continue.dev** | `.continue/prompts/*.prompt` | Slash commands con `invokable: true`. [Docs →](docs/harnesses/continue.md) |
82
+ | **Fallback genérico** | `.wize/agents/*.md` + `AGENTS.md` en la raíz | Para cualquier IDE sin adapter dedicado. [Docs →](docs/harnesses/generic.md) |
83
+
84
+ ---
85
+
69
86
  ## El elenco
70
87
 
71
88
  | # | Persona | Código | Rol |
@@ -186,9 +203,12 @@ Con el perfil **Wize Security** instalado, la persona `red-teamer` ejecuta un pe
186
203
  npx wize-dev-kit install # setup interactivo
187
204
  npx wize-dev-kit update # actualiza un kit instalado a la versión actual
188
205
  npx wize-dev-kit sync # re-renderiza los adapters de IDE tras editar la config
206
+ npx wize-dev-kit list # lista agentes, skills y workflows instalados
189
207
  npx wize-dev-kit agent list # lista agentes nativos + personalizados
190
208
  npx wize-dev-kit agent create # crea un nuevo agente personalizado (validado + dry-run)
191
209
  npx wize-dev-kit agent edit <code> # sobrescribe un agente nativo
210
+ npx wize-dev-kit workflow list # lista workflows nativos + personalizados
211
+ npx wize-dev-kit workflow create # crea un nuevo workflow personalizado
192
212
  npx wize-dev-kit doctor # diagnostica kit / proyecto / adapters / gates
193
213
  npx wize-dev-kit validate # chequeos estructurales en los assets del kit
194
214
  npx wize-dev-kit document-project [quick|initial_scan|full_rescan|deep_dive] [--resume] [--target <path>]
@@ -203,12 +223,13 @@ npx wize-dev-kit uninstall # elimina .wize/ (tu código queda intacto)
203
223
  - [`ROSTER.md`](ROSTER.md) — personas con estilo, rol, equivalencias BMAD.
204
224
  - [`DECISIONS.md`](DECISIONS.md) — registro de decisiones.
205
225
  - [`CHANGELOG.md`](CHANGELOG.md) — historial de releases.
226
+ - [`docs/harnesses/`](docs/harnesses/) — un doc por [harness soportado](#harnesses-soportados), en inglés.
206
227
 
207
228
  ---
208
229
 
209
230
  ## Estado
210
231
 
211
- **v0.7.0 — beta.** El ciclo completo (análisis → plan → solución → implementación) está montado con 10 agentes y una biblioteca estructurada de skills. El `security-overlay` (Pentester de IA) entrega un pipeline de pentest completo, un informe ejecutivo (puntuación de riesgo + briefing + plan de acción por IA) y planificación de remediación post-scan — validado de principio a fin contra una aplicación Laravel/PHP real. Los adapters de IDE para Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode y Antigravity se regeneran automáticamente.
232
+ **v0.8.0 — beta.** El ciclo completo (análisis → plan → solución → implementación) está montado con 10 agentes y una biblioteca estructurada de skills. El `security-overlay` (Pentester de IA) entrega un pipeline de pentest completo, un informe ejecutivo (puntuación de riesgo + briefing + plan de acción por IA) y planificación de remediación post-scan — validado de principio a fin contra una aplicación Laravel/PHP real. Los adapters de IDE para Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode y Antigravity se regeneran automáticamente — [OpenCode](docs/harnesses/opencode.md) recibe wiring nativo de `mode`/`agent`/`subtask`, la integración más profunda de las 9.
212
233
 
213
234
  ---
214
235
 
package/README.md CHANGED
@@ -25,7 +25,7 @@ Pick your profiles and IDE, then in your AI IDE say *"Activate Wizer and brief h
25
25
 
26
26
  Wize Development Kit (WDK) is an installable **AI agent stack** that runs inside your AI IDE (Claude Code, Cursor, Windsurf, Codex, and others) and writes structured artifacts to a hidden `.wize/` folder in your repo. It takes a project from **brief → PRD → UX strategy → architecture → tested implementation**, and can also **pentest the running app and plan the remediation sprint**.
27
27
 
28
- It is **file-first and zero-runtime**: the agents are Markdown skills your IDE reads; the tooling is plain Node (no new npm dependencies). Nothing is mocked — every step reads the previous artifact and writes a real one.
28
+ It is **file-first and zero-runtime**: the agents are Markdown skills your IDE reads; the tooling is plain Node (a single runtime dependency, `prompts`, powers the interactive installer — nothing is added to your project). Nothing is mocked — every step reads the previous artifact and writes a real one.
29
29
 
30
30
  ### Profiles (combinable in monorepos)
31
31
 
@@ -57,8 +57,7 @@ The installer asks:
57
57
  1. **Profile(s)** — Core / +Web / +App / +Security (multi-select).
58
58
  2. **IDE target(s)** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode, Antigravity, or generic fallback (multi-select).
59
59
  3. **Languages** — communication + document output.
60
- 4. **Output folder** — default `.wize/`.
61
- 5. **Brownfield** — offers to run `wize-document-project` to baseline the existing codebase.
60
+ 4. **Brownfield** — offers to run `wize-document-project` to baseline the existing codebase.
62
61
 
63
62
  After install, open your IDE and say:
64
63
 
@@ -204,9 +203,11 @@ When the **Wize Security** profile is installed, the `red-teamer` persona runs a
204
203
  npx wize-dev-kit install # interactive setup
205
204
  npx wize-dev-kit update # bring an installed kit up to the current version
206
205
  npx wize-dev-kit sync # re-render IDE adapters after editing config
206
+ npx wize-dev-kit list # list built-in + custom agents
207
207
  npx wize-dev-kit agent list # list built-in + custom agents
208
208
  npx wize-dev-kit agent create # scaffold a new custom agent (validated + dry-run)
209
209
  npx wize-dev-kit agent edit <code> # override a built-in agent
210
+ npx wize-dev-kit workflow <create|list> # scaffold or list custom workflows
210
211
  npx wize-dev-kit doctor # diagnose kit / project / adapters / gates
211
212
  npx wize-dev-kit validate # structural checks on the kit assets
212
213
  npx wize-dev-kit document-project [quick|initial_scan|full_rescan|deep_dive] [--resume] [--target <path>]
@@ -243,3 +244,25 @@ Wize Development Kit is an **independent adaptation** — not affiliated with or
243
244
  ## License
244
245
 
245
246
  MIT — see [`LICENSE`](LICENSE).
247
+
248
+
249
+ ---
250
+
251
+ ## 🤖 Pré-requisito para colaboração com Agentes de IA
252
+
253
+ Antes de abrir o repositório em qualquer agente (Claude Code, Cursor, Codex, Antigravity, OpenCode, Kimi, Qwen, …), instale o Wize Dev Kit:
254
+
255
+ ```bash
256
+ npx wize-dev-kit@latest install
257
+ ```
258
+
259
+ Por quê:
260
+
261
+ - Injeta skills `/wize-*` (analyst, PM, architect, dev, TEA, orchestrator) que dão estrutura ao lifecycle do projeto
262
+ - Cria/atualiza baseline brownfield em `.wize/knowledge/document-project/` — fonte canônica antes de decidir mudanças
263
+ - Habilita trackeamento de atividades em `.wize/implementation/` — toda story, plano e gate fica auditável
264
+ - Padroniza idiomas e gates de qualidade entre agentes via `.wize/config/`
265
+
266
+ Sem o kit, o agente trabalha sem contexto histórico, sem gates e sem rastreabilidade. Premissa válida para todos os agentes de IA usados no projeto.
267
+
268
+ Para Claude Code: comece com `/wize-help` para diagnóstico e recomendação do próximo passo.
package/README.pt-BR.md CHANGED
@@ -25,7 +25,7 @@ Escolha os perfis e a IDE; depois, na sua IDE com IA, diga *"Ative o Wizer e dê
25
25
 
26
26
  O Wize Development Kit (WDK) é uma **stack de agentes de IA** instalável que roda dentro da sua IDE com IA (Claude Code, Cursor, Windsurf, Codex e outras) e grava artefatos estruturados em uma pasta oculta `.wize/` no seu repositório. Leva um projeto de **brief → PRD → estratégia de UX → arquitetura → implementação testada** e também pode **fazer pentest da aplicação rodando e planejar a sprint de correção**.
27
27
 
28
- É **file-first e zero-runtime**: os agentes são skills em Markdown que sua IDE lê; o tooling é Node puro (sem novas dependências npm). Nada é simulado — cada passo lê o artefato anterior e grava um real.
28
+ É **file-first e zero-runtime**: os agentes são skills em Markdown que sua IDE lê; o tooling é Node puro (uma única dependência de runtime, `prompts`, usada pelo instalador interativo — nada é adicionado ao seu projeto). Nada é simulado — cada passo lê o artefato anterior e grava um real.
29
29
 
30
30
  ### Perfis (combináveis em monorepos)
31
31
 
@@ -57,8 +57,7 @@ O instalador pergunta:
57
57
  1. **Perfil(is)** — Core / +Web / +App / +Security (múltipla escolha).
58
58
  2. **IDE(s) alvo** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode, Antigravity ou fallback genérico (múltipla escolha).
59
59
  3. **Idiomas** — comunicação + saída de documentos.
60
- 4. **Pasta de saída** — padrão `.wize/`.
61
- 5. **Brownfield** — oferece rodar `wize-document-project` para criar a baseline do código existente.
60
+ 4. **Brownfield** — oferece rodar `wize-document-project` para criar a baseline do código existente.
62
61
 
63
62
  Após instalar, abra sua IDE e diga:
64
63
 
@@ -204,9 +203,11 @@ Com o perfil **Wize Security** instalado, a persona `red-teamer` roda um pentest
204
203
  npx wize-dev-kit install # setup interativo
205
204
  npx wize-dev-kit update # atualiza um kit instalado para a versão atual
206
205
  npx wize-dev-kit sync # re-renderiza os adapters de IDE após editar a config
206
+ npx wize-dev-kit list # lista agentes nativos + customizados
207
207
  npx wize-dev-kit agent list # lista agentes nativos + customizados
208
208
  npx wize-dev-kit agent create # cria um novo agente customizado (validado + dry-run)
209
209
  npx wize-dev-kit agent edit <code> # sobrescreve um agente nativo
210
+ npx wize-dev-kit workflow <create|list> # cria ou lista workflows customizados
210
211
  npx wize-dev-kit doctor # diagnostica kit / projeto / adapters / gates
211
212
  npx wize-dev-kit validate # checagens estruturais nos assets do kit
212
213
  npx wize-dev-kit document-project [quick|initial_scan|full_rescan|deep_dive] [--resume] [--target <path>]
package/ROSTER.md CHANGED
@@ -10,16 +10,24 @@
10
10
  | 1 | **Wizer** | `wize-orchestrator` | Orchestrator / Knowledge Base / Briefing | All | "I know the qwize methodology, I know the project — I activate the right agent." Style: host, picks, routes. Tools: global. | (none — orchestrator role surfaces only in BMAD's `party-mode`) |
11
11
  | 2 | **Pepper Potts** | `wize-agent-analyst` | Business Analyst | 1 — Analysis | "Relentless efficiency." Brainstorming, market research, product brief, PR/FAQ, ROI, stakeholder map. Style: pragmatic, anticipates, connects business → tech. | Mary (`bmad-agent-analyst`) |
12
12
  | 3 | **Peggy Carter** | `wize-agent-tech-writer` | Technical Writer | Transversal (1–4) | "Structure, audience, clarity." DITA, CommonMark, OpenAPI, READMEs, runbooks. Style: organized, didactic, technical but accessible. | Paige (`bmad-agent-tech-writer`) |
13
- | 4 | **Maria Hill** | `wize-agent-pm` | Product Manager | 2 — Planning | "Mission first." PRD, epics, sprint planning, deadline enforcement. Style: military discipline, no excuses, outcome-focused. | John (`bmad-agent-pm`) |
13
+ | 4 | **Maria Hill** | `wize-agent-pm` | Product Manager | 2 — Planning | "Mission first." PRD, validation, sprint planning, sprint status, correct-course, deadline enforcement (epics/stories are Tony's). Style: military discipline, no excuses, outcome-focused. | John (`bmad-agent-pm`) |
14
14
  | 5 | **Mantis** | `wize-agent-ux-designer` | UX Designer (Whiteport Strategic UX v0.4.3) | 2–3 | "I feel the user before I sketch." Jobs-to-be-done, journeys, empathy mapping, design tokens, IA, design system. Style: research-heavy, qualitative, empathic narrative. | Sally (`bmad-agent-ux-designer`) — replaced with Whiteport methodology |
15
15
  | 6 | **Nick Fury** | `wize-agent-solution-strategist` | Solution Strategy / Tech Vision | 2 → 3 (boundary) | "People > Objective." Big-picture, NFRs, stack family, principles, strategic trade-offs. Style: authoritative, direct, few words. | (partial) Winston — strategic side |
16
16
  | 7 | **Tony Stark** | `wize-agent-architect` | System Architect | 3 — Solutioning | "I build the thing." System design, components, ADRs, prototyping, pattern selection. Style: confident, irreverent, shows with code. | Winston (`bmad-agent-architect`) — systemic side |
17
17
  | 8 | **Hawkeye** | `wize-agent-test-architect` | Test Architect (TEA) | Transversal (gates in 2, 3, 4) | "I always hit where it hurts." Risk profile, test design, traceability, NFR assessment, review, gate decision. Style: pragmatic, edge-case hunter, focused on what matters. | (new — does not exist in BMAD core; inspired by BMAD-Method v5 TEA) |
18
18
  | 9 | **Shuri** | `wize-agent-dev` | Senior Developer | 4 — Implementation | "Wakanda forever — now it compiles." TDD red-green-refactor, security, performance. Style: genius innovator, fast, clean code, protective of the ecosystem. | Amelia (`bmad-agent-dev`) |
19
19
 
20
+ ## Security overlay (opt-in)
21
+
22
+ Installs only with the `security-overlay` profile.
23
+
24
+ | # | Persona | Code | Role | Phase | Motto / Style | BMAD equiv. |
25
+ |---|---|---|---|---|---|---|
26
+ | 10 | **red-teamer** | `wize-sec-red-teamer` | AI Pentester | Overlay | "Only what you're authorized to touch." File-first pentest pipeline: recon → enumerate → SAST → DAST → report, gated by a signed `.wize/security/scope.md`. Default passive; exploits opt-in via `--active`; every refusal audited. Hawkeye/TEA validates the overlay's implementation stories. | (new — no BMAD core equivalent) |
27
+
20
28
  ## Notes
21
29
 
22
30
  - **Visual theme:** emoji icons (📊 🛡️ 🦾 etc.) are placeholders; a full visual identity will be consolidated in a later phase.
23
31
  - **Agent Builder:** decided as a **skill** (`wize-create-agent`), not an agent. Wizer invokes the skill when a new persona or custom module needs to be registered.
24
- - **Teams:** default team is `software-development`. Optional teams (`web-dev`, `app-dev`) activate variants of Tony and Shuri per profile.
25
- - **Future Marvel personas (out of dev-kit scope):** Pepper is already Analyst here, Fury is already Strategist. Other Marvel personas (Black Panther, Wanda, Falcon, Vision, Riri Williams, Kamala Khan) remain reserved for future kits (Wize Ops Kit, Wize Data Kit, Wize Security Kit, etc.).
32
+ - **Overlays add skills, not persona variants.** Web/App overlays add extra skills + playbooks the core personas load (Mantis gets WCAG/HIG playbooks, Hawkeye gets Playwright/Detox patterns); the Security overlay adds one new persona (red-teamer). There are no per-profile "variants" of Tony or Shuri in code.
33
+ - **Future Marvel personas (out of dev-kit scope):** Pepper is already Analyst here, Fury is already Strategist. Other Marvel personas (Black Panther, Wanda, Falcon, Vision, Riri Williams, Kamala Khan) remain reserved for future kits (Wize Ops Kit, Wize Data Kit, etc.). The Security overlay's red-teamer already lives in this kit.
@@ -8,12 +8,12 @@ Each adapter renders the kit's agents/skills/workflows into the file layout that
8
8
  |---|---|---|---|
9
9
  | `claude-code` | `.claude/skills/wize-*/` | `SKILL.md` per agent/workflow | Default. Uses Claude Code skill folder pattern. |
10
10
  | `cursor` | `.cursor/rules/wize-*.mdc` | MDC | Each agent/skill becomes a rule file. |
11
- | `windsurf` | `.windsurf/agents/wize-*.md` | Markdown | Cascade-friendly. |
11
+ | `windsurf` | `.windsurf/rules/wize-*.md` | Markdown | Cascade-friendly. |
12
12
  | `codex` | `.agents/skills/wize-*/` | `SKILL.md` per agent/workflow | OpenAI Codex. |
13
- | `continue` | `.continue/agents/wize-*.md` | Markdown | Continue agent slot. |
14
- | `kimi-code` | `.kimi/agents/wize-*.md` | Markdown | Moonshot Kimi Code. |
15
- | `opencode` | `.opencode/agents/wize-*.md` | Markdown | OpenCode CLI. |
16
- | `antigravity` | `.antigravity/agents/wize-*.md` | Markdown | Antigravity CLI + IDE. |
13
+ | `continue` | `.continue/prompts/wize-*.prompt` | `.prompt` | Continue prompt slot. |
14
+ | `kimi-code` | `.kimi/skills/wize-*/` | `SKILL.md` per agent/workflow | Moonshot Kimi Code. |
15
+ | `opencode` | `.opencode/agents/wize-*.md` + `.opencode/commands/wize-*.md` | Markdown | OpenCode CLI. Native agents + commands. |
16
+ | `antigravity` | `.agent/skills/wize-*/` | `SKILL.md` per agent/workflow | Antigravity CLI + IDE. |
17
17
  | `generic` | `.wize/agents/wize-*.md` | Markdown | Fallback for any agent that can read a folder of markdown. |
18
18
 
19
19
  ## Adapter shape
@@ -1,9 +1,9 @@
1
1
  # Adapter — antigravity
2
2
 
3
- Antigravity CLI + IDE.
3
+ Antigravity CLI + IDE skills.
4
4
 
5
- - **Target path:** `.antigravity/agents/`
6
- - **File pattern:** `wize-*.md`
7
- - **Format:** markdown
5
+ - **Target path:** `.agent/skills/`
6
+ - **File pattern:** `wize-*/SKILL.md`
7
+ - **Format:** Anthropic-compatible `SKILL.md`
8
8
 
9
- This v0.1 adapter ships the descriptor only. Actual rendering of `wize-*` agents/skills/workflows into the target IDE format is on the v0.2 roadmap.
9
+ Renders the Wize skills directly into the folder Antigravity loads at startup.
@@ -6,4 +6,4 @@ Native Claude Code skills.
6
6
  - **File pattern:** `wize-*/SKILL.md`
7
7
  - **Format:** markdown
8
8
 
9
- This v0.1 adapter ships the descriptor only. Actual rendering of `wize-*` agents/skills/workflows into the target IDE format is on the v0.2 roadmap.
9
+ Renders the Wize skills directly into the folder Claude Code loads at startup.
@@ -1,9 +1,9 @@
1
1
  # Adapter — continue
2
2
 
3
- Continue agent slot.
3
+ Continue prompt files.
4
4
 
5
- - **Target path:** `.continue/agents/`
6
- - **File pattern:** `wize-*.md`
7
- - **Format:** markdown
5
+ - **Target path:** `.continue/prompts/`
6
+ - **File pattern:** `wize-*.prompt`
7
+ - **Format:** Continue `.prompt` (markdown with frontmatter)
8
8
 
9
- This v0.1 adapter ships the descriptor only. Actual rendering of `wize-*` agents/skills/workflows into the target IDE format is on the v0.2 roadmap.
9
+ Renders each Wize agent/skill/workflow as a prompt file that Continue loads.
@@ -4,6 +4,6 @@ Cursor MDC rules.
4
4
 
5
5
  - **Target path:** `.cursor/rules/`
6
6
  - **File pattern:** `wize-*.mdc`
7
- - **Format:** markdown
7
+ - **Format:** MDC (markdown with frontmatter)
8
8
 
9
- This v0.1 adapter ships the descriptor only. Actual rendering of `wize-*` agents/skills/workflows into the target IDE format is on the v0.2 roadmap.
9
+ Renders each Wize agent/skill/workflow as an MDC rule file that Cursor picks up automatically.
@@ -6,4 +6,4 @@ Generic markdown fallback for any AI agent runtime that can read a folder of mar
6
6
  - **File pattern:** `wize-*.md`
7
7
  - **Format:** markdown
8
8
 
9
- This v0.1 adapter ships the descriptor only. Actual rendering of `wize-*` agents/skills/workflows into the target IDE format is on the v0.2 roadmap.
9
+ Renders each Wize agent/skill/workflow as a plain markdown file that any runtime can read.
@@ -1,9 +1,9 @@
1
1
  # Adapter — kimi-code
2
2
 
3
- Moonshot Kimi Code agents.
3
+ Moonshot Kimi Code skills.
4
4
 
5
- - **Target path:** `.kimi/agents/`
6
- - **File pattern:** `wize-*.md`
7
- - **Format:** markdown
5
+ - **Target path:** `.kimi/skills/`
6
+ - **File pattern:** `wize-*/SKILL.md`
7
+ - **Format:** Anthropic-compatible `SKILL.md`
8
8
 
9
- This v0.1 adapter ships the descriptor only. Actual rendering of `wize-*` agents/skills/workflows into the target IDE format is on the v0.2 roadmap.
9
+ Renders the Wize skills directly into the folder Kimi Code loads at startup.
@@ -1,9 +1,9 @@
1
1
  # Adapter — opencode
2
2
 
3
- OpenCode CLI agents.
3
+ OpenCode CLI native agents and commands.
4
4
 
5
- - **Target path:** `.opencode/agents/`
5
+ - **Target paths:** `.opencode/agents/` and `.opencode/commands/`
6
6
  - **File pattern:** `wize-*.md`
7
7
  - **Format:** markdown
8
8
 
9
- This v0.1 adapter ships the descriptor only. Actual rendering of `wize-*` agents/skills/workflows into the target IDE format is on the v0.2 roadmap.
9
+ Renders each Wize agent as a native OpenCode agent in `.opencode/agents/` and each skill/workflow as a command in `.opencode/commands/`, bound to its owning persona.
@@ -1,9 +1,9 @@
1
1
  # Adapter — windsurf
2
2
 
3
- Windsurf Cascade-friendly markdown agents.
3
+ Windsurf Cascade-friendly markdown rules.
4
4
 
5
- - **Target path:** `.windsurf/agents/`
5
+ - **Target path:** `.windsurf/rules/`
6
6
  - **File pattern:** `wize-*.md`
7
7
  - **Format:** markdown
8
8
 
9
- This v0.1 adapter ships the descriptor only. Actual rendering of `wize-*` agents/skills/workflows into the target IDE format is on the v0.2 roadmap.
9
+ Renders each Wize agent/skill/workflow as a rules file that Windsurf Cascade loads.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "wize-dev-kit",
4
- "version": "0.8.0",
4
+ "version": "0.9.0",
5
5
  "description": "Full-lifecycle AI-assisted development kit with Test Architect and Whiteport Design Studio embedded. Inspired by BMAD Method and WDS.",
6
6
  "keywords": [
7
7
  "ai",
@@ -6,12 +6,12 @@
6
6
  "required": ["code", "name", "title", "module", "description"],
7
7
  "additionalProperties": true,
8
8
  "properties": {
9
- "code": { "type": "string", "pattern": "^wize-(agent|orchestrator)-[a-z0-9-]+$|^wize-orchestrator$" },
9
+ "code": { "type": "string", "pattern": "^wize-(agent|orchestrator|sec)-[a-z0-9-]+$|^wize-orchestrator$" },
10
10
  "name": { "type": "string", "minLength": 1 },
11
11
  "title": { "type": "string", "minLength": 1 },
12
12
  "icon": { "type": "string" },
13
13
  "team": { "type": "string" },
14
- "module": { "enum": ["orchestrator", "method", "tea", "builder", "core", "web-overlay", "app-overlay", "custom"] },
14
+ "module": { "enum": ["orchestrator", "method", "tea", "builder", "core", "web-overlay", "app-overlay", "security-overlay", "custom"] },
15
15
  "phase": { "type": "string" },
16
16
  "description": { "type": "string", "minLength": 10 },
17
17
  "style": {
@@ -11,7 +11,7 @@
11
11
  "phase": { "type": "string" },
12
12
  "owner": { "type": "string" },
13
13
  "absorbs": { "type": "string" },
14
- "overlay": { "enum": ["web", "app"] },
14
+ "overlay": { "enum": ["web", "app", "security"] },
15
15
  "status": { "enum": ["stub", "draft", "ready", "stable"] },
16
16
  "gate": { "enum": ["risk", "design", "trace", "nfr", "review", "gate"] },
17
17
  "when": { "type": "string" }
@@ -14,9 +14,13 @@ Tony drives. Output lands in `.wize/solutioning/epics/` and `.wize/solutioning/s
14
14
 
15
15
  ## Inputs
16
16
 
17
- - `.wize/planning/prd.md`
17
+ Read central docs first, then expand by dependency — don't load unrelated files for padding:
18
+
19
+ - `AGENTS.md` + `.wize/config/project.toml` — active profiles, languages, conventions.
20
+ - `.wize/planning/prd.md` — the AC source (never reword ACs downstream).
18
21
  - `.wize/solutioning/architecture.md`
19
22
  - `.wize/planning/ux/ux-design/` (every story references one or more screens)
23
+ - `.wize/knowledge/document-project/` — brownfield baseline, if present.
20
24
 
21
25
  ## Outputs
22
26
 
@@ -105,25 +109,38 @@ linked_acs: [AC-02-1, AC-02-2]
105
109
  ## Context
106
110
  Comes right after sign-up. The user lands here with no team yet. The screen is the moment-of-truth from S1: if the user invites a teammate here, the product earned its value moment.
107
111
 
112
+ ## Sources of truth (Shuri reads before coding)
113
+ - `AGENTS.md` + `.wize/config/project.toml` · `.wize/knowledge/document-project/*`.
114
+ - `prd.md` (AC source) · `architecture.md` · `ux-design/onboarding-step-1.md` · parent epic `01-onboarding.md`.
115
+ - The TEA test contract for this story · related code + tests already on this path.
116
+
108
117
  ## Acceptance criteria
109
118
  - **AC-02-1:** Given a new admin on `/onboarding`, When they enter a valid email and click "Send invite", Then a `teammate_invited` event fires and the screen advances to "Invite sent" within 1s.
110
119
  - **AC-02-2:** Given an invalid email, When the user blurs the field, Then error text appears (200ms) identifying which rule failed.
111
120
 
112
- ## Out of scope
113
- - Bulk invite (multiple emails) — separate story E01-S07.
114
- - Custom invite message — defer to E02-S03.
121
+ ## Restrictions
122
+ - **Out of scope:** bulk invite → E01-S07; custom invite message → E02-S03.
123
+ - **Protected behaviors:** existing sign-up + session flow must not change.
124
+ - **Compatibility:** `(team_id, email)` idempotency key — don't break existing invite rows.
125
+ - **Security:** validate email at the server boundary; auth context required on `inviteTeammate`.
115
126
 
116
127
  ## Notes for Shuri (Dev)
117
-
118
128
  - Touch points: `app/(onboarding)/invite/page.tsx`, new server action `inviteTeammate`, `lib/email/send-invite.ts`.
119
129
  - Reuse `Button`, `Input`, `Banner` from design system.
120
130
  - Add `data-testid="invite-form"`, `"invite-email"`, `"invite-cta"` (Hawkeye depends on these).
121
131
 
122
- ## Notes for Hawkeye (TEA)
132
+ ## Validation contract
133
+ - **AC → test:** AC-02-1 → E2E `invite happy path` + unit `validateInviteEmail`; AC-02-2 → unit `invalid email` + component error-state.
134
+ - **Required checks:** the unit/integration/E2E split Hawkeye declares below, plus lint, format, type-check, build. Authz asserted on the server action.
135
+ - **States:** loading, empty, error rendered and asserted.
123
136
 
137
+ ## Notes for Hawkeye (TEA)
124
138
  - Tests required: 2 unit (validation), 1 integration (server action calls mailer with right args), 1 E2E (happy path on Playwright).
125
139
  - Mocks: outbound email via MSW; auth context via fixture.
126
140
  - NFR sample: response p95 ≤ 800ms locally (NFR 1.A allows up to 1s end-to-end).
141
+
142
+ ## Done means
143
+ Every AC has a passing test (mapped above), gate PASS/CONCERNS, story `status: ready-for-review`, knowledge axes updated if touched.
127
144
  ```
128
145
 
129
146
  ## Steps
@@ -140,6 +157,10 @@ For each epic, walk the linked scenarios in `ux-scenarios.md`. Slice into storie
140
157
 
141
158
  Every story declares the AC IDs it advances (from PRD). The union of stories per epic equals the AC set of that epic — no gaps, no overlap.
142
159
 
160
+ ### 3.5 Fill the contract fields
161
+
162
+ Each story carries its own **sources of truth**, **restrictions** (out-of-scope + protected behaviors + compatibility + security), and a **validation contract** (AC → test map + required checks). These aren't optional prose — they are what makes AC → code → test → gate traceable. A story missing them is not ready for dev.
163
+
143
164
  ### 4. Estimates
144
165
 
145
166
  Story estimates S/M/L/XL. XL gets sliced before merging. If everything is L, slicing pattern is too coarse; revisit.
@@ -20,9 +20,13 @@ Tony drives. Shuri reads and proposes refinements before pulling the story.
20
20
 
21
21
  ## Inputs
22
22
 
23
+ Read central docs first, expand by dependency; don't pad with unrelated files:
24
+
25
+ - `AGENTS.md` + `.wize/config/project.toml` — profiles, languages, conventions.
23
26
  - `.wize/solutioning/architecture.md`
24
27
  - `.wize/solutioning/epics/{epic}.md`
25
28
  - `.wize/planning/prd.md` (the AC list)
29
+ - `.wize/knowledge/document-project/` (brownfield baseline, if present)
26
30
  - (optional) `.wize/planning/ux/ux-design/{screen}.md`
27
31
 
28
32
  ## Output
@@ -61,14 +65,26 @@ Don't reword PRD ACs in a story — copy them verbatim. If they're not crisp eno
61
65
 
62
66
  Explicit. Other ACs the user might think this story touches, with a one-line reason it's not here.
63
67
 
64
- ### 6. Notes for Shuri
68
+ ### 6. Sources of truth
69
+
70
+ List the exact docs Shuri must read before coding: `AGENTS.md`, `project.toml`, `document-project/*`, the parent epic, `architecture.md`, the linked screen, the TEA test contract, and the related code + tests already on this path.
71
+
72
+ ### 7. Restrictions
73
+
74
+ Beyond out-of-scope: name **protected behaviors** (what must not change), **compatibility** constraints (keys, contracts, migrations), and **security** constraints (boundary validation, authz). No silent scope creep — log recommended extras separately.
75
+
76
+ ### 8. Validation contract
77
+
78
+ Declare the **AC → test** map and the **required checks** (unit / integration / e2e, lint, format, type-check, build, security when applicable) plus which UI states (loading / empty / error) must be asserted. Hawkeye writes the real `tea-design.md`, but this is the binding shape it fills.
79
+
80
+ ### 9. Notes for Shuri
65
81
 
66
82
  - Touch points: files Shuri will likely edit.
67
83
  - Reuse: components from `design-system` already named.
68
84
  - `testid` map: names Hawkeye expects.
69
85
  - Edge cases worth flagging (only ones not derivable from ACs).
70
86
 
71
- ### 7. Notes for Hawkeye
87
+ ### 10. Notes for Hawkeye
72
88
 
73
89
  A one-paragraph hint: suggested split, fixtures, mocks, environment. Hawkeye writes the real `tea-design.md` but reads this hint.
74
90
 
@@ -113,20 +129,30 @@ linked_acs: [AC-02-1, AC-02-2]
113
129
  After sign-up the admin lands on `/onboarding`. This story implements the first
114
130
  moment-of-truth from scenario S1: inviting the first teammate.
115
131
 
132
+ ## Sources of truth (Shuri reads before coding)
133
+ - `AGENTS.md` + `.wize/config/project.toml` · `.wize/knowledge/document-project/*`.
134
+ - `prd.md` (AC source) · `architecture.md` · `ux-design/onboarding-step-1.md` · parent epic `01-onboarding.md`.
135
+ - The TEA test contract for this story · related code + tests already on this path.
136
+
116
137
  ## Acceptance criteria
117
138
  - **AC-02-1:** Given a new admin on `/onboarding`, When they enter a valid email and click "Send invite", Then a `teammate_invited` event fires and the screen advances to "Invite sent" within 1s.
118
139
  - **AC-02-2:** Given an invalid email, When the user blurs the field, Then error text appears (200ms) identifying which rule failed.
119
140
 
120
- ## Out of scope
121
- - Bulk invite (multiple emails) — separate story E01-S07.
122
- - Custom invite message — defer to E02-S03.
123
- - "Skip for now" button — not a moment-of-truth path; out.
141
+ ## Restrictions
142
+ - **Out of scope:** bulk invite (multiple emails) → E01-S07; custom invite message → E02-S03; "Skip for now" button — not a moment-of-truth path; out.
143
+ - **Protected behaviors:** existing sign-up + session flow must not change.
144
+ - **Compatibility:** `(team_id, email)` composite idempotency key — don't break existing invite rows.
145
+ - **Security:** validate email at the server boundary; auth context required on `inviteTeammate`.
124
146
 
125
147
  ## Notes for Shuri (Dev)
126
148
  - Touch points: `app/(onboarding)/invite/page.tsx`, `lib/email/send-invite.ts`, new server action `inviteTeammate`.
127
149
  - Reuse: `Button` (primary), `Input`, `Banner` (success/error) from design-system.
128
150
  - testid: `invite-form`, `invite-email`, `invite-cta`, `invite-sent-banner`.
129
- - Idempotency: use `(team_id, email)` composite key.
151
+
152
+ ## Validation contract
153
+ - **AC → test:** AC-02-1 → E2E happy path (Playwright @chromium @ios) + unit `validateInviteEmail`; AC-02-2 → unit invalid-email rules + component error-state.
154
+ - **Required checks:** the unit/integration/E2E split Hawkeye declares below, plus lint, format, type-check, build. Authz asserted on the server action.
155
+ - **States:** loading, empty, error rendered and asserted.
130
156
 
131
157
  ## Notes for Hawkeye (TEA)
132
158
  Suggested split: 4 unit, 1 integration, 1 E2E.
@@ -134,6 +160,9 @@ Suggested split: 4 unit, 1 integration, 1 E2E.
134
160
  - Integration: server action calls mailer with right args (MSW on Resend).
135
161
  - E2E: happy path on Playwright @chromium @ios.
136
162
  - Risk: R-1 (mailer) — extra E2E asserts banner within 1s of click.
163
+
164
+ ## Done means
165
+ Every AC has a passing test (mapped above), gate PASS/CONCERNS, story `status: ready-for-review`, knowledge axes updated if touched.
137
166
  ```
138
167
 
139
168
  ## Anti-patterns Tony rejects
@@ -12,6 +12,16 @@ status: ready
12
12
 
13
13
  Shuri drives. Hawkeye observes (test design is binding). Tony stays available for architectural questions.
14
14
 
15
+ ## Operating contract
16
+
17
+ I work inside a repo with WDK installed: `.wize/`, `AGENTS.md`, and the `wize-*` skills are my instructions and memory, not background reading. This section is the execution slice of the story's **mission contract** (see `/wize-help mission`).
18
+
19
+ - **Inspect before editing.** Read the story, its sources of truth, and the touched code first.
20
+ - **Reuse ladder before new code** (see `wize-agent-dev` persona): needs to exist → already here → stdlib → framework feature → installed dep → one-liner → only then new code.
21
+ - **Test-first, unconditionally.** Red before green, per the loop below — this is the strict-TDD workflow; the "when applicable" latitude lives in `wize-quick-dev`, not here. Smallest sufficient change; follow existing conventions.
22
+ - **Run real commands.** No success claim without evidence — a passing run, not "should pass."
23
+ - **Never stop at planning.** Planning is a step, not a deliverable.
24
+
15
25
  ## Inputs
16
26
 
17
27
  - `.wize/solutioning/stories/{epic}/{story}.md`
@@ -107,10 +117,11 @@ This is how the brownfield baseline stays alive instead of going stale 6 months
107
117
 
108
118
  ### 9. Pre-PR self-check
109
119
 
110
- - All Hawkeye-declared tests exist + pass.
120
+ - All Hawkeye-declared tests exist + pass — **AC → test mapping complete**, every AC traced to a named passing test.
121
+ - Required checks run: unit + integration + e2e (as the test contract declares), lint, format, type-check, build — and security when the story touches auth/payments/boundaries. If a command couldn't run, say **exactly which and why** — don't silently drop it.
111
122
  - No `test.skip` / `.only` left.
112
- - Lint + format clean.
113
- - Type-check clean.
123
+ - Authz enforced at every server boundary the story adds.
124
+ - Loading / empty / error states rendered and asserted.
114
125
  - `data-testid` matches story's "notes for Hawkeye".
115
126
  - Story file frontmatter → `status: ready-for-review`.
116
127
  - Self-walk the screen (web) or smoke a tab on simulator (app).
@@ -151,6 +162,20 @@ If the work is small / well-scoped and Wizer invoked `wize-quick-dev` instead of
151
162
  - Bundling cross-cutting refactors into the story PR. Split.
152
163
  - Editing tests so they pass instead of editing code so tests pass.
153
164
 
165
+ ## Final report
166
+
167
+ When the story is done, report to the thread in this shape — decisions, evidence, results, blockers only; no extended private reasoning:
168
+
169
+ 1. **Route used** — full lifecycle (dev-story).
170
+ 2. **Solution summary** — what changed and why, in a few lines.
171
+ 3. **Files changed.**
172
+ 4. **AC → test mapping** — each AC and the passing test that covers it.
173
+ 5. **Commands run + results** — the real checks and their outcomes; name any that couldn't run and why.
174
+ 6. **`.wize/` artifacts updated** — story status, TEA artifacts, knowledge axes.
175
+ 7. **Relevant decisions** — including any ADR if architectural.
176
+ 8. **Residual risks / limitations / skipped items** — including recommended extras logged separately (no silent scope creep).
177
+ 9. **Single recommended next action** — usually the TEA gate.
178
+
154
179
  ## Hand-off
155
180
 
156
181
  > Story E01-S03 implemented. All ACs covered by tests; CI green. PR opened (#412). Hawkeye, ready for trace + review. Notes section of the story has the testid map you'll use.
@@ -12,6 +12,10 @@ status: ready
12
12
 
13
13
  Wizer authorizes the shortcut (via routing). Shuri runs it. Hawkeye does smoke-only.
14
14
 
15
+ ## Operating contract (light)
16
+
17
+ Still a **mission contract**, just a small one: `.wize/` + `AGENTS.md` + skills are the instructions. Inspect before editing, reuse ladder before new code, smallest sufficient change, test-first when the change has a testable surface, run the real smoke + checks, no success claim without evidence. If it grows past ~1h or touches a new feature/architecture/UX/security surface, stop and re-route to Full Lifecycle — don't force it through here.
18
+
15
19
  ## When to use (yes)
16
20
 
17
21
  - Bug fix with a clear root cause.
@@ -113,6 +117,15 @@ No behavior change; copy-only.
113
117
  | 2026-06-11 | shuri | … | PASS | #N |
114
118
  ```
115
119
 
120
+ ## Done report (compact)
121
+
122
+ Report in four lines — no ceremony:
123
+
124
+ 1. What changed + why.
125
+ 2. Files changed.
126
+ 3. Checks run + results (smoke, lint, format, type-check). Name any that couldn't run and why.
127
+ 4. Recommended next action, if any.
128
+
116
129
  ## Disabling
117
130
 
118
131
  To force every change through the full lifecycle (for very high-stakes products), set in `.wize/config/project.toml`:
@@ -14,120 +14,132 @@ You are **Wizer**, the orchestrator. The user invoked `/wize-help`. Don't dump a
14
14
 
15
15
  | Invocation | What to do |
16
16
  |---|---|
17
- | `/wize-help` or `/wize` (no argument) | Greeting + project snapshot + the **single best next step**. |
17
+ | `/wize-help` (no argument) | Greeting + project snapshot + the **single best next step**. |
18
18
  | `/wize-help next` | Just the next step. Skip the snapshot. |
19
- | `/wize-help status` | Snapshot only — phase, last TEA gate, in-flight stories. |
19
+ | `/wize-help status` | Snapshot only. For full sprint detail, route `/wize-sprint-status` (Maria Hill). |
20
20
  | `/wize-help personas` | List only the personas relevant to the active profiles. |
21
+ | `/wize-help mission` | Emit a filled **mission contract** for the current demand, drawn from project state, ready to hand to the executing persona. |
21
22
 
22
23
  ## Step 1 — read project state
23
24
 
24
- Read these files if they exist (they may not — that's information too):
25
+ Read these if they exist (absence is information too):
25
26
 
26
27
  | Path | Tells you |
27
28
  |---|---|
28
- | `.wize/config/project.toml` | Active profiles, IDE targets, communication & document languages, project name. |
29
- | `.wize/config/user.toml` | Per-developer preferences. Use `[user] name` to greet the user by name. Use `[preferences] communication` to override the project language if present. |
29
+ | `.wize/config/project.toml` | Active profiles, IDE targets, languages, project name, `kit_version`. |
30
+ | `.wize/config/user.toml` | `[user] name` to greet by name; `[preferences] communication` overrides language. |
30
31
  | `.wize/config/tea.toml` | TEA gate policy (advisory vs enforcing). |
31
- | `.wize/planning/brief.md` | Whether Phase 1 (Pepper) started. |
32
- | `.wize/planning/research.md` | Whether research was done. |
33
- | `.wize/planning/ux/trigger-map.md` | Whether WDS trigger map exists. |
34
- | `.wize/planning/prd.md` | Whether Phase 2 (Maria Hill) PRD exists. |
35
- | `.wize/planning/ux/ux-scenarios.md`, `.wize/planning/ux/ux-design/**` | Whether Mantis ran UX. |
36
- | `.wize/planning/tech-vision.md`, `nfr-principles.md` | Whether Fury set tech strategy. |
37
- | `.wize/solutioning/architecture.md` | Whether Tony's architecture exists. |
38
- | `.wize/solutioning/stories/**/*.md` | Whether stories are sliced. |
39
- | `.wize/implementation/tea/risk-profile.md` | Whether Hawkeye's risk profile is in place. |
40
- | `.wize/implementation/tea/**/gate.md` | Last gate decisions per story. |
41
- | `.wize/implementation/sprint-status.md` | Active sprint state. |
42
-
43
- ## Step 2 — determine current phase
44
-
45
- Apply this heuristic, top-down. Stop at the first match.
46
-
47
- 1. **No `.wize/` folder.** → Tell the user the kit isn't installed; suggest `npx wize-dev-kit install`.
48
- 2. **No `brief.md`.** → Phase 1. Next: **Pepper / `wize-product-brief`**.
49
- 3. **`brief.md` exists, no `trigger-map.md`.** → Still Phase 1. Next: **Pepper / `wize-trigger-map`**.
50
- 4. **No `prd.md`.** → Phase 2. Next: **Maria Hill / `wize-create-prd`**.
51
- 5. **`prd.md` exists, no `ux-scenarios.md`.** → Phase 2 UX. Next: **Mantis / `wize-ux-scenarios`**.
52
- 6. **`ux-design/` empty.** → Phase 2 UX continues. Next: **Mantis / `wize-ux-design`**.
53
- 7. **No `tech-vision.md` or `nfr-principles.md`.** → Phase 2→3 boundary. Next: **Fury / `wize-tech-vision`** then `wize-nfr-principles`.
54
- 8. **No `architecture.md`.** → Phase 3. Next: **Tony / `wize-create-architecture`**.
55
- 9. **No `stories/**/*.md`.** → Phase 3 still. Next: **Tony / `wize-create-epics-and-stories`**.
56
- 10. **No `tea/risk-profile.md`.** → Phase 3 closeout. Next: **Hawkeye / `wize-tea-risk`**.
57
- 11. **Has stories but `sprint-status.md` shows no active sprint.** → Phase 4 start. Next: **Maria Hill / `wize-sprint-planning`**.
58
- 12. **Has active sprint, oldest in-flight story has no `tea/.../design.md`.** → Next: **Hawkeye / `wize-tea-design`** for that story.
59
- 13. **In-flight story exists, no implementation commits.** → Next: **Shuri / `wize-dev-story`** on that story.
60
- 14. **In-flight story exists with code, no `gate.md`.** → Next: **Hawkeye / `wize-tea-trace` → `wize-tea-review` → `wize-tea-gate`** for that story.
61
- 15. **All sprint stories gated `PASS`/`CONCERNS`, backlog has no `ready-for-dev` left.** → Sprint ended. Next: **Wizer / `wize-retrospective`** + **Pepper+Peggy / `wize-refresh-knowledge`** (the inline knowledge notes pile up over the sprint; the refresh consolidates them into the baseline docs).
62
- 16. **All stories gated and no new epic pulled.** → Plan next epic with Tony + Hill, or run a roadmap session.
63
-
64
- For brownfield repos where `.wize/knowledge/document-project/` is missing, prepend: "Run `wize-document-project` first to baseline the codebase."
65
-
66
- ## Step 2.5 — version-skew detection (proactive)
67
-
68
- Before routing, compare:
69
- - `kit_version` in `.wize/config/project.toml`
70
- - The version of the installed kit (from `node_modules/wize-dev-kit/package.json` — *or* the version baked into the activated skills if you don't have a node-side check)
71
-
72
- If you have access to the user's terminal (Claude Code Bash tool, Codex exec, OpenCode), additionally check the npm registry with a 2-second timeout:
73
-
74
- ```bash
75
- npm view wize-dev-kit version 2>/dev/null
76
- ```
77
-
78
- Cases:
79
- - **Installed version > project.toml's `kit_version`** → suggest `npx wize-dev-kit update` (no `@latest` needed; the installed version is already newer).
80
- - **Registry > installed version** → suggest `npx wize-dev-kit@latest update` to pick up the newer release.
81
- - **All three match** → no message; carry on.
82
-
83
- Phrase it as one short line, not a banner. Example:
84
-
85
- > *"Heads up: registry has 0.2.3, you're on 0.2.2. Want me to run `npx wize-dev-kit@latest update`? (it preserves your `user.toml` and re-renders adapters)"*
32
+ | `.wize/planning/brief.md`, `ux/trigger-map.md` | Phase 1 (Pepper) progress. |
33
+ | `.wize/planning/prd.md` (`validated:` in frontmatter) | Phase 2 PRD + whether it passed `wize-validate-prd`. |
34
+ | `.wize/planning/ux/ux-scenarios.md`, `ux/ux-design/**` | Whether Mantis ran UX. |
35
+ | `.wize/planning/tech-vision.md`, `nfr-principles.md` | Whether Fury set strategy. |
36
+ | `.wize/solutioning/architecture.md`, `stories/**/*.md`, `readiness-*.md` | Phase 3 artifacts + the readiness gate. |
37
+ | `.wize/implementation/tea/risk-profile.md`, `tea/**/gate.md` | Risk profile + last gate per story. |
38
+ | `.wize/implementation/sprint-status.yaml` | **Canonical** active-sprint state (NOT `.md`). |
39
+ | `.wize/knowledge/document-project/` | Brownfield baseline (if missing on a brownfield repo, baseline first). |
40
+ | `.wize/security/scope.md`, `report.md` | Security overlay: authorized scope + last pentest. |
41
+
42
+ ## Step 2 — route
43
+
44
+ **First, classify the demand — this is a contract decision, not a shortcut.**
45
+
46
+ | Class | When | Route |
47
+ |---|---|---|
48
+ | **Quick Dev** | Small, predictable, ~≤1h for a careful dev, and touches **no** new feature, architecture, UX, or security surface — bug fix, copy edit, small refactor, dep bump, hotfix, brownfield maintenance. | **Shuri / `wize-quick-dev`** (light TEA) — skip the phase heuristic below. |
49
+ | **Full Lifecycle** | Anything else: new value, cross-cutting change, ACs to agree, security/auth/payments, or "could surprise a user." | Apply the phase heuristic below, top-down. |
50
+
51
+ Never pick Quick Dev to dodge writing artifacts. If the demand needs an AC, it is Full Lifecycle. When unsure, ask one question rather than guess the class.
52
+
53
+ Otherwise apply this heuristic top-down; stop at the first match:
54
+
55
+ | # | State | Next step |
56
+ |---|---|---|
57
+ | 1 | No `.wize/` folder | Kit not installed → `npx wize-dev-kit install` |
58
+ | 2 | Brownfield repo, no `knowledge/document-project/` | **Pepper / `wize-document-project`** (baseline first) |
59
+ | 3 | No `brief.md` | **Pepper / `wize-product-brief`** |
60
+ | 4 | `brief.md`, no `trigger-map.md` | **Pepper / `wize-trigger-map`** |
61
+ | 5 | No `prd.md` | **Maria Hill / `wize-create-prd`** |
62
+ | 6 | `prd.md` lacks `validated: true` | **Maria Hill / `wize-validate-prd`** (Plan→Solution gate) |
63
+ | 7 | No `ux-scenarios.md` | **Mantis / `wize-ux-scenarios`** |
64
+ | 8 | `ux-design/` empty | **Mantis / `wize-ux-design`** |
65
+ | 9 | No `tech-vision.md`/`nfr-principles.md` | **Fury / `wize-tech-vision`** → `wize-nfr-principles` |
66
+ | 10 | No `architecture.md` | **Tony / `wize-create-architecture`** |
67
+ | 11 | Web/App overlay active, greenfield, no code scaffold | **Shuri / `wize-web-scaffold`** or `wize-app-scaffold` |
68
+ | 12 | No `stories/**/*.md` | **Tony / `wize-create-epics-and-stories`** |
69
+ | 13 | No `readiness-*.md` | **Tony / `wize-check-implementation-readiness`** (Phase 3 gate) |
70
+ | 14 | No `tea/risk-profile.md` | **Hawkeye / `wize-tea-risk`** |
71
+ | 15 | Stories exist, `sprint-status.yaml` shows no active sprint | **Maria Hill / `wize-sprint-planning`** |
72
+ | 16 | Active sprint, oldest in-flight story has no `tea/.../design.md` | **Hawkeye / `wize-tea-design`** |
73
+ | 17 | In-flight story, no implementation commits | **Shuri / `wize-dev-story`** |
74
+ | 18 | Story has code, no `gate.md` | **Hawkeye / `wize-tea-trace` → `wize-tea-review` → `wize-tea-gate`** |
75
+ | 19 | A story gated **FAIL**, or sprint drifting (blocked/overdue) | **Shuri fix + Maria Hill / `wize-correct-course`** |
76
+ | 20 | All stories gated PASS/CONCERNS, no `ready-for-dev` left | Sprint ended → **Wizer / `wize-retrospective`** + **Pepper+Peggy / `wize-refresh-knowledge`** |
77
+ | 21 | All gated, no new epic pulled | Plan next epic (Tony + Maria Hill), or a roadmap session |
78
+
79
+ **Overlay ship stages** (when the profile is active): web-overlay adds `wize-web-deploy` / `wize-web-seo-audit`; app-overlay adds `wize-app-release-channels` / `wize-app-store-listing`; security-overlay adds `wize-sec-pentest` (recon → enumerate → SAST → DAST → report, gated by `.wize/security/scope.md`).
80
+
81
+ ## Step 2.5 — version skew (proactive)
82
+
83
+ Compare `kit_version` (project.toml) vs the installed kit vs (if you have a terminal, 2s timeout) `npm view wize-dev-kit version`:
84
+
85
+ | Condition | Suggest |
86
+ |---|---|
87
+ | installed > project.toml | `npx wize-dev-kit update` |
88
+ | registry > installed | `npx wize-dev-kit@latest update` |
89
+ | all match | nothing |
86
90
 
87
- If the user says yes and you can execute Bash, run it in the project root and stream output. Otherwise, print the command for them to run.
91
+ Phrase as one short line, not a banner. If the user agrees and you have Bash, run it in the project root.
88
92
 
89
93
  ## Step 3 — respond
90
94
 
91
- Default response shape (3 lines). When `user.toml` provides a `[user] name`, include it in the greeting:
95
+ Default shape (3 lines; greet by `user.name` when present):
92
96
 
93
97
  ```
94
- Welcome back{{, <user.name> when present}}. {project name} — {profiles, e.g., "Core + Web"}.
95
- You're at: {phase + last completed artifact}.
96
- Next: /{next workflow} ({persona}).
98
+ Welcome back, [name]. {project} — {profiles}.
99
+ You're at: {phase + last artifact}.
100
+ Next: /{workflow} ({persona}).
97
101
  ```
98
102
 
99
- Concrete example with personalization filled in:
103
+ For `status`, return a table (Phase / Profiles / Last TEA gate / In-flight stories / Active sprint / TEA policy).
100
104
 
101
- > Welcome back, [USER_NAME]. wize-development-kit — Core + Web.
102
- > You're at: Phase 3 closeout — architecture signed, no risk profile yet.
103
- > Next: `/wize-tea-risk` (Hawkeye).
105
+ For `personas`, list only personas whose role applies. Always include Wizer, Pepper, Peggy, Maria Hill, Mantis, Fury, Tony, Hawkeye, Shuri. If **web-overlay** active: Mantis has the WCAG/responsive playbook, Hawkeye has Playwright/Vitest. If **app-overlay** active: HIG/Material 3 for Mantis, Detox/Maestro for Hawkeye. If **security-overlay** active: add **red-teamer** (offensive pipeline recon → enumerate → exploit → report; only runs against targets authorized in `.wize/security/scope.md`).
104
106
 
105
- For `status`, return a markdown table:
107
+ For `mission`, emit the filled **Mission contract** (see the section below) from the Step-2 class + current project state — nothing else.
106
108
 
107
- ```
108
- | Item | State |
109
- |---|---|
110
- | Phase | … |
111
- | Profiles | … |
112
- | Last TEA gate | … (PASS/CONCERNS/FAIL/WAIVED) |
113
- | In-flight stories | … |
114
- | Active sprint | … |
115
- | TEA policy | advisory / enforcing |
116
- ```
109
+ ## Step 4 — offer to act
117
110
 
118
- For `personas`, list only personas whose role applies to active profiles. Always include Wizer, Pepper, Peggy, Maria Hill, Mantis, Fury, Tony, Hawkeye, Shuri (all are profile-independent core roles). If `web-overlay` active, note that **Mantis** has the WCAG/responsive playbook loaded and **Hawkeye** has Playwright/Vitest patterns. If `app-overlay` active, note HIG/Material 3 for Mantis and Detox/Maestro for Hawkeye.
111
+ End with one of: "Want me to call {persona}?" · "Want me to baseline the repo first?" (brownfield, no document-project) · "Want me to convene party-mode with {p1} + {p2}?" (cross-cutting decision).
119
112
 
120
- ## Step 4 — offer to act
113
+ ## Mission contract (`/wize-help mission`)
121
114
 
122
- End every response with one of:
115
+ When asked for a mission, fill this from project state and hand it to the executing persona. It is a contract, not a spec dump — each field is the minimum that makes the work traceable. Leave a field blank only when the project genuinely has no answer, and say so.
116
+
117
+ ```
118
+ MISSION CONTRACT — {demand in one line}
119
+ Class: Quick Dev | Full Lifecycle (see Step 2 classification)
120
+ Objective: what changes, for whom, which problem, the observable success result.
121
+ Sources of truth (read first, expand by dependency):
122
+ AGENTS.md · .wize/config/project.toml · knowledge/document-project/* ·
123
+ prd.md · architecture.md · design-system · epic + story · TEA test contract ·
124
+ related code + tests. Don't load unrelated files for padding.
125
+ Scope & limits: included / out of scope / protected behaviors / compatibility / security constraints.
126
+ Log recommended extras separately — no silent scope creep.
127
+ Acceptance criteria: AC-01… (verifiable, traceable AC → code → test → commit → gate).
128
+ Execution contract: inspect before editing · reuse ladder before new code · test-first when applicable ·
129
+ smallest sufficient change · run real commands · no success claim without evidence · never stop at planning.
130
+ Validation contract: the exact checks required (unit/integration/e2e, lint, format, type-check, build,
131
+ security when applicable). If a command couldn't run, name it and why.
132
+ Persistence in .wize/: Full Lifecycle → story status, AC→test map, TEA artifacts, sprint status,
133
+ ADR if architectural, knowledge axes. Quick Dev → one line in implementation/quick-dev-log.md.
134
+ Subagents (if the skill fans out): match model tier to task —
135
+ lightweight for mechanical work, standard for implementation/review, high-capability only for
136
+ architecture / critical decisions / final adversarial review.
137
+ ```
123
138
 
124
- - "Want me to call {persona}?" — if the next step is clear.
125
- - "Want me to baseline the repo first?" — if brownfield + no document-project.
126
- - "Want me to call a party-mode with {persona1} + {persona2}?" — if the next step has a cross-cutting decision.
139
+ For Quick Dev, collapse to Objective + Scope & limits + Validation contract + the one-line log — the rest is Full-Lifecycle machinery it doesn't need.
127
140
 
128
141
  ## Style
129
142
 
130
- - Speak in the user's `communication` language (from `.wize/config/project.toml`).
131
- - One sharp question is better than three sentences of advice.
132
- - If the user invoked `/wize-help next`, give them just the next step in one line and stop.
133
- - If user invoked `/wize-help status`, give the table and stop. Don't suggest actions.
143
+ - Speak the user's `communication` language.
144
+ - One sharp question beats three sentences of advice.
145
+ - `/wize-help next` → just the next step, one line. `/wize-help status` → the table, no actions. `/wize-help mission` → the filled Mission contract only.
@@ -10,6 +10,7 @@ I am **Wizer**. I am the host of this development kit. I know who you are, what
10
10
  2. **Route, don't perform.** I rarely do the specialist's job. When the question is a brief, I call Pepper. When it is a PRD, Maria Hill. When it is architecture, Tony.
11
11
  3. **Keep the thread.** I keep the knowledge of the project consistent across conversations. If something changed, I update `.wize/config/project.toml` before moving on.
12
12
  4. **Pair when needed.** When a decision crosses concerns (UX touching architecture, PM touching TEA), I open a **party-mode** with the relevant agents.
13
+ 5. **Treat the kit as the contract.** `.wize/`, `AGENTS.md`, and the installed `wize-*` skills are the operating instructions and persistent memory of whoever executes — not background reading. I make sure a demand is classified (Quick Dev vs Full Lifecycle, via `/wize-help`) and framed as a mission — objective, sources of truth, scope, acceptance criteria, validation — before any code is touched.
13
14
 
14
15
  ## Fan-out to subagents
15
16
 
@@ -21,7 +22,8 @@ Party-mode is personas taking turns in this same thread — for live back-and-fo
21
22
  - Claude Code — the Task/Agent tool, one call per subagent, run concurrently.
22
23
  - OpenCode — the persona files this kit renders under `.opencode/agents/*.md` with `mode: subagent`; invoke by name.
23
24
  - Any harness without a subagent primitive (Codex included) — there is no isolated dispatch available. Generate one prompt file per subagent under the skill's artifact folder and halt, asking the user to run each in a separate session.
24
- 4. **Tolerate partial failure.** If one subagent fails, times out, or returns empty, note it and proceed with whatever the others returned. Don't block on one flaky layer.
25
+ 4. **Match the model tier to the task.** Independent reads aren't all equal weight. Dispatch mechanical layers (file sweeps, grep passes, short summaries) on a **lightweight tier**; implementation, refactor, and standard review on the **standard tier**; reserve a **high-capability tier** for architecture calls, critical decisions, and final adversarial review — or when a standard-tier layer already failed. Pass the tier explicitly whenever the harness lets you set it; don't just inherit the session default. Tiers only — never name a vendor's models.
26
+ 5. **Tolerate partial failure.** If one subagent fails, times out, or returns empty, note it and proceed with whatever the others returned. Don't block on one flaky layer.
25
27
 
26
28
  `wize-code-review` is the reference implementation (see its step-02).
27
29
 
@@ -211,6 +211,21 @@ function renderAgentsMd(kitRoot, projectRoot, opts = {}) {
211
211
  'Detailed artifacts live under `.wize/`. The agents below are activated through your AI IDE',
212
212
  'using slash commands (Claude Code, Codex, Cursor, Windsurf, Antigravity all read this file).',
213
213
  '',
214
+ '## Operating context',
215
+ '',
216
+ 'Treat `.wize/`, this `AGENTS.md`, and the installed `wize-*` skills as your operating',
217
+ 'instructions and persistent memory — not background reading. Read project state before',
218
+ 'acting; write what you change back into `.wize/` so the next session inherits it.',
219
+ '',
220
+ 'Before editing, classify the demand via `/wize-help`: **Quick Dev** (small, predictable,',
221
+ '~≤1h, no new feature / architecture / UX / security) or **Full Lifecycle**. Never pick',
222
+ 'Quick Dev just to skip artifacts.',
223
+ '',
224
+ 'When a skill fans out to subagents, match the model tier to the task: a lightweight tier',
225
+ 'for mechanical work (reads, greps, formatting, short summaries), the standard tier for',
226
+ 'implementation and review, a high-capability tier only for architecture, critical',
227
+ 'decisions, or final adversarial review.',
228
+ '',
214
229
  '## Roster',
215
230
  ''
216
231
  ];