wizz-method 2.13.0 → 2.15.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/THIRD-PARTY-NOTICES.md +2 -0
- package/package.json +10 -3
- package/skills-registry.yaml +30 -25
- package/src/bmm-skills/1-analysis/research/wizz-domain-research/customize.toml +4 -3
- package/src/bmm-skills/1-analysis/research/wizz-market-research/customize.toml +4 -3
- package/src/bmm-skills/1-analysis/research/wizz-technical-research/customize.toml +3 -1
- package/src/bmm-skills/1-analysis/wizz-agent-analyst/customize.toml +3 -1
- package/src/bmm-skills/1-analysis/wizz-agent-tech-writer/customize.toml +4 -3
- package/src/bmm-skills/1-analysis/wizz-document-project/customize.toml +4 -3
- package/src/bmm-skills/1-analysis/wizz-prfaq/customize.toml +4 -3
- package/src/bmm-skills/1-analysis/wizz-product-brief/customize.toml +5 -6
- package/src/bmm-skills/2-plan-workflows/wizz-agent-pm/customize.toml +3 -1
- package/src/bmm-skills/2-plan-workflows/wizz-agent-ux-designer/customize.toml +3 -1
- package/src/bmm-skills/2-plan-workflows/wizz-create-prd/customize.toml +4 -3
- package/src/bmm-skills/2-plan-workflows/wizz-edit-prd/customize.toml +4 -3
- package/src/bmm-skills/2-plan-workflows/wizz-prd/customize.toml +5 -6
- package/src/bmm-skills/2-plan-workflows/wizz-ux/customize.toml +4 -3
- package/src/bmm-skills/2-plan-workflows/wizz-validate-prd/customize.toml +4 -3
- package/src/bmm-skills/3-solutioning/wizz-agent-architect/customize.toml +3 -1
- package/src/bmm-skills/3-solutioning/wizz-architecture/customize.toml +5 -6
- package/src/bmm-skills/3-solutioning/wizz-check-implementation-readiness/customize.toml +4 -3
- package/src/bmm-skills/3-solutioning/wizz-create-architecture/customize.toml +4 -3
- package/src/bmm-skills/3-solutioning/wizz-create-epics-and-stories/customize.toml +4 -3
- package/src/bmm-skills/3-solutioning/wizz-generate-project-context/steps/step-03-complete.md +7 -0
- package/src/bmm-skills/4-implementation/wizz-agent-dev/customize.toml +3 -1
- package/src/bmm-skills/4-implementation/wizz-checkpoint-preview/customize.toml +4 -3
- package/src/bmm-skills/4-implementation/wizz-code-review/customize.toml +4 -3
- package/src/bmm-skills/4-implementation/wizz-code-review/steps/step-03-triage.md +23 -14
- package/src/bmm-skills/4-implementation/wizz-code-review/steps/step-04-present.md +2 -2
- package/src/bmm-skills/4-implementation/wizz-correct-course/customize.toml +4 -3
- package/src/bmm-skills/4-implementation/wizz-create-story/customize.toml +4 -3
- package/src/bmm-skills/4-implementation/wizz-dev-story/customize.toml +4 -3
- package/src/bmm-skills/4-implementation/wizz-investigate/customize.toml +4 -3
- package/src/bmm-skills/4-implementation/wizz-qa-generate-e2e-tests/customize.toml +4 -3
- package/src/bmm-skills/4-implementation/wizz-quick-dev/SKILL.md +1 -1
- package/src/bmm-skills/4-implementation/wizz-quick-dev/customize.toml +4 -3
- package/src/bmm-skills/4-implementation/wizz-quick-dev/spec-template.md +6 -0
- package/src/bmm-skills/4-implementation/wizz-quick-dev/step-04-review.md +27 -16
- package/src/bmm-skills/4-implementation/wizz-quick-dev/step-oneshot.md +27 -6
- package/src/bmm-skills/4-implementation/wizz-retrospective/customize.toml +4 -3
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/customize.toml +4 -3
- package/src/bmm-skills/4-implementation/wizz-sprint-status/customize.toml +4 -3
- package/src/core-skills/wizz-brainstorming/customize.toml +5 -6
- package/src/core-skills/wizz-brainstorming/scripts/brain.py +19 -0
- package/src/core-skills/wizz-brainstorming/scripts/tests/test_brain.py +33 -0
- package/src/core-skills/wizz-forge-idea/scripts/resolve_personas.py +3 -1
- package/src/core-skills/wizz-forge-idea/scripts/tests/test_resolve_personas.py +21 -0
- package/src/core-skills/wizz-help/SKILL.md +5 -3
- package/src/core-skills/wizz-party-mode/customize.toml +5 -4
- package/src/core-skills/wizz-party-mode/scripts/resolve_party.py +3 -1
- package/src/core-skills/wizz-party-mode/scripts/tests/test_resolve_party.py +21 -0
- package/src/core-skills/wizz-spec/customize.toml +4 -5
- package/src/modules/wizz/_shared/model-ladder.md +4 -4
- package/src/modules/wizz/agents/wizz-designer/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-maestro/SKILL.md +1 -1
- package/src/modules/wizz/subagents/opencode/wizz-exec-review.md +2 -2
- package/src/modules/wizz/subagents/opencode/wizz-exec-standard.md +2 -2
- package/src/modules/wizz/subagents/opencode/wizz-exec-strong.md +2 -2
- package/src/modules/wizz/subagents/spec.yaml +3 -3
- package/src/scripts/resolve_config.py +8 -0
- package/src/scripts/resolve_customization.py +24 -3
- package/src/scripts/tests/test_resolve_config.py +42 -0
- package/src/scripts/tests/test_resolve_customization.py +45 -0
- package/src/skills-lib/_shared/complexity-signal.md +1 -1
- package/src/skills-lib/ctc-align/SKILL.md +1 -1
- package/src/skills-lib/wizz-agent-browser/SKILL.md +5 -0
- package/src/skills-lib/wizz-design-needs/SKILL.md +1 -1
- package/src/skills-lib/wizz-huashu-design/scripts/html2pptx.js +902 -1061
- package/src/skills-lib/wizz-humanizer/README.md +134 -71
- package/src/skills-lib/wizz-humanizer/SKILL.md +51 -37
- package/src/skills-lib/wizz-humanizer/references/ai-writing-patterns.md +208 -190
- package/src/skills-lib/wizz-premium-landing-ui-researcher/SKILL.md +1 -1
- package/src/skills-lib/wizz-router/SKILL.md +1 -1
- package/src/skills-lib/wizz-ui-component-curator/SKILL.md +22 -2
- package/tools/installer/core/doctor.js +31 -1
- package/tools/installer/core/installer.js +32 -0
- package/tools/installer/core/project-instructions.js +199 -0
- package/src/bmm-skills/3-solutioning/wizz-architecture/scripts/__pycache__/lint_spine.cpython-313.pyc +0 -0
- package/src/bmm-skills/3-solutioning/wizz-architecture/scripts/tests/__pycache__/test_lint_spine.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/__pycache__/sprint_status.cpython-313.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/__pycache__/test_git_evidence.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/__pycache__/test_sprint_status.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/__pycache__/sprint_plan.cpython-313.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/tests/__pycache__/test_sprint_plan.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-advanced-elicitation/scripts/__pycache__/pick_methods.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-advanced-elicitation/scripts/tests/__pycache__/test_pick_methods.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-brainstorming/scripts/__pycache__/brain.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-brainstorming/scripts/tests/__pycache__/test_brain.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-brainstorming/scripts/tests/__pycache__/test_brain.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-customize/scripts/__pycache__/list_customizable_skills.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-customize/scripts/tests/__pycache__/test_list_customizable_skills.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/scripts/__pycache__/resolve_personas.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/scripts/__pycache__/resolve_personas.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/scripts/tests/__pycache__/test_resolve_personas.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/scripts/tests/__pycache__/test_resolve_personas.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-party-mode/scripts/tests/__pycache__/test_resolve_party.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-party-mode/scripts/tests/__pycache__/test_resolve_party.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/resolve_customization.cpython-314.pyc +0 -0
- package/src/skills-lib/wizz-huashu-design/package-lock.json +0 -846
- package/src/skills-lib/wizz-humanizer/WARP.md +0 -53
- package/src/skills-lib/wizz-humanizer/references/full-example.md +0 -72
- package/src/skills-lib/wizz-humanizer/references/personality-and-soul.md +0 -36
- package/src/skills-lib/wizz-react-components/package-lock.json +0 -231
- package/src/skills-lib/wizz-supabase-postgres-best-practices/CLAUDE.md +0 -68
- package/src/skills-lib/wizz-ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/src/skills-lib/wizz-ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -106,12 +106,14 @@ the `<Font>-OFL.txt` file in the same folder.
|
|
|
106
106
|
- Path: `src/skills-lib/wizz-humanizer/`
|
|
107
107
|
- Origin: [blader/humanizer](https://github.com/blader/humanizer)
|
|
108
108
|
- License: MIT (full text at `src/skills-lib/wizz-humanizer/LICENSE`, copyright (c) 2025 Siqi Chen)
|
|
109
|
+
- Version: 3.1.0, upstream commit `225a6f39` (ported 2026-09-30).
|
|
109
110
|
|
|
110
111
|
## wizz-huashu-design
|
|
111
112
|
|
|
112
113
|
- Path: `src/skills-lib/wizz-huashu-design/`
|
|
113
114
|
- Origin: [alchaincyf/huashu-design](https://github.com/alchaincyf/huashu-design)
|
|
114
115
|
- License: MIT (full text at `src/skills-lib/wizz-huashu-design/LICENSE`, copyright (c) 2026 alchaincyf (花叔))
|
|
116
|
+
- `scripts/html2pptx.js`: clean-room rewrite from upstream commit `0830494e` (2026-09-22). The earlier copy was removed upstream because it derived from proprietary Anthropic code; it was replaced here on 2026-09-30.
|
|
115
117
|
|
|
116
118
|
## wizz-react-components (Stitch template)
|
|
117
119
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "wizz-method",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.15.0",
|
|
5
5
|
"description": "Wizz Method: método de agência orientado por IA em PT-BR",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"agile",
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
"wizzcomms"
|
|
15
15
|
],
|
|
16
16
|
"homepage": "https://method.wizzcomms.com",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/wizzcomms/wizz-method.git"
|
|
20
|
+
},
|
|
17
21
|
"license": "SEE LICENSE IN LICENSE",
|
|
18
22
|
"author": "Wizz! comms. (wizzcomms)",
|
|
19
23
|
"main": "tools/installer/wizz-cli.js",
|
|
@@ -38,7 +42,9 @@
|
|
|
38
42
|
"removals.txt",
|
|
39
43
|
"THIRD-PARTY-NOTICES.md",
|
|
40
44
|
"SECURITY.md",
|
|
41
|
-
"tools/fetch-assets.mjs"
|
|
45
|
+
"tools/fetch-assets.mjs",
|
|
46
|
+
"!**/__pycache__/**",
|
|
47
|
+
"!**/*.pyc"
|
|
42
48
|
],
|
|
43
49
|
"scripts": {
|
|
44
50
|
"docs:build": "node tools/build-docs.mjs",
|
|
@@ -60,7 +66,7 @@
|
|
|
60
66
|
"lint:md": "markdownlint-cli2 \"**/*.md\"",
|
|
61
67
|
"prepare": "command -v husky >/dev/null 2>&1 && husky || exit 0",
|
|
62
68
|
"quality": "npm run format:check && npm run lint && npm run lint:md && npm run docs:build && npm run quality:validate",
|
|
63
|
-
"quality:validate": "npm test && npm run validate:refs && npm run validate:registry-schema && npm run validate:method-refs && npm run validate:skills && npm run docs:validate-sidebar && npm run validate:generated && npm run eval:routing && npm run eval:output",
|
|
69
|
+
"quality:validate": "npm test && npm run validate:refs && npm run validate:registry-schema && npm run validate:method-refs && npm run validate:model-ids && npm run validate:skills && npm run docs:validate-sidebar && npm run validate:generated && npm run eval:routing && npm run eval:output",
|
|
64
70
|
"rebundle": "node tools/bundle-web-bundles.js",
|
|
65
71
|
"sync:check": "node tools/sync-check.mjs",
|
|
66
72
|
"sync:global": "node tools/sync-global.mjs",
|
|
@@ -115,6 +121,7 @@
|
|
|
115
121
|
"test:workflow-path-regex": "node test/test-workflow-path-regex.js",
|
|
116
122
|
"validate:generated": "npm run test:dispatch-rule && npm run test:routing-table-refs && npm run test:subagents-parity",
|
|
117
123
|
"validate:method-refs": "node tools/validate-method-refs.js --strict",
|
|
124
|
+
"validate:model-ids": "node tools/validate-model-ids.mjs",
|
|
118
125
|
"validate:refs": "node tools/validate-file-refs.js --strict",
|
|
119
126
|
"validate:registry-schema": "node tools/validate-registry-schema.js --strict",
|
|
120
127
|
"validate:skills": "node tools/validate-skills.js --strict",
|
package/skills-registry.yaml
CHANGED
|
@@ -127,14 +127,14 @@ areas:
|
|
|
127
127
|
# dentro do `when:` deixa a entrada gulosa e mexe no roteamento).
|
|
128
128
|
- id: wizz-premium-landing-ui-researcher
|
|
129
129
|
door: construcao
|
|
130
|
-
when: "Projeto NOVO (greenfield):
|
|
130
|
+
when: "Projeto NOVO (greenfield) ou tela inteira refeita: landing premium, hero, 3D high-end, dashboard SaaS ou painel operacional. Estratégia source-first."
|
|
131
131
|
rel:
|
|
132
132
|
after: [wizz-design-needs]
|
|
133
133
|
pairs_with: [wizz-ui-ux-pro-max]
|
|
134
134
|
# Idem: a relação com o mapa vive na aresta `after`, não no `when:`.
|
|
135
135
|
- id: wizz-ui-component-curator
|
|
136
136
|
door: construcao
|
|
137
|
-
when: "Projeto EXISTENTE: qual componente
|
|
137
|
+
when: "Projeto EXISTENTE (site ou painel): qual componente, efeito, hover ou animação de carregamento adicionar que combina com o estilo atual."
|
|
138
138
|
rel:
|
|
139
139
|
after: [wizz-design-needs]
|
|
140
140
|
pairs_with: [wizz-ui-ux-pro-max]
|
|
@@ -229,15 +229,15 @@ areas:
|
|
|
229
229
|
platform: [darwin, linux]
|
|
230
230
|
# O check confere o SHA fixado, não só a existência da pasta: o bundle é
|
|
231
231
|
# copiado (não clonado), então o pin é gravado num marcador no install.
|
|
232
|
-
check: 'grep -qx
|
|
232
|
+
check: 'grep -qx 03ceb42f7fa2c4439aca01752118044baabffb8f "$HOME/.claude/skills/watch/.wizz-pin" 2>/dev/null'
|
|
233
233
|
# Pin de supply chain (2026-08-23): clone temporário + checkout do SHA
|
|
234
234
|
# + `skills add` local. Atualizar conscientemente.
|
|
235
|
-
install: 'd="$(mktemp -d)" && git clone https://github.com/bradautomates/claude-video.git "$d" && git -C "$d" checkout
|
|
235
|
+
install: 'd="$(mktemp -d)" && git clone https://github.com/bradautomates/claude-video.git "$d" && git -C "$d" checkout 03ceb42f7fa2c4439aca01752118044baabffb8f && npx skills add "$d" -g -y --copy && printf "%s\\n" 03ceb42f7fa2c4439aca01752118044baabffb8f > "$HOME/.claude/skills/watch/.wizz-pin" && rm -rf "$d"'
|
|
236
236
|
- id: get-brolls
|
|
237
|
-
# Versão que o SKILL.md do upstream declara no SHA pinado abaixo
|
|
238
|
-
#
|
|
237
|
+
# Versão que o SKILL.md do upstream declara no SHA pinado abaixo
|
|
238
|
+
# (tag v2.5.0, 2026-09-19).
|
|
239
239
|
metadata:
|
|
240
|
-
version: "2.
|
|
240
|
+
version: "2.5.0"
|
|
241
241
|
when: "CAPTAR B-roll/insert — em português: 'imagens de apoio', 'cenas de apoio', 'imagem de corte' para Reel, TikTok ou vídeo: acha a fonte LITERAL do que a narração cita (o fato, a pessoa, o produto, a notícia, a tela) em YouTube (yt-dlp, sem API key), Instagram/TikTok (navegador/Playwright, sessão do usuário), Pexels/Pixabay/Wikimedia Commons/NASA ou arquivo local; gera prévia (poster, contact sheet numerado, GIF), monta um Storyboard HTML para REVISÃO HUMANA e entrega o corte com origem/autor/condições de uso registrados. Etapa de CAPTAÇÃO do pipeline de vídeo: enche a timeline de material real antes do corte fino e da montagem. Stock só quando o usuário pedir stock explicitamente — nunca como preenchimento de um beat sem fonte literal."
|
|
242
242
|
not_when:
|
|
243
243
|
- "Analisar/resumir um vídeo que já se tem em mãos: é claude-video."
|
|
@@ -255,18 +255,18 @@ areas:
|
|
|
255
255
|
platform: [darwin]
|
|
256
256
|
# O check confere o SHA fixado, não só a existência da pasta: o bundle é
|
|
257
257
|
# copiado (não clonado), então o pin é gravado num marcador no install.
|
|
258
|
-
check: 'grep -qx
|
|
258
|
+
check: 'grep -qx d9364053d336ae2c1d71a3c4de796590dece8c53 "$HOME/.claude/skills/get-brolls/.wizz-pin" 2>/dev/null'
|
|
259
259
|
# Pin de supply chain (2026-09-17): clone temporário + checkout do SHA
|
|
260
260
|
# + `skills add` global + o `install.sh` do próprio upstream (cria .venv
|
|
261
|
-
# e .tools DENTRO da skill: yt-dlp fixado, EJS e Playwright CLI).
|
|
262
|
-
#
|
|
263
|
-
#
|
|
261
|
+
# e .tools DENTRO da skill: yt-dlp fixado, EJS e Playwright CLI). Desde
|
|
262
|
+
# 2026-09-30 o pin é o commit da tag oficial v2.5.0 (antes, HEAD de
|
|
263
|
+
# 2026-09-17, quando ainda não havia tag). install.sh sem mudança.
|
|
264
264
|
# Atualizar conscientemente. O install.sh aborta sozinho se faltar
|
|
265
265
|
# python3/ffmpeg/node 22+; sem pin gravado, o installer volta a oferecer.
|
|
266
266
|
# Escopo GLOBAL (-g) de propósito: a skill guarda .venv/.tools/.env na
|
|
267
267
|
# própria raiz e recebe o projeto por `--project`, então é instalar uma
|
|
268
268
|
# vez e usar em todos — igual hyperframes e claude-video.
|
|
269
|
-
install: 'd="$(mktemp -d)" && git clone https://github.com/engenheirodevideo/get-brolls.git "$d" && git -C "$d" checkout
|
|
269
|
+
install: 'd="$(mktemp -d)" && git clone https://github.com/engenheirodevideo/get-brolls.git "$d" && git -C "$d" checkout d9364053d336ae2c1d71a3c4de796590dece8c53 && npx skills add "$d" -g -y --copy && bash "$HOME/.claude/skills/get-brolls/scripts/install.sh" && printf "%s\\n" d9364053d336ae2c1d71a3c4de796590dece8c53 > "$HOME/.claude/skills/get-brolls/.wizz-pin" && rm -rf "$d"'
|
|
270
270
|
# Sem drawtext (libfreetype) o contact sheet sai sem número e timecode e
|
|
271
271
|
# o Storyboard degrada EM SILÊNCIO — por isso o probe olha o filtro, não
|
|
272
272
|
# só o binário do ffmpeg. A venv prova que o install.sh chegou ao fim.
|
|
@@ -279,9 +279,9 @@ areas:
|
|
|
279
279
|
platform: darwin-arm64
|
|
280
280
|
# Clone-and-run: o próprio repo responde o SHA, então o check compara com o
|
|
281
281
|
# pin. O install repara um clone existente em vez de falhar no git clone.
|
|
282
|
-
check: 'test "$(git -C ./buttercut rev-parse HEAD 2>/dev/null)" =
|
|
282
|
+
check: 'test "$(git -C ./buttercut rev-parse HEAD 2>/dev/null)" = 3d4cf6b6b6881c6bc2f964e2d311f7688186f79b'
|
|
283
283
|
# Pin de supply chain (2026-08-23): checkout de SHA fixo; atualizar conscientemente.
|
|
284
|
-
install: "{ [ -d buttercut/.git ] || git clone https://github.com/barefootford/buttercut.git buttercut; } && git -C buttercut fetch --tags origin && git -C buttercut checkout
|
|
284
|
+
install: "{ [ -d buttercut/.git ] || git clone https://github.com/barefootford/buttercut.git buttercut; } && git -C buttercut fetch --tags origin && git -C buttercut checkout 3d4cf6b6b6881c6bc2f964e2d311f7688186f79b"
|
|
285
285
|
verify: "command -v ffmpeg >/dev/null 2>&1 && command -v ruby >/dev/null 2>&1 && command -v python3 >/dev/null 2>&1"
|
|
286
286
|
- id: voicebox
|
|
287
287
|
when: "Voz/TTS/clonagem de voz local para narração/VO de vídeo (7 engines TTS + Whisper STT). App desktop que expõe endpoint MCP local em runtime. Clone-and-run no projeto."
|
|
@@ -299,8 +299,10 @@ areas:
|
|
|
299
299
|
after: [voicebox]
|
|
300
300
|
before: [wizz-remotion-best-practices, wizz-video-effects]
|
|
301
301
|
platform: [darwin, linux]
|
|
302
|
-
|
|
303
|
-
|
|
302
|
+
# O pip grava o commit instalado no direct_url.json: o check compara com o pin.
|
|
303
|
+
check: "test -x ./tools/ctc-align/.venv/bin/ctc-forced-aligner && grep -qs 64293cc6d711e57666c4a8b098e9fd93b381fd88 ./tools/ctc-align/.venv/lib/python*/site-packages/ctc_forced_aligner-*.dist-info/direct_url.json"
|
|
304
|
+
# Pin de supply chain (2026-09-30): commit fixo; atualizar conscientemente.
|
|
305
|
+
install: 'mkdir -p tools/ctc-align && uv venv --python 3.12 tools/ctc-align/.venv && uv pip install --python tools/ctc-align/.venv/bin/python "git+https://github.com/MahmoudAshraf97/ctc-forced-aligner.git@64293cc6d711e57666c4a8b098e9fd93b381fd88"'
|
|
304
306
|
verify: "command -v ffmpeg >/dev/null 2>&1 && command -v uv >/dev/null 2>&1"
|
|
305
307
|
- id: apple-design
|
|
306
308
|
when: "Revisar/auditar UI NATIVA (iOS/macOS: SwiftUI, Flutter, React Native, Tauri, Electron) contra o Apple HIG e o Liquid Glass — compliance com o HIG, acessibilidade, dark mode, navegação. Cobre o gap que o wizz-taste-skill declara fora de escopo ('native mobile: use Apple HIG directly')."
|
|
@@ -709,7 +711,7 @@ areas:
|
|
|
709
711
|
pairs_with: [wizz-infrastructure]
|
|
710
712
|
check: "sentry-cli --version"
|
|
711
713
|
# Pin de supply chain (2026-08-25): versão fixa; atualizar conscientemente.
|
|
712
|
-
install: "npm install -g @sentry/cli@3.
|
|
714
|
+
install: "npm install -g @sentry/cli@3.8.0"
|
|
713
715
|
- id: archify
|
|
714
716
|
when: "DESENHAR um diagrama VALIDADO de arquitetura/workflow/sequência/dataflow/estado como HTML+SVG navegável (aceita Mermaid) — no passo 'Renderings & polish' do wizz-architecture, ou quando o usuário pedir um diagrama assim. Protocolo obrigatório validate → deliver → visual-check: nunca declarar sucesso sem ler o JSON do comando. Ele DESENHA o que já foi decidido; a decisão e o porquê continuam no wizz-architecture (memlog, AD-n)."
|
|
715
717
|
not_when:
|
|
@@ -766,7 +768,7 @@ areas:
|
|
|
766
768
|
pairs_with: [wizz-agent-browser]
|
|
767
769
|
check: "agent-browser --version"
|
|
768
770
|
# Pin de supply chain (2026-08-23): versão fixa; atualizar conscientemente.
|
|
769
|
-
install: "npm install -g agent-browser@0.
|
|
771
|
+
install: "npm install -g agent-browser@0.38.1"
|
|
770
772
|
- id: strix
|
|
771
773
|
when: "CONDICIONAL, nunca default — executor de pentest AUTÔNOMO e OFENSIVO (agentes de IA que rodam o app, exploram e VALIDAM vulnerabilidades com PoC real). Complementa security-audit-pentest: aquela skill é a metodologia/checklist humana; o Strix é o executor automatizado. Ferramenta dual-use: SÓ contra alvo próprio ou com AUTORIZAÇÃO ESCRITA do dono do sistema e ESCOPO definido — nunca contra alvo de terceiros sem permissão. Roda SEMPRE dentro do sandbox Docker isolado que a própria ferramenta provê (jamais direto no host). Gate condicional: ofereça apenas mediante confirmação explícita do usuário, com escopo e autorização declarados; jamais acione por padrão silencioso. RETORNO DEFENSIVO OBRIGATÓRIO: o executor (subagente) SEMPRE devolve o achado em formato defensivo — falha, severidade, evidência mínima e correção — nunca payload/exploit cru ou arma pronta; assim o revisor recebe conteúdo defensivo pra corrigir, não instrução de ataque. Precisa de Docker rodando e de uma LLM API key configurada."
|
|
772
774
|
not_when: "Sem alvo próprio ou sem autorização escrita e escopo definido do dono do sistema; nunca acionar por padrão silencioso."
|
|
@@ -777,7 +779,7 @@ areas:
|
|
|
777
779
|
# Pin de supply chain (2026-08-25): versão fixa do pacote pip; o sandbox
|
|
778
780
|
# é a imagem pinada ghcr.io/usestrix/strix-sandbox:1.3.0, puxada no 1º run
|
|
779
781
|
# dentro do Docker isolado. Atualizar conscientemente.
|
|
780
|
-
install: "pipx install strix-agent==1.
|
|
782
|
+
install: "pipx install strix-agent==1.6.2"
|
|
781
783
|
verify: "command -v docker >/dev/null 2>&1 && docker info >/dev/null 2>&1"
|
|
782
784
|
|
|
783
785
|
analyst:
|
|
@@ -931,7 +933,7 @@ mcp_utility:
|
|
|
931
933
|
server:
|
|
932
934
|
command: npx
|
|
933
935
|
# Pin de supply chain (2026-08-23): versão fixa; atualizar conscientemente.
|
|
934
|
-
args: ["-y", "@upstash/context7-mcp@4.
|
|
936
|
+
args: ["-y", "@upstash/context7-mcp@4.1.1"]
|
|
935
937
|
|
|
936
938
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
937
939
|
# CLIs — ferramentas de linha de comando que os agentes chamam direto (não são
|
|
@@ -969,17 +971,20 @@ cli_utility:
|
|
|
969
971
|
# --version` só testava que rodava). Agora `check` volta a ser só
|
|
970
972
|
# presença/versão (roda e imprime o número); a COMPARAÇÃO semver contra
|
|
971
973
|
# min_version é feita pelo installer (detectClis), não em shell.
|
|
972
|
-
min_version: 0.
|
|
974
|
+
min_version: 0.50.0
|
|
973
975
|
check: "rtk --version"
|
|
974
|
-
# Pin de supply chain (2026-
|
|
975
|
-
# Checksum do install.sh nesta tag (2026-
|
|
976
|
+
# Pin de supply chain (2026-09-30): tag v0.50.0 (antes: v0.45.0)
|
|
977
|
+
# Checksum do install.sh nesta tag (2026-09-30): sha256
|
|
976
978
|
# d6eb73a772903e13ff34ee1be8a8b24e896ba9a978f20d2279a08b4083ea6f77
|
|
977
|
-
# (install.sh idêntico ao v0.43.0 — mesmo checksum.)
|
|
979
|
+
# (install.sh idêntico ao v0.43.0 e ao v0.45.0 — mesmo checksum.)
|
|
980
|
+
# O install.sh baixa a release MAIS NOVA, não a da tag, a menos que
|
|
981
|
+
# RTK_VERSION esteja setada (achado de 2026-09-30): sem ela o pin da tag
|
|
982
|
+
# só travava o script, não o binário.
|
|
978
983
|
# (RT1: tag git pode ser movida à força; o checksum trava o conteúdo real
|
|
979
984
|
# que será executado, não só o nome da tag. Verificado com `shasum -c`
|
|
980
985
|
# antes do `sh`; se a tag mudar de conteúdo, o install aborta em vez de
|
|
981
986
|
# rodar script desconhecido.)
|
|
982
|
-
install: "curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/tags/v0.
|
|
987
|
+
install: "curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/tags/v0.50.0/install.sh -o /tmp/rtk-install-v0.50.0.sh && echo 'd6eb73a772903e13ff34ee1be8a8b24e896ba9a978f20d2279a08b4083ea6f77 /tmp/rtk-install-v0.50.0.sh' | shasum -a 256 -c - && RTK_VERSION=v0.50.0 sh /tmp/rtk-install-v0.50.0.sh"
|
|
983
988
|
|
|
984
989
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
985
990
|
# SQUADS — painéis consultivos de personas (rodam via wizz-party-mode).
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches its terminal stage (Step 6: Research Synthesis),
|
|
38
39
|
# after the domain research document has been saved and the user selects [C] Complete.
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches its terminal stage (Step 6: Research Completion),
|
|
38
39
|
# after the market research document has been saved and the user selects [C] Complete.
|
|
@@ -30,8 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
33
36
|
persistent_facts = [
|
|
34
|
-
"file:{project-root}/**/project-context.md",
|
|
35
37
|
"When researching a specific library, framework, or SDK, consult Context7 for current docs and version-specific facts as a preferred source alongside web search: call resolve-library-id with the library name, then query-docs with the returned /org/project id and a specific question. If Context7 is unavailable, note the gap and proceed with web research.",
|
|
36
38
|
]
|
|
37
39
|
|
|
@@ -35,8 +35,10 @@ activation_steps_append = []
|
|
|
35
35
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
36
36
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
37
37
|
|
|
38
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
39
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
40
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
38
41
|
persistent_facts = [
|
|
39
|
-
"file:{project-root}/**/project-context.md",
|
|
40
42
|
"FEATURE: the SessionStart hook already resolves the active feature from the git branch and injects 'FEATURE ATIVA: <slug>'. If it exists, save EVERY planning and implementation artifact in the subfolder with that name ({planning_artifacts}/{active_feature}/, {implementation_artifacts}/{active_feature}/) and write the slug to active_feature in {project-root}/_wizz/bmm/config.yaml on first write, announcing it in ONE line. Memory saved in this session carries the same slug as its theme. With no feature resolved, write to the root folders. NEVER ask the user for the feature: invoke wizz-set-feature only if they ask to switch, or if there are two open features and the request does not decide between them.",
|
|
41
43
|
]
|
|
42
44
|
|
|
@@ -36,9 +36,10 @@ activation_steps_append = []
|
|
|
36
36
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
37
37
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
40
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
41
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
42
|
+
persistent_facts = []
|
|
42
43
|
|
|
43
44
|
role = "Capture and curate project knowledge so humans and future LLM agents stay in sync during the Wizz Method analysis phase."
|
|
44
45
|
identity = "Writes with Julia Evans's accessibility and Edward Tufte's visual precision."
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches its terminal stage, after
|
|
38
39
|
# the main output has been delivered. Override wins. Leave empty for
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches its terminal stage (Stage 5: The Verdict),
|
|
38
39
|
# after the PRFAQ and distillate have been delivered. Override wins. Leave empty for
|
|
@@ -24,14 +24,13 @@ activation_steps_append = []
|
|
|
24
24
|
# Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed path/glob
|
|
25
25
|
# whose contents are loaded as facts.
|
|
26
26
|
#
|
|
27
|
-
#
|
|
28
|
-
# the facilitator persistent awareness of the project's tech, domain, and constraints without
|
|
29
|
-
# re-asking. Common opt-ins (set in team/user override TOML):
|
|
27
|
+
# Common opt-ins (set in team/user override TOML):
|
|
30
28
|
# "skill:acme-co:terms-and-conditions" # a skill that contains some relevant info
|
|
31
29
|
# "Elvis has left the building" # generic agent instruction
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
31
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
32
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
33
|
+
persistent_facts = []
|
|
35
34
|
|
|
36
35
|
# Executed when the workflow completes (after the user has been told the
|
|
37
36
|
# brief is ready). Accepts either a string scalar (single instruction)
|
|
@@ -35,8 +35,10 @@ activation_steps_append = []
|
|
|
35
35
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
36
36
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
37
37
|
|
|
38
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
39
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
40
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
38
41
|
persistent_facts = [
|
|
39
|
-
"file:{project-root}/**/project-context.md",
|
|
40
42
|
"FEATURE: the SessionStart hook already resolves the active feature from the git branch and injects 'FEATURE ATIVA: <slug>'. If it exists, save EVERY planning and implementation artifact in the subfolder with that name ({planning_artifacts}/{active_feature}/, {implementation_artifacts}/{active_feature}/) and write the slug to active_feature in {project-root}/_wizz/bmm/config.yaml on first write, announcing it in ONE line. Memory saved in this session carries the same slug as its theme. With no feature resolved, write to the root folders. NEVER ask the user for the feature: invoke wizz-set-feature only if they ask to switch, or if there are two open features and the request does not decide between them.",
|
|
41
43
|
]
|
|
42
44
|
|
|
@@ -35,8 +35,10 @@ activation_steps_append = []
|
|
|
35
35
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
36
36
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
37
37
|
|
|
38
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
39
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
40
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
38
41
|
persistent_facts = [
|
|
39
|
-
"file:{project-root}/**/project-context.md",
|
|
40
42
|
"FEATURE: the SessionStart hook already resolves the active feature from the git branch and injects 'FEATURE ATIVA: <slug>'. If it exists, save EVERY planning and implementation artifact in the subfolder with that name ({planning_artifacts}/{active_feature}/, {implementation_artifacts}/{active_feature}/) and write the slug to active_feature in {project-root}/_wizz/bmm/config.yaml on first write, announcing it in ONE line. Memory saved in this session carries the same slug as its theme. With no feature resolved, write to the root folders. NEVER ask the user for the feature: invoke wizz-set-feature only if they ask to switch, or if there are two open features and the request does not decide between them.",
|
|
41
43
|
]
|
|
42
44
|
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches Step 12 (Workflow Completion),
|
|
38
39
|
# after the PRD is finalized and workflow status is updated. Override wins.
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches Step E-4 (Complete & Validate) and the
|
|
38
39
|
# user exits via [S] Summary or [X] Exit — not on [V] Validate (which chains to
|
|
@@ -24,14 +24,13 @@ activation_steps_append = []
|
|
|
24
24
|
# Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed path/glob
|
|
25
25
|
# whose contents are loaded as facts.
|
|
26
26
|
#
|
|
27
|
-
#
|
|
28
|
-
# the facilitator persistent awareness of the project's tech, domain, and constraints without
|
|
29
|
-
# re-asking. Common opt-ins (set in team/user override TOML):
|
|
27
|
+
# Common opt-ins (set in team/user override TOML):
|
|
30
28
|
# "skill:acme-co:terms-and-conditions" # a skill that contains some relevant info
|
|
31
29
|
# "Investor PRDs must include a market sizing section." # generic agent instruction
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
31
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
32
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
33
|
+
persistent_facts = []
|
|
35
34
|
|
|
36
35
|
# Executed when the workflow completes (after the user has been told the
|
|
37
36
|
# PRD is ready). Accepts either a string scalar (single instruction)
|
|
@@ -14,9 +14,10 @@ activation_steps_append = []
|
|
|
14
14
|
|
|
15
15
|
# Persistent facts loaded at activation and kept in mind for the run.
|
|
16
16
|
# Entries: literal sentence, `skill:NAME`, or `file:PATH` (glob ok).
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
18
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
19
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
20
|
+
persistent_facts = []
|
|
20
21
|
|
|
21
22
|
# Runs at workflow completion. String or array of instructions.
|
|
22
23
|
on_complete = ""
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches Step 13 (Validation Report Complete) and
|
|
38
39
|
# the user exits via [X] Exit — not on [E] Use Edit Workflow (which chains to
|
|
@@ -35,8 +35,10 @@ activation_steps_append = []
|
|
|
35
35
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
36
36
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
37
37
|
|
|
38
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
39
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
40
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
38
41
|
persistent_facts = [
|
|
39
|
-
"file:{project-root}/**/project-context.md",
|
|
40
42
|
"FEATURE: the SessionStart hook already resolves the active feature from the git branch and injects 'FEATURE ATIVA: <slug>'. If it exists, save EVERY planning and implementation artifact in the subfolder with that name ({planning_artifacts}/{active_feature}/, {implementation_artifacts}/{active_feature}/) and write the slug to active_feature in {project-root}/_wizz/bmm/config.yaml on first write, announcing it in ONE line. Memory saved in this session carries the same slug as its theme. With no feature resolved, write to the root folders. NEVER ask the user for the feature: invoke wizz-set-feature only if they ask to switch, or if there are two open features and the request does not decide between them.",
|
|
41
43
|
]
|
|
42
44
|
|
|
@@ -24,14 +24,13 @@ activation_steps_append = []
|
|
|
24
24
|
# Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed
|
|
25
25
|
# path/glob whose contents are loaded as facts.
|
|
26
26
|
#
|
|
27
|
-
#
|
|
28
|
-
# architect persistent awareness of the project's tech, domain, and conventions (load-bearing
|
|
29
|
-
# for brownfield). Common opt-ins (set in team/user override TOML):
|
|
27
|
+
# Common opt-ins (set in team/user override TOML):
|
|
30
28
|
# "Our org is AWS-only -- do not propose GCP or Azure."
|
|
31
29
|
# "file:{project-root}/docs/engineering-standards.md"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
31
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
32
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
33
|
+
persistent_facts = []
|
|
35
34
|
|
|
36
35
|
# Executed when the workflow completes (after the spine is final and the user has been told).
|
|
37
36
|
# String scalar (single instruction) or array of instructions executed in order. Empty for none.
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches Step 6 (Final Assessment),
|
|
38
39
|
# after the readiness report has been saved and presented. Override wins.
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches Step 8 (Architecture Completion & Handoff),
|
|
38
39
|
# after the architecture document frontmatter is updated and next-steps guidance is given.
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches Step 4 (Final Validation) and the
|
|
38
39
|
# user confirms [C] Complete — after the epics.md is saved and wizz-help is invoked.
|
package/src/bmm-skills/3-solutioning/wizz-generate-project-context/steps/step-03-complete.md
CHANGED
|
@@ -207,6 +207,13 @@ stage: '{{project_stage}}' # prototype|mvp|production|maintenance
|
|
|
207
207
|
**Add Usage Section:**
|
|
208
208
|
Append the usage guidelines from step 3 to complete the document.
|
|
209
209
|
|
|
210
|
+
**Wire it into the Wizz block:** agents no longer load this file on every skill activation; the Wizz block in `CLAUDE.md` / `AGENTS.md` loads it once per session. For each of those files at `{project-root}` that has the `<!-- wizz:begin -->` block and does not yet mention this file, add a line right before `<!-- wizz:end -->`, using the path relative to `{project-root}`:
|
|
211
|
+
|
|
212
|
+
- `CLAUDE.md`: `@<relative path>` on its own line (Claude Code imports it).
|
|
213
|
+
- `AGENTS.md`: ``- Contexto do projeto: leia `<relative path>` antes de implementar (regras de stack e padrões).``
|
|
214
|
+
|
|
215
|
+
The next `wizz install` rewrites the block with the same line, so the edit is stable. If neither file has the block, tell the user to run `npx wizz-method install` to add it.
|
|
216
|
+
|
|
210
217
|
### 6. Completion Validation
|
|
211
218
|
|
|
212
219
|
Final checks before completion:
|
|
@@ -35,8 +35,10 @@ activation_steps_append = []
|
|
|
35
35
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
36
36
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
37
37
|
|
|
38
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
39
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
40
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
38
41
|
persistent_facts = [
|
|
39
|
-
"file:{project-root}/**/project-context.md",
|
|
40
42
|
"FEATURE: the SessionStart hook already resolves the active feature from the git branch and injects 'FEATURE ATIVA: <slug>'. If it exists, save EVERY planning and implementation artifact in the subfolder with that name ({planning_artifacts}/{active_feature}/, {implementation_artifacts}/{active_feature}/) and write the slug to active_feature in {project-root}/_wizz/bmm/config.yaml on first write, announcing it in ONE line. Memory saved in this session carries the same slug as its theme. With no feature resolved, write to the root folders. NEVER ask the user for the feature: invoke wizz-set-feature only if they ask to switch, or if there are two open features and the request does not decide between them.",
|
|
41
43
|
"When implementing against a library or framework, consult Context7 for current docs, APIs, and version-specific syntax before relying on training data or web search: call resolve-library-id with the library name, then query-docs with the returned /org/project id and a specific question. If Context7 is unavailable, tell the user once that they can enable it with `npx ctx7 setup`, then fall back to web research.",
|
|
42
44
|
]
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches its final step,
|
|
38
39
|
# after the review decision (approve/rework/discuss) is made. Override wins.
|
|
@@ -30,9 +30,10 @@ activation_steps_append = []
|
|
|
30
30
|
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
31
|
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
# Empty of project-context by default: repo-wide context belongs in CLAUDE.md/AGENTS.md
|
|
34
|
+
# (the Wizz block imports project-context.md there once per session). Add
|
|
35
|
+
# `file:{project-root}/**/project-context.md` here only to load it on every activation.
|
|
36
|
+
persistent_facts = []
|
|
36
37
|
|
|
37
38
|
# Scalar: executed when the workflow reaches its final step,
|
|
38
39
|
# after review findings are presented and sprint status is synced. Override wins.
|