izanagi-ai 3.6.0 → 3.7.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/.claude/skills/accessibility-reviewer/SKILL.md +105 -105
- package/.claude/skills/adversarial-critique/SKILL.md +32 -32
- package/.claude/skills/agentic-coding/SKILL.md +80 -80
- package/.claude/skills/ai-agent/SKILL.md +102 -102
- package/.claude/skills/alternative-solution-generator/SKILL.md +69 -69
- package/.claude/skills/animation-web/SKILL.md +110 -110
- package/.claude/skills/anti-ai-slop/SKILL.md +58 -58
- package/.claude/skills/api-automation/SKILL.md +115 -115
- package/.claude/skills/architecture-patterns/SKILL.md +237 -237
- package/.claude/skills/automation-documentation/SKILL.md +97 -97
- package/.claude/skills/automation-engineer/SKILL.md +168 -168
- package/.claude/skills/automation-optimization/SKILL.md +111 -111
- package/.claude/skills/automation-planning/SKILL.md +66 -66
- package/.claude/skills/automation-research/SKILL.md +66 -66
- package/.claude/skills/automation-security/SKILL.md +75 -75
- package/.claude/skills/brainstorming/SKILL.md +96 -96
- package/.claude/skills/breaking-change-detector/SKILL.md +81 -81
- package/.claude/skills/browser-automation/SKILL.md +114 -114
- package/.claude/skills/bug-hunter/SKILL.md +230 -230
- package/.claude/skills/bug-prevention/SKILL.md +72 -72
- package/.claude/skills/caveman/SKILL.md +77 -77
- package/.claude/skills/chaos-engineering/SKILL.md +102 -102
- package/.claude/skills/clean-code-validator/SKILL.md +214 -214
- package/.claude/skills/cloud-infra/SKILL.md +94 -94
- package/.claude/skills/code-auditor/SKILL.md +106 -106
- package/.claude/skills/complexity-analyzer/SKILL.md +99 -99
- package/.claude/skills/confidence-estimator/SKILL.md +53 -53
- package/.claude/skills/continuous-improvement/SKILL.md +42 -42
- package/.claude/skills/cto-advisor/SKILL.md +63 -63
- package/.claude/skills/data-engineering/SKILL.md +77 -77
- package/.claude/skills/data-validation/SKILL.md +99 -99
- package/.claude/skills/debug-specialist/SKILL.md +211 -211
- package/.claude/skills/deep-research/SKILL.md +78 -78
- package/.claude/skills/defense-in-depth/SKILL.md +77 -77
- package/.claude/skills/dependency-analyzer/SKILL.md +104 -104
- package/.claude/skills/design-directions/SKILL.md +59 -59
- package/.claude/skills/design-pattern-advisor/SKILL.md +75 -75
- package/.claude/skills/documentation-writer/SKILL.md +63 -63
- package/.claude/skills/dry-kiss-yagni-validator/SKILL.md +111 -111
- package/.claude/skills/economia-tokens/SKILL.md +264 -264
- package/.claude/skills/er-diagram-builder/SKILL.md +82 -82
- package/.claude/skills/error-recovery/SKILL.md +91 -91
- package/.claude/skills/evaluation/SKILL.md +54 -54
- package/.claude/skills/failure-patterns/SKILL.md +43 -43
- package/.claude/skills/feature-flags/SKILL.md +90 -90
- package/.claude/skills/frontend/SKILL.md +362 -362
- package/.claude/skills/graphql/SKILL.md +99 -99
- package/.claude/skills/hallucination-detection/SKILL.md +52 -52
- package/.claude/skills/handoff-protocol/SKILL.md +38 -38
- package/.claude/skills/handoff-sessao/SKILL.md +86 -86
- package/.claude/skills/i18n-l10n/SKILL.md +98 -98
- package/.claude/skills/iac-terraform/SKILL.md +93 -93
- package/.claude/skills/legacy-migration/SKILL.md +85 -85
- package/.claude/skills/logging-expert/SKILL.md +75 -75
- package/.claude/skills/mcp-server-dev/SKILL.md +143 -143
- package/.claude/skills/memoria-projeto/SKILL.md +92 -92
- package/.claude/skills/mobile-dev/SKILL.md +77 -77
- package/.claude/skills/monitoring-specialist/SKILL.md +32 -32
- package/.claude/skills/motion-design/SKILL.md +141 -141
- package/.claude/skills/observability-expert/SKILL.md +42 -42
- package/.claude/skills/parallel-agents/SKILL.md +67 -67
- package/.claude/skills/performance-optimizer/SKILL.md +246 -246
- package/.claude/skills/principal-engineer/SKILL.md +44 -44
- package/.claude/skills/professor-modo/SKILL.md +31 -31
- package/.claude/skills/project-manager/SKILL.md +71 -71
- package/.claude/skills/prompt-engineering/SKILL.md +109 -109
- package/.claude/skills/qa/SKILL.md +245 -245
- package/.claude/skills/readme-generator/SKILL.md +157 -157
- package/.claude/skills/refactoring-specialist/SKILL.md +251 -251
- package/.claude/skills/release-planner/SKILL.md +67 -67
- package/.claude/skills/requirement-analyzer/SKILL.md +45 -45
- package/.claude/skills/risk-analyzer/SKILL.md +70 -70
- package/.claude/skills/root-cause-analyzer/SKILL.md +206 -206
- package/.claude/skills/scalability-expert/SKILL.md +70 -70
- package/.claude/skills/security-privacy/SKILL.md +219 -219
- package/.claude/skills/self-correction/SKILL.md +49 -49
- package/.claude/skills/self-critique/SKILL.md +47 -47
- package/.claude/skills/senior-code-reviewer/SKILL.md +189 -189
- package/.claude/skills/sequence-diagram-builder/SKILL.md +51 -51
- package/.claude/skills/serverless-edge/SKILL.md +98 -98
- package/.claude/skills/software-architect/SKILL.md +353 -353
- package/.claude/skills/solid-validator/SKILL.md +328 -328
- package/.claude/skills/spreadsheet-automation/SKILL.md +142 -142
- package/.claude/skills/sre-reliability/SKILL.md +110 -110
- package/.claude/skills/staff-engineer/SKILL.md +28 -28
- package/.claude/skills/systematic-debugging/SKILL.md +152 -152
- package/.claude/skills/task-planner/SKILL.md +61 -61
- package/.claude/skills/tdd/SKILL.md +85 -85
- package/.claude/skills/tech-lead/SKILL.md +36 -36
- package/.claude/skills/technical-debt-analyzer/SKILL.md +78 -78
- package/.claude/skills/technical-writer/SKILL.md +68 -68
- package/.claude/skills/technology-selection/SKILL.md +83 -83
- package/.claude/skills/testing-automation/SKILL.md +117 -117
- package/.claude/skills/tradeoff-analyzer/SKILL.md +76 -76
- package/.claude/skills/ui-ux-pro-max/SKILL.md +164 -164
- package/.claude/skills/uml-generator/SKILL.md +69 -69
- package/.claude/skills/ux-reviewer/SKILL.md +79 -79
- package/.claude/skills/wasm/SKILL.md +127 -127
- package/.claude/skills/web-forms/SKILL.md +140 -140
- package/.claude/skills/web-perf-seo/SKILL.md +275 -275
- package/.claude/skills/webapp-testing/SKILL.md +81 -81
- package/.claude/skills/webgl-3d/SKILL.md +112 -112
- package/.claude/skills/websocket-realtime/SKILL.md +102 -102
- package/.github/workflows/polyglot.yml +255 -0
- package/.manifest +2 -2
- package/AGENTS.md +130 -130
- package/CHANGELOG.md +592 -592
- package/README.md +113 -113
- package/ROADMAP.md +112 -111
- package/RULES.md +249 -249
- package/SYSTEM.md +258 -258
- package/agents/INDEX.md +54 -54
- package/agents/adversarial-critic-agent.json +102 -102
- package/agents/agent-architect-agent.json +107 -107
- package/agents/architect-agent.json +114 -114
- package/agents/bug-hunter-agent.json +95 -95
- package/agents/database-agent.json +100 -100
- package/agents/devops-agent.json +108 -108
- package/agents/docs-agent.json +88 -88
- package/agents/evaluator-agent.json +98 -98
- package/agents/form-engineer-agent.json +93 -93
- package/agents/pm-agent.json +92 -92
- package/agents/product-reasoner-agent.json +108 -108
- package/agents/professor-agent.json +82 -82
- package/agents/qa-agent.json +108 -108
- package/agents/researcher-agent.json +93 -93
- package/agents/security-agent.json +109 -109
- package/agents/skill-architect-agent.json +108 -108
- package/agents/techlead-agent.json +105 -105
- package/architecture/clean-architecture.md +100 -100
- package/architecture/cqrs-specialist.md +104 -104
- package/architecture/ddd-specialist.md +99 -99
- package/architecture/event-driven-architect.md +81 -81
- package/architecture/hexagonal-architecture.md +98 -98
- package/architecture/microservices-expert.md +85 -85
- package/architecture/monolith-expert.md +69 -69
- package/architecture/repository-pattern.md +75 -75
- package/architecture/unit-of-work.md +94 -94
- package/backend/README.md +34 -34
- package/devops/ci-cd-specialist.md +103 -103
- package/devops/devops-engineer.md +360 -360
- package/devops/docker-expert.md +107 -107
- package/devops/kubernetes-specialist.md +86 -86
- package/dist/cli/commands/doctor.d.ts +14 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +21 -4
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/export.js +20 -20
- package/dist/cli/commands/skill.js +25 -25
- package/dist/cli/index.js +56 -56
- package/dist/exporters.js +483 -483
- package/dist/runtime/dashboard/page.js +311 -311
- package/dist/runtime/factories/skill-factory.js +21 -21
- package/dist/runtime/tests/doctor.test.d.ts +2 -0
- package/dist/runtime/tests/doctor.test.d.ts.map +1 -0
- package/dist/runtime/tests/doctor.test.js +35 -0
- package/dist/runtime/tests/doctor.test.js.map +1 -0
- package/dist/runtime/tests/routing.test.js +7 -7
- package/frontend/README.md +24 -24
- package/memory/context-recovery.md +51 -51
- package/memory/conversation-summarizer.md +67 -67
- package/memory/long-term-project-memory.md +60 -60
- package/memory/session-compression.md +184 -184
- package/optimization/compact-example.md +89 -89
- package/optimization/cost-optimizer.md +55 -55
- package/optimization/prompt-optimizer.md +196 -196
- package/optimization/token-audit.md +179 -179
- package/optimization/token-reducer.md +204 -204
- package/package.json +99 -99
- package/security/owasp-auditor.md +251 -251
- package/security/pentest-reviewer.md +111 -111
- package/security/security-engineer.md +240 -240
- package/skills/INDEX.md +464 -464
- package/skills/accessibility-reviewer/SKILL.md +111 -111
- package/skills/adversarial-critique/SKILL.md +38 -38
- package/skills/agentic-coding/SKILL.md +86 -86
- package/skills/ai-agent/SKILL.md +108 -108
- package/skills/ai-agent/references.md +1 -1
- package/skills/alternative-solution-generator/SKILL.md +75 -75
- package/skills/animation-web/SKILL.md +116 -116
- package/skills/anti-ai-slop/SKILL.md +64 -64
- package/skills/api-automation/SKILL.md +121 -121
- package/skills/architecture-patterns/SKILL.md +243 -243
- package/skills/automation-documentation/SKILL.md +103 -103
- package/skills/automation-engineer/SKILL.md +174 -174
- package/skills/automation-optimization/SKILL.md +117 -117
- package/skills/automation-planning/SKILL.md +72 -72
- package/skills/automation-research/SKILL.md +72 -72
- package/skills/automation-security/SKILL.md +81 -81
- package/skills/brainstorming/SKILL.md +102 -102
- package/skills/breaking-change-detector/SKILL.md +87 -87
- package/skills/browser-automation/SKILL.md +120 -120
- package/skills/bug-hunter/SKILL.md +236 -236
- package/skills/bug-prevention/SKILL.md +78 -78
- package/skills/caveman/SKILL.md +87 -87
- package/skills/chaos-engineering/SKILL.md +108 -108
- package/skills/chaos-engineering/references.md +1 -1
- package/skills/clean-code-validator/SKILL.md +220 -220
- package/skills/cloud-infra/SKILL.md +100 -100
- package/skills/code-auditor/SKILL.md +112 -112
- package/skills/complexity-analyzer/SKILL.md +105 -105
- package/skills/confidence-estimator/SKILL.md +59 -59
- package/skills/confidence-estimator/references.md +1 -1
- package/skills/continuous-improvement/SKILL.md +48 -48
- package/skills/continuous-improvement/references.md +1 -1
- package/skills/cto-advisor/SKILL.md +69 -69
- package/skills/cto-advisor/references.md +1 -1
- package/skills/data-engineering/SKILL.md +83 -83
- package/skills/data-validation/SKILL.md +105 -105
- package/skills/debug-specialist/SKILL.md +217 -217
- package/skills/deep-research/SKILL.md +83 -83
- package/skills/defense-in-depth/SKILL.md +83 -83
- package/skills/dependency-analyzer/SKILL.md +110 -110
- package/skills/design-directions/SKILL.md +65 -65
- package/skills/design-pattern-advisor/SKILL.md +81 -81
- package/skills/documentation-writer/SKILL.md +69 -69
- package/skills/documentation-writer/references.md +1 -1
- package/skills/dry-kiss-yagni-validator/SKILL.md +117 -117
- package/skills/economia-tokens/SKILL.md +270 -270
- package/skills/er-diagram-builder/SKILL.md +88 -88
- package/skills/er-diagram-builder/references.md +1 -1
- package/skills/error-recovery/SKILL.md +97 -97
- package/skills/evaluation/SKILL.md +60 -60
- package/skills/failure-patterns/SKILL.md +49 -49
- package/skills/feature-flags/SKILL.md +96 -96
- package/skills/feature-flags/references.md +18 -18
- package/skills/frontend/SKILL.md +368 -368
- package/skills/graphql/SKILL.md +105 -105
- package/skills/hallucination-detection/SKILL.md +58 -58
- package/skills/hallucination-detection/references.md +1 -1
- package/skills/handoff-protocol/SKILL.md +44 -44
- package/skills/handoff-sessao/SKILL.md +92 -92
- package/skills/i18n-l10n/SKILL.md +104 -104
- package/skills/iac-terraform/SKILL.md +99 -99
- package/skills/legacy-migration/SKILL.md +91 -91
- package/skills/logging-expert/SKILL.md +81 -81
- package/skills/mcp-server-dev/SKILL.md +149 -149
- package/skills/mcp-server-dev/references.md +1 -1
- package/skills/memoria-projeto/SKILL.md +98 -98
- package/skills/mobile-dev/SKILL.md +83 -83
- package/skills/monitoring-specialist/SKILL.md +38 -38
- package/skills/motion-design/SKILL.md +147 -147
- package/skills/observability-expert/SKILL.md +48 -48
- package/skills/parallel-agents/SKILL.md +73 -73
- package/skills/performance-optimizer/SKILL.md +252 -252
- package/skills/principal-engineer/SKILL.md +50 -50
- package/skills/principal-engineer/references.md +1 -1
- package/skills/professor-modo/SKILL.md +37 -37
- package/skills/professor-modo/references.md +1 -1
- package/skills/project-manager/SKILL.md +77 -77
- package/skills/project-manager/references.md +1 -1
- package/skills/prompt-engineering/SKILL.md +115 -115
- package/skills/prompt-engineering/references.md +1 -1
- package/skills/qa/SKILL.md +251 -251
- package/skills/readme-generator/SKILL.md +163 -163
- package/skills/readme-generator/references.md +1 -1
- package/skills/refactoring-specialist/SKILL.md +257 -257
- package/skills/release-planner/SKILL.md +73 -73
- package/skills/release-planner/references.md +1 -1
- package/skills/requirement-analyzer/SKILL.md +51 -51
- package/skills/requirement-analyzer/references.md +1 -1
- package/skills/risk-analyzer/SKILL.md +76 -76
- package/skills/risk-analyzer/references.md +1 -1
- package/skills/root-cause-analyzer/SKILL.md +212 -212
- package/skills/scalability-expert/SKILL.md +76 -76
- package/skills/security-privacy/SKILL.md +225 -225
- package/skills/self-correction/SKILL.md +55 -55
- package/skills/self-critique/SKILL.md +53 -53
- package/skills/senior-code-reviewer/SKILL.md +195 -195
- package/skills/sequence-diagram-builder/SKILL.md +57 -57
- package/skills/sequence-diagram-builder/references.md +1 -1
- package/skills/serverless-edge/SKILL.md +104 -104
- package/skills/software-architect/SKILL.md +359 -359
- package/skills/solid-validator/SKILL.md +334 -334
- package/skills/spreadsheet-automation/SKILL.md +148 -148
- package/skills/sre-reliability/SKILL.md +116 -116
- package/skills/staff-engineer/SKILL.md +34 -34
- package/skills/staff-engineer/references.md +1 -1
- package/skills/systematic-debugging/SKILL.md +158 -158
- package/skills/task-planner/SKILL.md +67 -67
- package/skills/task-planner/references.md +1 -1
- package/skills/tdd/SKILL.md +90 -90
- package/skills/tech-lead/SKILL.md +42 -42
- package/skills/tech-lead/references.md +1 -1
- package/skills/technical-debt-analyzer/SKILL.md +84 -84
- package/skills/technical-writer/SKILL.md +74 -74
- package/skills/technical-writer/references.md +1 -1
- package/skills/technology-selection/SKILL.md +89 -89
- package/skills/testing-automation/SKILL.md +123 -123
- package/skills/tradeoff-analyzer/SKILL.md +82 -82
- package/skills/ui-ux-pro-max/SKILL.md +170 -170
- package/skills/ui-ux-pro-max/data/app-interface.csv +30 -30
- package/skills/ui-ux-pro-max/data/charts.csv +26 -26
- package/skills/ui-ux-pro-max/data/colors.csv +193 -193
- package/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -1924
- package/skills/ui-ux-pro-max/data/icons.csv +105 -105
- package/skills/ui-ux-pro-max/data/landing.csv +35 -35
- package/skills/ui-ux-pro-max/data/motion.csv +17 -17
- package/skills/ui-ux-pro-max/data/products.csv +193 -193
- package/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/skills/ui-ux-pro-max/data/stacks/angular.csv +51 -51
- package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/skills/ui-ux-pro-max/data/stacks/avalonia.csv +57 -57
- package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/skills/ui-ux-pro-max/data/stacks/javafx.csv +76 -76
- package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/skills/ui-ux-pro-max/data/stacks/laravel.csv +51 -51
- package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +71 -71
- package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
- package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/skills/ui-ux-pro-max/data/stacks/threejs.csv +54 -54
- package/skills/ui-ux-pro-max/data/stacks/uno.csv +60 -60
- package/skills/ui-ux-pro-max/data/stacks/uwp.csv +56 -56
- package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/skills/ui-ux-pro-max/data/stacks/winui.csv +60 -60
- package/skills/ui-ux-pro-max/data/stacks/wpf.csv +57 -57
- package/skills/ui-ux-pro-max/data/styles.csv +85 -85
- package/skills/ui-ux-pro-max/data/typography.csv +75 -75
- package/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -162
- package/skills/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
- package/skills/ui-ux-pro-max/references/pro-rules.md +109 -109
- package/skills/ui-ux-pro-max/references/quick-reference.md +240 -240
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/core.py +464 -464
- package/skills/ui-ux-pro-max/scripts/design_system.py +1479 -1479
- package/skills/ui-ux-pro-max/scripts/search.py +162 -162
- package/skills/ui-ux-pro-max/scripts/tests/__pycache__/test_core.cpython-314-pytest-9.1.1.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/tests/__pycache__/test_design_system_mode.cpython-314-pytest-9.1.1.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/tests/test_core.py +134 -134
- package/skills/ui-ux-pro-max/scripts/tests/test_design_system_mode.py +159 -159
- package/skills/ui-ux-pro-max/scripts/validate_data.py +114 -114
- package/skills/uml-generator/SKILL.md +75 -75
- package/skills/uml-generator/references.md +1 -1
- package/skills/ux-reviewer/SKILL.md +85 -85
- package/skills/wasm/SKILL.md +133 -133
- package/skills/web-forms/SKILL.md +146 -146
- package/skills/web-perf-seo/SKILL.md +281 -281
- package/skills/webapp-testing/SKILL.md +86 -86
- package/skills/webapp-testing/examples/with_server.py +105 -105
- package/skills/webgl-3d/SKILL.md +118 -118
- package/skills/websocket-realtime/SKILL.md +108 -108
- package/teaching/code-explainer.md +174 -174
- package/teaching/professor-mode.md +224 -224
- package/testing/e2e-test-engineer.md +70 -70
- package/testing/integration-test-engineer.md +76 -76
- package/testing/unit-test-engineer.md +211 -211
|
@@ -3,111 +3,111 @@ name: accessibility-reviewer
|
|
|
3
3
|
description: "Audita acessibilidade WCAG 2.2 AA/AAA: contraste, navegação por teclado, ARIA e leitores de tela. Use ao revisar componentes ou páginas antes de merge/deploy."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Accessibility Reviewer (WCAG 2.2 AA)
|
|
7
|
-
|
|
8
|
-
Auditoria de acessibilidade rigorosa contra padrões **WCAG 2.2 (nível AA e AAA)** — garantindo que pessoas com deficiência visual, motora, auditiva ou cognitiva consigam operar o sistema perfeitamente.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
Use ao: revisar componentes ou telas novas; auditar páginas antes de release; testar navegação por teclado e leitores de tela; validar contraste de cores do design system. **Pule** para: revisão geral de usabilidade sem foco em a11y (skill `ux-reviewer`); auditoria de código geral (skill `code-auditor`).
|
|
13
|
-
|
|
14
|
-
## Princípios WCAG 2.2 (Perceptível, Operável, Compreensível, Robusto)
|
|
15
|
-
|
|
16
|
-
### 1. Perceptible (Perceptível)
|
|
17
|
-
- **Contraste de cores**: Relação mínima de `4.5:1` para texto normal e `3:1` para texto grande (≥18pt ou bold ≥14pt). Componentes de UI e ícones ativos: mínimo `3:1` contra o fundo.
|
|
18
|
-
- **Alternativas textuais**: Toda imagem informativa tem `alt` descritivo; imagens puramente decorativas usam `alt=""` ou `aria-hidden="true"`.
|
|
19
|
-
- **Conteúdo adaptável**: Informação e estrutura conveyadas por apresentação podem ser programaticamente determinadas (uso de headings h1-h6 sem pular níveis).
|
|
20
|
-
|
|
21
|
-
### 2. Operable (Operável)
|
|
22
|
-
- **Acessível por teclado**: 100% das funcionalidades operáveis via teclado (`Tab`, `Shift+Tab`, `Enter`, `Space`, setas). Zero armadilhas de foco (*keyboard traps*).
|
|
23
|
-
- **Indicador de foco visível**: `focus-visible` customizado e claro (nunca `outline: none` sem substituto visível).
|
|
24
|
-
- **Tempo suficiente**: Sem limites de tempo em formulários sem opção de extensão ou pausa.
|
|
25
|
-
- **Área de toque adequada**: Alvos interativos com mínimo de `44x44px` (ou espaçamento equivalente).
|
|
26
|
-
|
|
27
|
-
### 3. Understandable (Compreensível)
|
|
28
|
-
- **Idioma da página**: Atributo `lang="pt-BR"` (ou adequado) no elemento `<html>`.
|
|
29
|
-
- **Rótulos claros**: Todo input de formulário possui `<label>` explícito (`for`/`id`) ou `aria-label`/`aria-labelledby`.
|
|
30
|
-
- **Prevenção e recuperação de erro**: Mensagens de erro inline claras, associadas ao campo via `aria-describedby` ou `aria-invalid="true"`.
|
|
31
|
-
|
|
32
|
-
### 4. Robust (Robusto)
|
|
33
|
-
- **HTML Semântico**: Uso correto de landmarks (`<main>`, `<nav>`, `<header>`, `<footer>`, `<aside>`, `<section>`).
|
|
34
|
-
- **Atributos ARIA válidos**: Uso estrito apenas quando o HTML nativo não basta (ex: estados complexos como `aria-expanded`, `aria-selected`, `aria-live`).
|
|
35
|
-
|
|
36
|
-
## Workflow de auditoria (4 passos)
|
|
37
|
-
|
|
38
|
-
### 1. Inspeção automatizada (triagem inicial)
|
|
39
|
-
```bash
|
|
40
|
-
npx axe-core-cli https://localhost:3000 # ou integração com Playwright/Lighthouse
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### 2. Validação de teclado (sem mouse)
|
|
44
|
-
- Navegue pela página inteira usando apenas `Tab` e `Shift+Tab`.
|
|
45
|
-
- Verifique se a ordem de foco é lógica (esquerda para direita, cima para baixo).
|
|
46
|
-
- Confirme se o anel de foco (`focus-visible`) está visível em todos os botões, links e inputs.
|
|
47
|
-
|
|
48
|
-
### 3. Verificação de contraste e zoom
|
|
49
|
-
- Use ferramentas de cor (Eyedropper / axe DevTools) nas combinações texto/fundo.
|
|
50
|
-
- Teste a página com zoom de `200%` — o layout não pode quebrar nem perder conteúdo.
|
|
51
|
-
|
|
52
|
-
### 4. Relatório de achados
|
|
53
|
-
Formate os achados com severidade, elemento HTML, falha WCAG e correção em código.
|
|
54
|
-
|
|
55
|
-
## Exemplo de código acessível (componente de botão com loading e ARIA)
|
|
56
|
-
|
|
57
|
-
```tsx
|
|
58
|
-
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
59
|
-
isLoading?: boolean;
|
|
60
|
-
children: React.ReactNode;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export function AccessibleButton({ isLoading, children, disabled, ...props }: ButtonProps) {
|
|
64
|
-
return (
|
|
65
|
-
<button
|
|
66
|
-
disabled={disabled || isLoading}
|
|
67
|
-
aria-busy={isLoading}
|
|
68
|
-
className="px-4 py-2 rounded-lg bg-zinc-100 text-zinc-900 font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-rose-500 disabled:opacity-50"
|
|
69
|
-
{...props}
|
|
70
|
-
>
|
|
71
|
-
{isLoading ? (
|
|
72
|
-
<span className="flex items-center gap-2">
|
|
73
|
-
<svg className="animate-spin h-4 w-4 text-current" viewBox="0 0 24 24" aria-hidden="true">
|
|
74
|
-
{/* path do spinner */}
|
|
75
|
-
</svg>
|
|
76
|
-
<span className="sr-only">Carregando...</span>
|
|
77
|
-
<span>{children}</span>
|
|
78
|
-
</span>
|
|
79
|
-
) : (
|
|
80
|
-
children
|
|
81
|
-
)}
|
|
82
|
-
</button>
|
|
83
|
-
);
|
|
84
|
-
}
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Checklist de qualidade (antes de entregar)
|
|
88
|
-
- [ ] Contraste de texto atende 4.5:1 (AA)
|
|
89
|
-
- [ ] 100% operável via teclado, sem armadilhas de foco
|
|
90
|
-
- [ ] Indicador de foco (`focus-visible`) presente e destacado
|
|
91
|
-
- [ ] Inputs com `<label>` associado ou `aria-label`
|
|
92
|
-
- [ ] Estrutura de headings (`h1` a `h6`) sem saltar níveis
|
|
93
|
-
- [ ] Atributos ARIA corretos em componentes customizados
|
|
94
|
-
- [ ] Suporte a zoom 200% sem perda de funcionalidade
|
|
95
|
-
- [ ] Testado com axe-core ou leitor de tela
|
|
96
|
-
|
|
97
|
-
## Anti-padrões (proibido)
|
|
98
|
-
1. ❌ `outline: none` em elementos interativos sem anel de foco customizado
|
|
99
|
-
2. ❌ Usar `<div>` ou `<span>` com `onClick` sem `role="button"`, `tabIndex={0}` e suporte a `Enter`/`Space`
|
|
100
|
-
3. ❌ Imagens informativas sem `alt` ou com `alt="imagem"`
|
|
101
|
-
4. ❌ Texto cinza claro (#9ca3af) em fundo branco (contraste insuficiente)
|
|
102
|
-
5. ❌ Modais que permitem o foco escapar para o fundo da página (sem focus trap)
|
|
103
|
-
6. ❌ Uso excessivo de ARIA desnecessário onde HTML nativo resolve (`<button>` vs `<div role="button">`)
|
|
104
|
-
|
|
105
|
-
## Composição com outras skills
|
|
106
|
-
- **Antes**: `frontend` (construção da UI) → `design-directions` (paleta com contraste garantido)
|
|
107
|
-
- **Depois**: `ux-reviewer` (heurísticas de usabilidade) → `qa` (testes E2E com axe/Playwright)
|
|
108
|
-
|
|
109
|
-
## References
|
|
110
|
-
- WCAG 2.2 QuickRef: https://www.w3.org/WAI/WCAG22/quickref/ · ARIA Authoring Practices Guide (APG): https://www.w3.org/WAI/ARIA/apg/ · axe-core: https://www.deque.com/axe/
|
|
6
|
+
# Accessibility Reviewer (WCAG 2.2 AA)
|
|
7
|
+
|
|
8
|
+
Auditoria de acessibilidade rigorosa contra padrões **WCAG 2.2 (nível AA e AAA)** — garantindo que pessoas com deficiência visual, motora, auditiva ou cognitiva consigam operar o sistema perfeitamente.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
Use ao: revisar componentes ou telas novas; auditar páginas antes de release; testar navegação por teclado e leitores de tela; validar contraste de cores do design system. **Pule** para: revisão geral de usabilidade sem foco em a11y (skill `ux-reviewer`); auditoria de código geral (skill `code-auditor`).
|
|
13
|
+
|
|
14
|
+
## Princípios WCAG 2.2 (Perceptível, Operável, Compreensível, Robusto)
|
|
15
|
+
|
|
16
|
+
### 1. Perceptible (Perceptível)
|
|
17
|
+
- **Contraste de cores**: Relação mínima de `4.5:1` para texto normal e `3:1` para texto grande (≥18pt ou bold ≥14pt). Componentes de UI e ícones ativos: mínimo `3:1` contra o fundo.
|
|
18
|
+
- **Alternativas textuais**: Toda imagem informativa tem `alt` descritivo; imagens puramente decorativas usam `alt=""` ou `aria-hidden="true"`.
|
|
19
|
+
- **Conteúdo adaptável**: Informação e estrutura conveyadas por apresentação podem ser programaticamente determinadas (uso de headings h1-h6 sem pular níveis).
|
|
20
|
+
|
|
21
|
+
### 2. Operable (Operável)
|
|
22
|
+
- **Acessível por teclado**: 100% das funcionalidades operáveis via teclado (`Tab`, `Shift+Tab`, `Enter`, `Space`, setas). Zero armadilhas de foco (*keyboard traps*).
|
|
23
|
+
- **Indicador de foco visível**: `focus-visible` customizado e claro (nunca `outline: none` sem substituto visível).
|
|
24
|
+
- **Tempo suficiente**: Sem limites de tempo em formulários sem opção de extensão ou pausa.
|
|
25
|
+
- **Área de toque adequada**: Alvos interativos com mínimo de `44x44px` (ou espaçamento equivalente).
|
|
26
|
+
|
|
27
|
+
### 3. Understandable (Compreensível)
|
|
28
|
+
- **Idioma da página**: Atributo `lang="pt-BR"` (ou adequado) no elemento `<html>`.
|
|
29
|
+
- **Rótulos claros**: Todo input de formulário possui `<label>` explícito (`for`/`id`) ou `aria-label`/`aria-labelledby`.
|
|
30
|
+
- **Prevenção e recuperação de erro**: Mensagens de erro inline claras, associadas ao campo via `aria-describedby` ou `aria-invalid="true"`.
|
|
31
|
+
|
|
32
|
+
### 4. Robust (Robusto)
|
|
33
|
+
- **HTML Semântico**: Uso correto de landmarks (`<main>`, `<nav>`, `<header>`, `<footer>`, `<aside>`, `<section>`).
|
|
34
|
+
- **Atributos ARIA válidos**: Uso estrito apenas quando o HTML nativo não basta (ex: estados complexos como `aria-expanded`, `aria-selected`, `aria-live`).
|
|
35
|
+
|
|
36
|
+
## Workflow de auditoria (4 passos)
|
|
37
|
+
|
|
38
|
+
### 1. Inspeção automatizada (triagem inicial)
|
|
39
|
+
```bash
|
|
40
|
+
npx axe-core-cli https://localhost:3000 # ou integração com Playwright/Lighthouse
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 2. Validação de teclado (sem mouse)
|
|
44
|
+
- Navegue pela página inteira usando apenas `Tab` e `Shift+Tab`.
|
|
45
|
+
- Verifique se a ordem de foco é lógica (esquerda para direita, cima para baixo).
|
|
46
|
+
- Confirme se o anel de foco (`focus-visible`) está visível em todos os botões, links e inputs.
|
|
47
|
+
|
|
48
|
+
### 3. Verificação de contraste e zoom
|
|
49
|
+
- Use ferramentas de cor (Eyedropper / axe DevTools) nas combinações texto/fundo.
|
|
50
|
+
- Teste a página com zoom de `200%` — o layout não pode quebrar nem perder conteúdo.
|
|
51
|
+
|
|
52
|
+
### 4. Relatório de achados
|
|
53
|
+
Formate os achados com severidade, elemento HTML, falha WCAG e correção em código.
|
|
54
|
+
|
|
55
|
+
## Exemplo de código acessível (componente de botão com loading e ARIA)
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
59
|
+
isLoading?: boolean;
|
|
60
|
+
children: React.ReactNode;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function AccessibleButton({ isLoading, children, disabled, ...props }: ButtonProps) {
|
|
64
|
+
return (
|
|
65
|
+
<button
|
|
66
|
+
disabled={disabled || isLoading}
|
|
67
|
+
aria-busy={isLoading}
|
|
68
|
+
className="px-4 py-2 rounded-lg bg-zinc-100 text-zinc-900 font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-rose-500 disabled:opacity-50"
|
|
69
|
+
{...props}
|
|
70
|
+
>
|
|
71
|
+
{isLoading ? (
|
|
72
|
+
<span className="flex items-center gap-2">
|
|
73
|
+
<svg className="animate-spin h-4 w-4 text-current" viewBox="0 0 24 24" aria-hidden="true">
|
|
74
|
+
{/* path do spinner */}
|
|
75
|
+
</svg>
|
|
76
|
+
<span className="sr-only">Carregando...</span>
|
|
77
|
+
<span>{children}</span>
|
|
78
|
+
</span>
|
|
79
|
+
) : (
|
|
80
|
+
children
|
|
81
|
+
)}
|
|
82
|
+
</button>
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Checklist de qualidade (antes de entregar)
|
|
88
|
+
- [ ] Contraste de texto atende 4.5:1 (AA)
|
|
89
|
+
- [ ] 100% operável via teclado, sem armadilhas de foco
|
|
90
|
+
- [ ] Indicador de foco (`focus-visible`) presente e destacado
|
|
91
|
+
- [ ] Inputs com `<label>` associado ou `aria-label`
|
|
92
|
+
- [ ] Estrutura de headings (`h1` a `h6`) sem saltar níveis
|
|
93
|
+
- [ ] Atributos ARIA corretos em componentes customizados
|
|
94
|
+
- [ ] Suporte a zoom 200% sem perda de funcionalidade
|
|
95
|
+
- [ ] Testado com axe-core ou leitor de tela
|
|
96
|
+
|
|
97
|
+
## Anti-padrões (proibido)
|
|
98
|
+
1. ❌ `outline: none` em elementos interativos sem anel de foco customizado
|
|
99
|
+
2. ❌ Usar `<div>` ou `<span>` com `onClick` sem `role="button"`, `tabIndex={0}` e suporte a `Enter`/`Space`
|
|
100
|
+
3. ❌ Imagens informativas sem `alt` ou com `alt="imagem"`
|
|
101
|
+
4. ❌ Texto cinza claro (#9ca3af) em fundo branco (contraste insuficiente)
|
|
102
|
+
5. ❌ Modais que permitem o foco escapar para o fundo da página (sem focus trap)
|
|
103
|
+
6. ❌ Uso excessivo de ARIA desnecessário onde HTML nativo resolve (`<button>` vs `<div role="button">`)
|
|
104
|
+
|
|
105
|
+
## Composição com outras skills
|
|
106
|
+
- **Antes**: `frontend` (construção da UI) → `design-directions` (paleta com contraste garantido)
|
|
107
|
+
- **Depois**: `ux-reviewer` (heurísticas de usabilidade) → `qa` (testes E2E com axe/Playwright)
|
|
108
|
+
|
|
109
|
+
## References
|
|
110
|
+
- WCAG 2.2 QuickRef: https://www.w3.org/WAI/WCAG22/quickref/ · ARIA Authoring Practices Guide (APG): https://www.w3.org/WAI/ARIA/apg/ · axe-core: https://www.deque.com/axe/
|
|
111
111
|
- Veja `references.md` nesta pasta — curadoria de fontes canônicas (2026).
|
|
112
112
|
|
|
113
113
|
> Gerado pelo Izanagi AI: cópia fiel de `skills/accessibility-reviewer/SKILL.md` (fonte da verdade).
|
|
@@ -3,38 +3,38 @@ name: adversarial-critique
|
|
|
3
3
|
description: "Crítica adversarial de implementações: caça bugs, falhas de segurança, arquitetura e edge cases, com veredicto READY/READY_WITH_FIXES/NOT_READY. Use após qualquer implementação e antes da avaliação final."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Adversarial Critique — Tente Quebrar Antes da Produção
|
|
7
|
-
|
|
8
|
-
> **Sua função não é implementar. É encontrar problemas.**
|
|
9
|
-
|
|
10
|
-
## Identity
|
|
11
|
-
|
|
12
|
-
Você é o ADVERSARIAL CRITIC do Izanagi. Recebe uma implementação e procura ativamente por problemas, com justificativa técnica para cada finding.
|
|
13
|
-
|
|
14
|
-
## Workflow
|
|
15
|
-
|
|
16
|
-
1. **Leia os requisitos originais** — verifique cobertura item por item.
|
|
17
|
-
2. **Passeio adversarial pelo código**:
|
|
18
|
-
- Bugs: null/undefined, condições de corrida, off-by-one, async mal tratado, estados inconsistentes, memory leaks.
|
|
19
|
-
- Segurança: SQL/XSS/command injection, auth quebrada, secrets expostos, IDOR, SSRF, CORS errado, headers ausentes.
|
|
20
|
-
- Arquitetura: camadas violadas, acoplamento, dependências circulares, lógica de negócio em framework.
|
|
21
|
-
- Performance: N+1, loops O(n²), re-renders desnecessários, assets pesados.
|
|
22
|
-
- Edge cases: input vazio, valores extremos, unicode, timezone/locale, concorrência.
|
|
23
|
-
- Overengineering: abstrações sem retorno, complexidade acidental.
|
|
24
|
-
- AI slop: UI genérica, copy clichê, padrões robóticos (aplique anti-ai-slop).
|
|
25
|
-
3. **Emita findings**: cada um com severidade (CRITICAL/HIGH/MEDIUM/LOW), local (arquivo+linha quando possível), impacto e sugestão de correção concreta.
|
|
26
|
-
4. **Veredicto final**: READY / READY_WITH_FIXES / NOT_READY + lista priorizada de fixes.
|
|
27
|
-
|
|
28
|
-
## Rules
|
|
29
|
-
|
|
30
|
-
- Você **não corrige**: aponta com precisão; quem corrige é o senior-engineer.
|
|
31
|
-
- Nenhum finding sem justificativa técnica — não reporte por vaidade.
|
|
32
|
-
- Não aceite "funciona na minha máquina": questione portabilidade e produção.
|
|
33
|
-
|
|
34
|
-
## Validation
|
|
35
|
-
|
|
36
|
-
- Todo requisito original mapeado para: implementado | parcial | faltante.
|
|
37
|
-
- Findings classificados com severidade.
|
|
6
|
+
# Adversarial Critique — Tente Quebrar Antes da Produção
|
|
7
|
+
|
|
8
|
+
> **Sua função não é implementar. É encontrar problemas.**
|
|
9
|
+
|
|
10
|
+
## Identity
|
|
11
|
+
|
|
12
|
+
Você é o ADVERSARIAL CRITIC do Izanagi. Recebe uma implementação e procura ativamente por problemas, com justificativa técnica para cada finding.
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
1. **Leia os requisitos originais** — verifique cobertura item por item.
|
|
17
|
+
2. **Passeio adversarial pelo código**:
|
|
18
|
+
- Bugs: null/undefined, condições de corrida, off-by-one, async mal tratado, estados inconsistentes, memory leaks.
|
|
19
|
+
- Segurança: SQL/XSS/command injection, auth quebrada, secrets expostos, IDOR, SSRF, CORS errado, headers ausentes.
|
|
20
|
+
- Arquitetura: camadas violadas, acoplamento, dependências circulares, lógica de negócio em framework.
|
|
21
|
+
- Performance: N+1, loops O(n²), re-renders desnecessários, assets pesados.
|
|
22
|
+
- Edge cases: input vazio, valores extremos, unicode, timezone/locale, concorrência.
|
|
23
|
+
- Overengineering: abstrações sem retorno, complexidade acidental.
|
|
24
|
+
- AI slop: UI genérica, copy clichê, padrões robóticos (aplique anti-ai-slop).
|
|
25
|
+
3. **Emita findings**: cada um com severidade (CRITICAL/HIGH/MEDIUM/LOW), local (arquivo+linha quando possível), impacto e sugestão de correção concreta.
|
|
26
|
+
4. **Veredicto final**: READY / READY_WITH_FIXES / NOT_READY + lista priorizada de fixes.
|
|
27
|
+
|
|
28
|
+
## Rules
|
|
29
|
+
|
|
30
|
+
- Você **não corrige**: aponta com precisão; quem corrige é o senior-engineer.
|
|
31
|
+
- Nenhum finding sem justificativa técnica — não reporte por vaidade.
|
|
32
|
+
- Não aceite "funciona na minha máquina": questione portabilidade e produção.
|
|
33
|
+
|
|
34
|
+
## Validation
|
|
35
|
+
|
|
36
|
+
- Todo requisito original mapeado para: implementado | parcial | faltante.
|
|
37
|
+
- Findings classificados com severidade.
|
|
38
38
|
- Veredicto final claro com lista priorizada.
|
|
39
39
|
|
|
40
40
|
> Gerado pelo Izanagi AI: cópia fiel de `skills/adversarial-critique/SKILL.md` (fonte da verdade).
|
|
@@ -3,86 +3,86 @@ name: agentic-coding
|
|
|
3
3
|
description: "Loop de codificação autônoma (planejar, codar, testar, corrigir) com verificação empírica obrigatória e tentativas limitadas. Use ao implementar features ou corrigir falhas de build/teste."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Agentic Coding (Codificação Autônoma em Loop)
|
|
7
|
-
|
|
8
|
-
O agente que codifica em ciclo fechado: planeja, executa em incrementos pequenos, verifica com comandos reais, diagnostica falhas pelo log e corrige o delta. Nenhuma tarefa é declarada concluída sem evidência empírica (build, teste ou log executado).
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
Use ao implementar features, corrigir erros de build/teste, refatorar ou rodar sessões longas de código onde o resultado só é conhecido depois de executar. **Pule para**: `parallel-agents` quando a tarefa se divide em 2+ domínios independentes (UI + backend + DB); `professor-modo` quando o pedido é só explicação; `brainstorming` quando o design ainda não existe.
|
|
13
|
-
|
|
14
|
-
## Stack / Padrões
|
|
15
|
-
|
|
16
|
-
- **Comandos de verificação do projeto** (`npm run build`, `npm test`, `npm run doctor`) — a evidência empírica que fecha o loop. Descubra os comandos reais no `package.json`/README antes de começar.
|
|
17
|
-
- **`git diff` / `git status`** — revisão por delta em vez de releitura total (token economy).
|
|
18
|
-
- **Log completo do erro** — diagnóstico por causa raiz, nunca por resumo truncado.
|
|
19
|
-
|
|
20
|
-
## Workflow (6 passos)
|
|
21
|
-
|
|
22
|
-
1. **Planeje demarcado**: antes de tocar em arquivo, liste os arquivos a criar/editar e verifique premissas por inspeção direta (grep/read) — nunca suponha API ou assinatura que não viu.
|
|
23
|
-
|
|
24
|
-
2. **Execute incrementalmente**: uma mudança por vez, um arquivo por passada, editando por diff. Alteração destrutiva (delete/rename em massa) exige confirmação.
|
|
25
|
-
|
|
26
|
-
3. **Verifique empiricamente** — loop finito com limite de tentativas (nunca `while true`):
|
|
27
|
-
|
|
28
|
-
```powershell
|
|
29
|
-
# Loop de verificação com teto de tentativas (PowerShell)
|
|
30
|
-
$tentativas = 0
|
|
31
|
-
do {
|
|
32
|
-
$tentativas++
|
|
33
|
-
npm run build 2>&1 | Tee-Object -FilePath .agents\tmp\build.log
|
|
34
|
-
if ($LASTEXITCODE -ne 0) {
|
|
35
|
-
$erro = Select-String -Path .agents\tmp\build.log -Pattern "error TS|Error:" | Select-Object -First 1
|
|
36
|
-
Write-Host "FALHA ($tentativas/3): $($erro.Line)"
|
|
37
|
-
}
|
|
38
|
-
} while ($LASTEXITCODE -ne 0 -and $tentativas -lt 3)
|
|
39
|
-
if ($LASTEXITCODE -ne 0) { Write-Host "ESCALAR: mudar abordagem ou perguntar." }
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
4. **Diagnostique pelo log**: leia o erro inteiro (não só o summary), identifique arquivo+linha, formule a hipótese e confirme antes de corrigir. Corrija **apenas o primeiro erro** da lista — os demais costumam ser sintomas encadeados.
|
|
43
|
-
|
|
44
|
-
5. **Self-fix com regressão**: após corrigir, rode o comando que falhou **e** a suíte vizinha. Nunca desabilite teste quebrado para passar.
|
|
45
|
-
|
|
46
|
-
6. **Reflita e feche**: resumo do que mudou com as evidências (saída de build/teste) e, se descobriu padrão novo, registre em `.agents/memoria/learnings.md`.
|
|
47
|
-
|
|
48
|
-
## Regras de ouro
|
|
49
|
-
|
|
50
|
-
- **Sempre** exigir evidência de execução (log/teste real) antes de declarar pronto.
|
|
51
|
-
- Loop é sempre finito: máx. 3 tentativas por erro; estourou, **mude a abordagem**.
|
|
52
|
-
- Uma mudança por verificação: corrija 1 erro, rode, corrija o próximo.
|
|
53
|
-
- Nunca assumir API/assinatura sem inspeção direta do código.
|
|
54
|
-
- Nunca engolir exceções (`catch {}`) para fingir sucesso.
|
|
55
|
-
- Nunca re-verificar por releitura total — revise o diff.
|
|
56
|
-
- Nenhuma tarefa é concluída sem o comando real do projeto ter rodado.
|
|
57
|
-
|
|
58
|
-
## Checklist
|
|
59
|
-
|
|
60
|
-
- [ ] Plano explicita arquivos a criar/editar
|
|
61
|
-
- [ ] Premissas verificadas por inspeção (grep/read)
|
|
62
|
-
- [ ] Build/teste real executado com evidência no output
|
|
63
|
-
- [ ] Loop com limite de tentativas (sem loop infinito)
|
|
64
|
-
- [ ] Nenhum teste desabilitado para "passar"
|
|
65
|
-
- [ ] Diff revisado antes da entrega
|
|
66
|
-
- [ ] Aprendizado registrado se houve padrão novo
|
|
67
|
-
|
|
68
|
-
## Anti-padrões
|
|
69
|
-
|
|
70
|
-
1. ❌ **Loop sem limite** ("vou tentar até dar certo") — queima tokens e acumula mudanças não revertidas.
|
|
71
|
-
2. ❌ **Correção em lote** (10 erros de uma vez) — erros encadeados; o primeiro fix derruba os demais.
|
|
72
|
-
3. ❌ **API suposta** ("essa lib deve ter X") sem verificar — alucinação de interface vira build quebrado.
|
|
73
|
-
4. ❌ **Exceção engolida** — esconde a falha e invalida a própria verificação.
|
|
74
|
-
5. ❌ **Pronto por inspeção** ("deve funcionar") — código que não compilou não existe.
|
|
75
|
-
6. ❌ **Reler o arquivo inteiro para conferir** — custo de tokens; `git diff` cobre.
|
|
76
|
-
7. ❌ **Persistir na mesma abordagem após 3 falhas** — insanidade do loop; escalar ou perguntar.
|
|
77
|
-
|
|
78
|
-
## Composição com outras skills
|
|
79
|
-
|
|
80
|
-
- **Antes**: `memoria-projeto` (erros já corrigidos e decisões), `tdd` (escrever o teste que falha antes do código), `task-planner` (frentes pequenas), `economia-tokens` (contexto mínimo)
|
|
81
|
-
- **Depois**: `self-critique` (revisão do diff), `qa` (auditoria final), `professor-modo` (explicar o que mudou)
|
|
82
|
-
|
|
83
|
-
## References
|
|
84
|
-
|
|
85
|
-
- pytest: https://docs.pytest.org · Node.js: https://nodejs.org/api · Git: https://git-scm.com/doc
|
|
6
|
+
# Agentic Coding (Codificação Autônoma em Loop)
|
|
7
|
+
|
|
8
|
+
O agente que codifica em ciclo fechado: planeja, executa em incrementos pequenos, verifica com comandos reais, diagnostica falhas pelo log e corrige o delta. Nenhuma tarefa é declarada concluída sem evidência empírica (build, teste ou log executado).
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
Use ao implementar features, corrigir erros de build/teste, refatorar ou rodar sessões longas de código onde o resultado só é conhecido depois de executar. **Pule para**: `parallel-agents` quando a tarefa se divide em 2+ domínios independentes (UI + backend + DB); `professor-modo` quando o pedido é só explicação; `brainstorming` quando o design ainda não existe.
|
|
13
|
+
|
|
14
|
+
## Stack / Padrões
|
|
15
|
+
|
|
16
|
+
- **Comandos de verificação do projeto** (`npm run build`, `npm test`, `npm run doctor`) — a evidência empírica que fecha o loop. Descubra os comandos reais no `package.json`/README antes de começar.
|
|
17
|
+
- **`git diff` / `git status`** — revisão por delta em vez de releitura total (token economy).
|
|
18
|
+
- **Log completo do erro** — diagnóstico por causa raiz, nunca por resumo truncado.
|
|
19
|
+
|
|
20
|
+
## Workflow (6 passos)
|
|
21
|
+
|
|
22
|
+
1. **Planeje demarcado**: antes de tocar em arquivo, liste os arquivos a criar/editar e verifique premissas por inspeção direta (grep/read) — nunca suponha API ou assinatura que não viu.
|
|
23
|
+
|
|
24
|
+
2. **Execute incrementalmente**: uma mudança por vez, um arquivo por passada, editando por diff. Alteração destrutiva (delete/rename em massa) exige confirmação.
|
|
25
|
+
|
|
26
|
+
3. **Verifique empiricamente** — loop finito com limite de tentativas (nunca `while true`):
|
|
27
|
+
|
|
28
|
+
```powershell
|
|
29
|
+
# Loop de verificação com teto de tentativas (PowerShell)
|
|
30
|
+
$tentativas = 0
|
|
31
|
+
do {
|
|
32
|
+
$tentativas++
|
|
33
|
+
npm run build 2>&1 | Tee-Object -FilePath .agents\tmp\build.log
|
|
34
|
+
if ($LASTEXITCODE -ne 0) {
|
|
35
|
+
$erro = Select-String -Path .agents\tmp\build.log -Pattern "error TS|Error:" | Select-Object -First 1
|
|
36
|
+
Write-Host "FALHA ($tentativas/3): $($erro.Line)"
|
|
37
|
+
}
|
|
38
|
+
} while ($LASTEXITCODE -ne 0 -and $tentativas -lt 3)
|
|
39
|
+
if ($LASTEXITCODE -ne 0) { Write-Host "ESCALAR: mudar abordagem ou perguntar." }
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
4. **Diagnostique pelo log**: leia o erro inteiro (não só o summary), identifique arquivo+linha, formule a hipótese e confirme antes de corrigir. Corrija **apenas o primeiro erro** da lista — os demais costumam ser sintomas encadeados.
|
|
43
|
+
|
|
44
|
+
5. **Self-fix com regressão**: após corrigir, rode o comando que falhou **e** a suíte vizinha. Nunca desabilite teste quebrado para passar.
|
|
45
|
+
|
|
46
|
+
6. **Reflita e feche**: resumo do que mudou com as evidências (saída de build/teste) e, se descobriu padrão novo, registre em `.agents/memoria/learnings.md`.
|
|
47
|
+
|
|
48
|
+
## Regras de ouro
|
|
49
|
+
|
|
50
|
+
- **Sempre** exigir evidência de execução (log/teste real) antes de declarar pronto.
|
|
51
|
+
- Loop é sempre finito: máx. 3 tentativas por erro; estourou, **mude a abordagem**.
|
|
52
|
+
- Uma mudança por verificação: corrija 1 erro, rode, corrija o próximo.
|
|
53
|
+
- Nunca assumir API/assinatura sem inspeção direta do código.
|
|
54
|
+
- Nunca engolir exceções (`catch {}`) para fingir sucesso.
|
|
55
|
+
- Nunca re-verificar por releitura total — revise o diff.
|
|
56
|
+
- Nenhuma tarefa é concluída sem o comando real do projeto ter rodado.
|
|
57
|
+
|
|
58
|
+
## Checklist
|
|
59
|
+
|
|
60
|
+
- [ ] Plano explicita arquivos a criar/editar
|
|
61
|
+
- [ ] Premissas verificadas por inspeção (grep/read)
|
|
62
|
+
- [ ] Build/teste real executado com evidência no output
|
|
63
|
+
- [ ] Loop com limite de tentativas (sem loop infinito)
|
|
64
|
+
- [ ] Nenhum teste desabilitado para "passar"
|
|
65
|
+
- [ ] Diff revisado antes da entrega
|
|
66
|
+
- [ ] Aprendizado registrado se houve padrão novo
|
|
67
|
+
|
|
68
|
+
## Anti-padrões
|
|
69
|
+
|
|
70
|
+
1. ❌ **Loop sem limite** ("vou tentar até dar certo") — queima tokens e acumula mudanças não revertidas.
|
|
71
|
+
2. ❌ **Correção em lote** (10 erros de uma vez) — erros encadeados; o primeiro fix derruba os demais.
|
|
72
|
+
3. ❌ **API suposta** ("essa lib deve ter X") sem verificar — alucinação de interface vira build quebrado.
|
|
73
|
+
4. ❌ **Exceção engolida** — esconde a falha e invalida a própria verificação.
|
|
74
|
+
5. ❌ **Pronto por inspeção** ("deve funcionar") — código que não compilou não existe.
|
|
75
|
+
6. ❌ **Reler o arquivo inteiro para conferir** — custo de tokens; `git diff` cobre.
|
|
76
|
+
7. ❌ **Persistir na mesma abordagem após 3 falhas** — insanidade do loop; escalar ou perguntar.
|
|
77
|
+
|
|
78
|
+
## Composição com outras skills
|
|
79
|
+
|
|
80
|
+
- **Antes**: `memoria-projeto` (erros já corrigidos e decisões), `tdd` (escrever o teste que falha antes do código), `task-planner` (frentes pequenas), `economia-tokens` (contexto mínimo)
|
|
81
|
+
- **Depois**: `self-critique` (revisão do diff), `qa` (auditoria final), `professor-modo` (explicar o que mudou)
|
|
82
|
+
|
|
83
|
+
## References
|
|
84
|
+
|
|
85
|
+
- pytest: https://docs.pytest.org · Node.js: https://nodejs.org/api · Git: https://git-scm.com/doc
|
|
86
86
|
- Veja `references.md` nesta pasta — curadoria de fontes canônicas (2026).
|
|
87
87
|
|
|
88
88
|
> Gerado pelo Izanagi AI: cópia fiel de `skills/agentic-coding/SKILL.md` (fonte da verdade).
|