@howlil/ez-agents 3.5.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +735 -537
- package/agents/ez-architect-agent.md +267 -0
- package/agents/ez-backend-agent.md +303 -0
- package/agents/ez-chief-strategist.md +271 -0
- package/agents/ez-codebase-mapper.md +770 -770
- package/agents/ez-context-manager.md +319 -0
- package/agents/ez-debugger.md +1255 -1255
- package/agents/ez-design-expert.md +347 -0
- package/agents/ez-devops-agent.md +331 -0
- package/agents/ez-executor.md +487 -487
- package/agents/ez-frontend-agent.md +322 -0
- package/agents/ez-phase-researcher.md +553 -553
- package/agents/ez-planner.md +1307 -1307
- package/agents/ez-product-engineer.md +435 -0
- package/agents/ez-project-researcher.md +629 -629
- package/agents/ez-qa-agent.md +320 -0
- package/agents/ez-release-agent.md +333 -333
- package/agents/ez-requirements-agent.md +377 -377
- package/agents/ez-roadmapper.md +650 -650
- package/agents/ez-technical-writer.md +551 -0
- package/agents/ez-ux-expert.md +393 -0
- package/agents/ez-verifier.md +579 -579
- package/bin/guards/autonomy-guard.cjs +346 -0
- package/bin/guards/context-budget-guard.cjs +278 -0
- package/bin/guards/hallucination-guard.cjs +380 -0
- package/bin/guards/hidden-state-guard.cjs +182 -0
- package/bin/guards/team-overhead-guard.cjs +266 -0
- package/bin/guards/tool-sprawl-guard.cjs +271 -0
- package/bin/lib/analytics/analytics-collector.cjs +86 -0
- package/bin/lib/analytics/analytics-reporter.cjs +130 -0
- package/bin/lib/analytics/cohort-analyzer.cjs +138 -0
- package/bin/lib/analytics/funnel-analyzer.cjs +147 -0
- package/bin/lib/analytics/nps-tracker.cjs +147 -0
- package/bin/lib/archetype-detector.cjs +289 -0
- package/bin/lib/assistant-adapter.cjs +361 -0
- package/bin/lib/audit-exec.cjs +175 -0
- package/bin/lib/auth.cjs +176 -0
- package/bin/lib/backup-service.cjs +422 -0
- package/bin/lib/bdd-validator.cjs +622 -0
- package/bin/lib/business-flow-mapper.cjs +429 -0
- package/bin/lib/circuit-breaker.cjs +276 -0
- package/bin/lib/code-complexity-analyzer.cjs +360 -0
- package/bin/lib/codebase-analyzer.cjs +241 -0
- package/bin/lib/commands.cjs +691 -0
- package/bin/lib/config.cjs +236 -0
- package/bin/lib/constraint-extractor.cjs +526 -0
- package/bin/lib/content-scanner.cjs +238 -0
- package/bin/lib/context-cache.cjs +154 -0
- package/bin/lib/context-compressor.cjs +102 -0
- package/bin/lib/context-deduplicator.cjs +105 -0
- package/bin/lib/context-errors.cjs +78 -0
- package/bin/lib/context-manager.cjs +338 -0
- package/bin/lib/context-metadata-tracker.cjs +140 -0
- package/bin/lib/context-relevance-scorer.cjs +99 -0
- package/bin/lib/core.cjs +507 -0
- package/bin/lib/cost-alerts.cjs +174 -0
- package/bin/lib/cost-tracker.cjs +275 -0
- package/bin/lib/crash-recovery.cjs +220 -0
- package/bin/lib/dependency-graph.cjs +319 -0
- package/bin/lib/deploy/deploy-audit-log.cjs +76 -0
- package/bin/lib/deploy/deploy-detector.cjs +69 -0
- package/bin/lib/deploy/deploy-env-manager.cjs +109 -0
- package/bin/lib/deploy/deploy-health-check.cjs +88 -0
- package/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
- package/bin/lib/deploy/deploy-rollback.cjs +72 -0
- package/bin/lib/deploy/deploy-runner.cjs +97 -0
- package/bin/lib/deploy/deploy-status.cjs +74 -0
- package/bin/lib/discussion-synthesizer.cjs +439 -0
- package/bin/lib/error-cache.cjs +114 -0
- package/bin/lib/error-registry.cjs +177 -0
- package/bin/lib/file-access.cjs +207 -0
- package/bin/lib/file-lock.cjs +236 -0
- package/bin/lib/finops/budget-enforcer.cjs +126 -0
- package/bin/lib/finops/cost-reporter.cjs +132 -0
- package/bin/lib/finops/finops-analyzer.cjs +112 -0
- package/bin/lib/finops/spot-manager.cjs +118 -0
- package/bin/lib/framework-detector.cjs +396 -0
- package/bin/lib/frontmatter.cjs +313 -0
- package/bin/lib/fs-utils.cjs +153 -0
- package/bin/lib/gate-executor.cjs +272 -0
- package/bin/lib/gates/README.md +374 -0
- package/bin/lib/gates/gate-01-requirement.cjs +303 -0
- package/bin/lib/gates/gate-02-architecture.cjs +555 -0
- package/bin/lib/gates/gate-03-code.cjs +635 -0
- package/bin/lib/gates/gate-04-security.cjs +829 -0
- package/bin/lib/git-errors.cjs +83 -0
- package/bin/lib/git-utils.cjs +321 -0
- package/bin/lib/git-workflow-engine.cjs +1157 -0
- package/bin/lib/health-check.cjs +227 -0
- package/bin/lib/index.cjs +279 -0
- package/bin/lib/init.cjs +725 -0
- package/bin/lib/lock-logger.cjs +194 -0
- package/bin/lib/lock-state.cjs +263 -0
- package/bin/lib/lockfile-validator.cjs +227 -0
- package/bin/lib/log-rotation.cjs +71 -0
- package/bin/lib/logger.cjs +125 -0
- package/bin/lib/memory-compression.cjs +256 -0
- package/bin/lib/milestone.cjs +247 -0
- package/bin/lib/model-provider.cjs +241 -0
- package/bin/lib/package-manager-detector.cjs +203 -0
- package/bin/lib/package-manager-executor.cjs +385 -0
- package/bin/lib/package-manager-service.cjs +216 -0
- package/bin/lib/perf/api-monitor.cjs +88 -0
- package/bin/lib/perf/db-optimizer.cjs +78 -0
- package/bin/lib/perf/frontend-performance.cjs +56 -0
- package/bin/lib/perf/perf-analyzer.cjs +77 -0
- package/bin/lib/perf/perf-baseline.cjs +102 -0
- package/bin/lib/perf/perf-reporter.cjs +117 -0
- package/bin/lib/perf/regression-detector.cjs +92 -0
- package/bin/lib/phase.cjs +963 -0
- package/bin/lib/planning-write.cjs +123 -0
- package/bin/lib/project-reporter.cjs +565 -0
- package/bin/lib/quality-gate.cjs +332 -0
- package/bin/lib/quality-metrics.cjs +324 -0
- package/bin/lib/recovery-manager.cjs +98 -0
- package/bin/lib/release-validator.cjs +617 -0
- package/bin/lib/retry.cjs +119 -0
- package/bin/lib/roadmap.cjs +309 -0
- package/bin/lib/safe-exec.cjs +173 -0
- package/bin/lib/safe-path.cjs +130 -0
- package/bin/lib/security-errors.cjs +62 -0
- package/bin/lib/session-chain.cjs +304 -0
- package/bin/lib/session-errors.cjs +81 -0
- package/bin/lib/session-export.cjs +251 -0
- package/bin/lib/session-import.cjs +262 -0
- package/bin/lib/session-manager.cjs +280 -0
- package/bin/lib/skill-context.cjs +148 -0
- package/bin/lib/skill-matcher.cjs +236 -0
- package/bin/lib/skill-registry.cjs +360 -0
- package/bin/lib/skill-resolver.cjs +449 -0
- package/bin/lib/skill-triggers.cjs +90 -0
- package/bin/lib/skill-validator.cjs +270 -0
- package/bin/lib/skill-versioning.cjs +355 -0
- package/bin/lib/stack-detector.cjs +399 -0
- package/bin/lib/state.cjs +736 -0
- package/bin/lib/tech-debt-analyzer.cjs +309 -0
- package/bin/lib/temp-file.cjs +239 -0
- package/bin/lib/template.cjs +223 -0
- package/bin/lib/test-file-lock.cjs +112 -0
- package/bin/lib/test-graceful.cjs +93 -0
- package/bin/lib/test-logger.cjs +60 -0
- package/bin/lib/test-safe-exec.cjs +38 -0
- package/bin/lib/test-safe-path.cjs +33 -0
- package/bin/lib/test-temp-file.cjs +125 -0
- package/bin/lib/tier-manager.cjs +428 -0
- package/bin/lib/timeout-exec.cjs +63 -0
- package/bin/lib/tradeoff-analyzer.cjs +284 -0
- package/bin/lib/url-fetch.cjs +170 -0
- package/bin/lib/verify.cjs +863 -0
- package/bin/update.js +217 -214
- package/commands/deploy.cjs +53 -0
- package/commands/ez/add-tests.md +41 -41
- package/commands/ez/audit-milestone.md +36 -36
- package/commands/ez/complete-milestone.md +136 -136
- package/commands/ez/discuss-phase.md +90 -90
- package/commands/ez/execute-phase.md +52 -52
- package/commands/ez/help.md +22 -22
- package/commands/ez/map-codebase.md +71 -71
- package/commands/ez/new-milestone.md +44 -44
- package/commands/ez/new-project.md +51 -42
- package/commands/ez/plan-phase.md +53 -53
- package/commands/ez/progress.md +36 -36
- package/commands/ez/quick.md +45 -45
- package/commands/ez/resume-work.md +40 -40
- package/commands/ez/run-phase.md +580 -0
- package/commands/ez/settings.md +36 -36
- package/commands/ez/update.md +37 -37
- package/commands/ez/verify-work.md +402 -38
- package/commands/health-check.cjs +44 -0
- package/commands/rollback.cjs +47 -0
- package/ez-agents/bin/ez-tools.cjs +599 -2
- package/ez-agents/bin/guards/autonomy-guard.cjs +346 -0
- package/ez-agents/bin/guards/context-budget-guard.cjs +247 -0
- package/ez-agents/bin/guards/hallucination-guard.cjs +271 -0
- package/ez-agents/bin/guards/hidden-state-guard.cjs +182 -0
- package/ez-agents/bin/guards/team-overhead-guard.cjs +266 -0
- package/ez-agents/bin/guards/tool-sprawl-guard.cjs +271 -0
- package/ez-agents/bin/lib/analytics/analytics-collector.cjs +86 -0
- package/ez-agents/bin/lib/analytics/analytics-reporter.cjs +130 -0
- package/ez-agents/bin/lib/analytics/cohort-analyzer.cjs +138 -0
- package/ez-agents/bin/lib/analytics/funnel-analyzer.cjs +147 -0
- package/ez-agents/bin/lib/analytics/nps-tracker.cjs +147 -0
- package/ez-agents/bin/lib/archetype-detector.cjs +289 -0
- package/ez-agents/bin/lib/audit-exec.cjs +166 -167
- package/ez-agents/bin/lib/auth.cjs +176 -176
- package/ez-agents/bin/lib/backup-service.cjs +422 -0
- package/ez-agents/bin/lib/bdd-validator.cjs +622 -622
- package/ez-agents/bin/lib/business-flow-mapper.cjs +429 -0
- package/ez-agents/bin/lib/code-complexity-analyzer.cjs +360 -0
- package/ez-agents/bin/lib/codebase-analyzer.cjs +241 -0
- package/ez-agents/bin/lib/commands.cjs +685 -685
- package/ez-agents/bin/lib/config.cjs +41 -1
- package/ez-agents/bin/lib/constraint-extractor.cjs +526 -0
- package/ez-agents/bin/lib/content-scanner.cjs +238 -238
- package/ez-agents/bin/lib/context-cache.cjs +154 -154
- package/ez-agents/bin/lib/context-errors.cjs +71 -71
- package/ez-agents/bin/lib/context-manager.cjs +220 -220
- package/ez-agents/bin/lib/core.cjs +507 -512
- package/ez-agents/bin/lib/cost-tracker.cjs +243 -0
- package/ez-agents/bin/lib/crash-recovery.cjs +172 -0
- package/ez-agents/bin/lib/dependency-graph.cjs +319 -0
- package/ez-agents/bin/lib/deploy/deploy-audit-log.cjs +76 -0
- package/ez-agents/bin/lib/deploy/deploy-detector.cjs +69 -0
- package/ez-agents/bin/lib/deploy/deploy-env-manager.cjs +109 -0
- package/ez-agents/bin/lib/deploy/deploy-health-check.cjs +88 -0
- package/ez-agents/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
- package/ez-agents/bin/lib/deploy/deploy-rollback.cjs +72 -0
- package/ez-agents/bin/lib/deploy/deploy-runner.cjs +97 -0
- package/ez-agents/bin/lib/deploy/deploy-status.cjs +74 -0
- package/ez-agents/bin/lib/file-access.cjs +207 -207
- package/ez-agents/bin/lib/finops/budget-enforcer.cjs +126 -0
- package/ez-agents/bin/lib/finops/cost-reporter.cjs +132 -0
- package/ez-agents/bin/lib/finops/finops-analyzer.cjs +112 -0
- package/ez-agents/bin/lib/finops/spot-manager.cjs +118 -0
- package/ez-agents/bin/lib/framework-detector.cjs +396 -0
- package/ez-agents/bin/lib/frontmatter.cjs +3 -1
- package/ez-agents/bin/lib/gates/README.md +374 -0
- package/ez-agents/bin/lib/gates/gate-01-requirement.cjs +303 -0
- package/ez-agents/bin/lib/gates/gate-02-architecture.cjs +555 -0
- package/ez-agents/bin/lib/gates/gate-03-code.cjs +635 -0
- package/ez-agents/bin/lib/gates/gate-04-security.cjs +829 -0
- package/ez-agents/bin/lib/git-errors.cjs +83 -83
- package/ez-agents/bin/lib/git-utils.cjs +321 -321
- package/ez-agents/bin/lib/git-workflow-engine.cjs +1157 -1157
- package/ez-agents/bin/lib/health-check.cjs +162 -162
- package/ez-agents/bin/lib/index.cjs +2 -8
- package/ez-agents/bin/lib/init.cjs +0 -2
- package/ez-agents/bin/lib/lockfile-validator.cjs +227 -227
- package/ez-agents/bin/lib/log-rotation.cjs +71 -0
- package/ez-agents/bin/lib/logger.cjs +22 -47
- package/ez-agents/bin/lib/memory-compression.cjs +256 -256
- package/ez-agents/bin/lib/package-manager-detector.cjs +203 -203
- package/ez-agents/bin/lib/package-manager-executor.cjs +385 -385
- package/ez-agents/bin/lib/package-manager-service.cjs +216 -216
- package/ez-agents/bin/lib/perf/api-monitor.cjs +88 -0
- package/ez-agents/bin/lib/perf/db-optimizer.cjs +78 -0
- package/ez-agents/bin/lib/perf/frontend-performance.cjs +56 -0
- package/ez-agents/bin/lib/perf/perf-analyzer.cjs +77 -0
- package/ez-agents/bin/lib/perf/perf-baseline.cjs +102 -0
- package/ez-agents/bin/lib/perf/perf-reporter.cjs +117 -0
- package/ez-agents/bin/lib/perf/regression-detector.cjs +92 -0
- package/ez-agents/bin/lib/project-reporter.cjs +502 -0
- package/ez-agents/bin/lib/quality-gate.cjs +332 -0
- package/ez-agents/bin/lib/recovery-manager.cjs +98 -0
- package/ez-agents/bin/lib/release-validator.cjs +617 -614
- package/ez-agents/bin/lib/security-errors.cjs +62 -0
- package/ez-agents/bin/lib/session-chain.cjs +304 -304
- package/ez-agents/bin/lib/session-errors.cjs +81 -81
- package/ez-agents/bin/lib/session-export.cjs +251 -251
- package/ez-agents/bin/lib/session-import.cjs +262 -262
- package/ez-agents/bin/lib/session-manager.cjs +280 -280
- package/ez-agents/bin/lib/skill-context.cjs +148 -0
- package/ez-agents/bin/lib/skill-matcher.cjs +236 -0
- package/ez-agents/bin/lib/skill-registry.cjs +341 -0
- package/ez-agents/bin/lib/skill-resolver.cjs +449 -0
- package/ez-agents/bin/lib/skill-triggers.cjs +90 -0
- package/ez-agents/bin/lib/skill-validator.cjs +270 -0
- package/ez-agents/bin/lib/skill-versioning.cjs +355 -0
- package/ez-agents/bin/lib/stack-detector.cjs +399 -0
- package/ez-agents/bin/lib/tech-debt-analyzer.cjs +309 -0
- package/ez-agents/bin/lib/tier-manager.cjs +428 -428
- package/ez-agents/bin/lib/tradeoff-analyzer.cjs +284 -0
- package/ez-agents/bin/lib/url-fetch.cjs +170 -170
- package/ez-agents/bin/lib/verify.cjs +863 -863
- package/ez-agents/references/decimal-phase-calculation.md +65 -65
- package/ez-agents/references/git-integration.md +248 -248
- package/ez-agents/references/git-planning-commit.md +38 -38
- package/ez-agents/references/metrics-schema.md +118 -118
- package/ez-agents/references/model-profile-resolution.md +34 -34
- package/ez-agents/references/model-profiles.md +93 -93
- package/ez-agents/references/phase-argument-parsing.md +61 -61
- package/ez-agents/references/planning-config.md +340 -340
- package/ez-agents/references/tier-strategy.md +103 -103
- package/ez-agents/references/ui-brand.md +160 -160
- package/ez-agents/references/verification-patterns.md +612 -612
- package/ez-agents/templates/DEBUG.md +164 -164
- package/ez-agents/templates/UAT.md +247 -247
- package/ez-agents/templates/agent-output-format.md +404 -0
- package/ez-agents/templates/bdd-feature.md +173 -173
- package/ez-agents/templates/codebase/architecture.md +255 -255
- package/ez-agents/templates/codebase/structure.md +285 -285
- package/ez-agents/templates/copilot-instructions.md +7 -7
- package/ez-agents/templates/debug-subagent-prompt.md +91 -91
- package/ez-agents/templates/discovery.md +146 -146
- package/ez-agents/templates/discussion.md +68 -68
- package/ez-agents/templates/handoff-protocol.md +294 -0
- package/ez-agents/templates/incident-runbook.md +205 -205
- package/ez-agents/templates/mode-workflow-templates.md +301 -0
- package/ez-agents/templates/phase-prompt.md +610 -610
- package/ez-agents/templates/planner-subagent-prompt.md +117 -117
- package/ez-agents/templates/project.md +184 -184
- package/ez-agents/templates/release-checklist.md +136 -133
- package/ez-agents/templates/research.md +552 -552
- package/ez-agents/templates/rollback-plan.md +201 -201
- package/ez-agents/templates/security-user-setup.md +244 -0
- package/ez-agents/templates/skill-validation-rules.md +476 -0
- package/ez-agents/templates/state.md +180 -176
- package/ez-agents/templates/summary-complex.md +59 -59
- package/ez-agents/tests/gates/gate-01-02.test.cjs +812 -0
- package/ez-agents/tests/gates/gate-03-04.test.cjs +762 -0
- package/ez-agents/tests/gates/gate-05-validator.test.cjs +145 -0
- package/ez-agents/tests/gates/gate-06-docs-validator.test.cjs +244 -0
- package/ez-agents/tests/gates/gate-07-release-validator.test.cjs +219 -0
- package/ez-agents/tests/guards/context-budget-guard.test.cjs +145 -0
- package/ez-agents/tests/guards/edge-case-guards.test.cjs +238 -0
- package/ez-agents/tests/guards/hallucination-guard.test.cjs +124 -0
- package/ez-agents/workflows/audit-milestone.md +1 -1
- package/ez-agents/workflows/autonomous.md +844 -844
- package/ez-agents/workflows/complete-milestone.md +1 -1
- package/ez-agents/workflows/discuss-phase.md +1 -1
- package/ez-agents/workflows/execute-phase.md +124 -3
- package/ez-agents/workflows/help.md +42 -181
- package/ez-agents/workflows/hotfix.md +291 -291
- package/ez-agents/workflows/new-milestone.md +713 -713
- package/ez-agents/workflows/new-project.md +1089 -1107
- package/ez-agents/workflows/plan-phase.md +0 -40
- package/ez-agents/workflows/release.md +253 -253
- package/ez-agents/workflows/resume-session.md +215 -215
- package/ez-agents/workflows/run-phase.md +531 -0
- package/ez-agents/workflows/settings.md +2 -35
- package/hooks/dist/ez-check-update.js +81 -81
- package/hooks/dist/ez-context-monitor.js +148 -141
- package/hooks/dist/ez-statusline.js +115 -115
- package/package.json +78 -71
- package/scripts/fix-qwen-installation.js +144 -144
- package/agents/ez-integration-checker.md +0 -443
- package/agents/ez-nyquist-auditor.md +0 -176
- package/agents/ez-observer-agent.md +0 -260
- package/agents/ez-plan-checker.md +0 -706
- package/agents/ez-research-synthesizer.md +0 -247
- package/agents/ez-scrum-master-agent.md +0 -242
- package/agents/ez-tech-lead-agent.md +0 -267
- package/agents/ez-ui-auditor.md +0 -439
- package/agents/ez-ui-checker.md +0 -300
- package/agents/ez-ui-researcher.md +0 -353
- package/commands/ez/add-phase.md +0 -43
- package/commands/ez/add-todo.md +0 -47
- package/commands/ez/arch-review.md +0 -102
- package/commands/ez/auth.md +0 -87
- package/commands/ez/autonomous.md +0 -41
- package/commands/ez/check-todos.md +0 -45
- package/commands/ez/cleanup.md +0 -18
- package/commands/ez/debug.md +0 -168
- package/commands/ez/export-session.md +0 -79
- package/commands/ez/gather-requirements.md +0 -117
- package/commands/ez/git-workflow.md +0 -72
- package/commands/ez/health.md +0 -22
- package/commands/ez/hotfix.md +0 -120
- package/commands/ez/import-session.md +0 -82
- package/commands/ez/insert-phase.md +0 -32
- package/commands/ez/join-discord.md +0 -18
- package/commands/ez/list-phase-assumptions.md +0 -46
- package/commands/ez/list-sessions.md +0 -96
- package/commands/ez/package-manager.md +0 -316
- package/commands/ez/pause-work.md +0 -38
- package/commands/ez/plan-milestone-gaps.md +0 -34
- package/commands/ez/preflight.md +0 -79
- package/commands/ez/reapply-patches.md +0 -124
- package/commands/ez/release.md +0 -153
- package/commands/ez/remove-phase.md +0 -31
- package/commands/ez/research-phase.md +0 -190
- package/commands/ez/resume.md +0 -107
- package/commands/ez/set-profile.md +0 -34
- package/commands/ez/standup.md +0 -85
- package/commands/ez/stats.md +0 -18
- package/commands/ez/ui-phase.md +0 -34
- package/commands/ez/ui-review.md +0 -32
- package/commands/ez/validate-phase.md +0 -35
- package/ez-agents/bin/lib/metrics-tracker.cjs +0 -406
- package/ez-agents/templates/UI-SPEC.md +0 -100
- package/ez-agents/templates/VALIDATION.md +0 -76
- package/ez-agents/templates/context.md +0 -352
- package/ez-agents/templates/verification-report.md +0 -322
- package/ez-agents/workflows/arch-review.md +0 -54
- package/ez-agents/workflows/export-session.md +0 -255
- package/ez-agents/workflows/gather-requirements.md +0 -206
- package/ez-agents/workflows/import-session.md +0 -303
- package/ez-agents/workflows/research-phase.md +0 -74
- package/ez-agents/workflows/standup.md +0 -64
- package/ez-agents/workflows/ui-phase.md +0 -290
- package/ez-agents/workflows/ui-review.md +0 -157
- package/ez-agents/workflows/validate-phase.md +0 -167
|
@@ -0,0 +1,476 @@
|
|
|
1
|
+
# Skill Validation Rules
|
|
2
|
+
|
|
3
|
+
**Phase:** 39
|
|
4
|
+
**Plan:** 39-04
|
|
5
|
+
**Requirement:** POOL-04
|
|
6
|
+
|
|
7
|
+
This document defines validation rules for each skill in the Phase 35 Skill Registry. Each skill has:
|
|
8
|
+
- **Best Practices** (must have) — Output should follow these practices
|
|
9
|
+
- **Anti-Patterns** (must not have) — Output should avoid these patterns
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Validation Severity Levels
|
|
14
|
+
|
|
15
|
+
| Severity | Impact | Action |
|
|
16
|
+
|----------|--------|--------|
|
|
17
|
+
| **error** | Critical violation | Blocks handoff, requires fix |
|
|
18
|
+
| **warning** | Best practice deviation | Logged, allows handoff |
|
|
19
|
+
| **info** | Suggestion | Improvement recommendation |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Stack Skills
|
|
24
|
+
|
|
25
|
+
### laravel_11_structure_skill_v2
|
|
26
|
+
|
|
27
|
+
**Best Practices:**
|
|
28
|
+
- `app/Models/` directory for Eloquent models
|
|
29
|
+
- `app/Http/Controllers/` for controllers
|
|
30
|
+
- `routes/api.php` for API routes
|
|
31
|
+
- Service classes in `app/Services/`
|
|
32
|
+
- Repository pattern in `app/Repositories/`
|
|
33
|
+
|
|
34
|
+
**Anti-Patterns:**
|
|
35
|
+
- Business logic in `routes/web.php`
|
|
36
|
+
- Direct `DB::query()` calls in controllers
|
|
37
|
+
- Fat controllers (>200 lines)
|
|
38
|
+
- N+1 queries without eager loading
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### nextjs_app_router_skill
|
|
43
|
+
|
|
44
|
+
**Best Practices:**
|
|
45
|
+
- `app/` directory structure for routes
|
|
46
|
+
- Server Components by default
|
|
47
|
+
- `use client` directive for client components
|
|
48
|
+
- Loading states with `loading.tsx`
|
|
49
|
+
- Error boundaries with `error.tsx`
|
|
50
|
+
|
|
51
|
+
**Anti-Patterns:**
|
|
52
|
+
- `useState` in Server Components
|
|
53
|
+
- Direct database calls in client components
|
|
54
|
+
- Missing loading states
|
|
55
|
+
- `window`/`document` access in Server Components
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
### react_architecture_skill
|
|
60
|
+
|
|
61
|
+
**Best Practices:**
|
|
62
|
+
- Component composition over inheritance
|
|
63
|
+
- Custom hooks for reusable logic
|
|
64
|
+
- Prop drilling avoidance (Context or state management)
|
|
65
|
+
- Keys on list items
|
|
66
|
+
|
|
67
|
+
**Anti-Patterns:**
|
|
68
|
+
- Direct DOM manipulation
|
|
69
|
+
- `setState` in render
|
|
70
|
+
- Missing keys in lists
|
|
71
|
+
- Props mutation
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Architecture Skills
|
|
76
|
+
|
|
77
|
+
### modular_monolith_skill
|
|
78
|
+
|
|
79
|
+
**Best Practices:**
|
|
80
|
+
- Module boundaries clearly defined
|
|
81
|
+
- Inter-module communication via interfaces
|
|
82
|
+
- Shared kernel for common types
|
|
83
|
+
- Module per business capability
|
|
84
|
+
|
|
85
|
+
**Anti-Patterns:**
|
|
86
|
+
- Circular dependencies between modules
|
|
87
|
+
- Direct imports across module boundaries
|
|
88
|
+
- Shared database tables between modules
|
|
89
|
+
- God modules (>5000 lines)
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
### microservices_architecture_skill
|
|
94
|
+
|
|
95
|
+
**Best Practices:**
|
|
96
|
+
- Service per business capability
|
|
97
|
+
- Database per service
|
|
98
|
+
- API Gateway for external communication
|
|
99
|
+
- Event-driven communication between services
|
|
100
|
+
|
|
101
|
+
**Anti-Patterns:**
|
|
102
|
+
- Distributed monolith (tight coupling)
|
|
103
|
+
- Shared database between services
|
|
104
|
+
- Synchronous calls in critical paths
|
|
105
|
+
- Missing circuit breakers
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
### repository_pattern_skill
|
|
110
|
+
|
|
111
|
+
**Best Practices:**
|
|
112
|
+
- Interface for repository contract
|
|
113
|
+
- Entity aggregation in repository
|
|
114
|
+
- Unit of Work for transactions
|
|
115
|
+
- Specification pattern for complex queries
|
|
116
|
+
|
|
117
|
+
**Anti-Patterns:**
|
|
118
|
+
- Leaking ORM specifics through interface
|
|
119
|
+
- Multiple repositories per entity
|
|
120
|
+
- Business logic in repository
|
|
121
|
+
- Direct ORM usage outside repository
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### service_layer_pattern_skill
|
|
126
|
+
|
|
127
|
+
**Best Practices:**
|
|
128
|
+
- Business logic in service layer
|
|
129
|
+
- Transaction management in services
|
|
130
|
+
- Domain events from services
|
|
131
|
+
- Dependency injection for dependencies
|
|
132
|
+
|
|
133
|
+
**Anti-Patterns:**
|
|
134
|
+
- Direct controller to repository calls
|
|
135
|
+
- Multiple services modifying same entity
|
|
136
|
+
- Circular service dependencies
|
|
137
|
+
- God services (>1000 lines)
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
### component_composition_skill
|
|
142
|
+
|
|
143
|
+
**Best Practices:**
|
|
144
|
+
- Small, focused components
|
|
145
|
+
- Composition via children prop
|
|
146
|
+
- Render props for flexibility
|
|
147
|
+
- Compound components for complex UIs
|
|
148
|
+
|
|
149
|
+
**Anti-Patterns:**
|
|
150
|
+
- Large components (>300 lines)
|
|
151
|
+
- Multiple responsibilities per component
|
|
152
|
+
- Deep nesting (>5 levels)
|
|
153
|
+
- Prop drilling through multiple levels
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### state_management_skill
|
|
158
|
+
|
|
159
|
+
**Best Practices:**
|
|
160
|
+
- Single source of truth
|
|
161
|
+
- Immutable state updates
|
|
162
|
+
- Derived state computed, not stored
|
|
163
|
+
- Normalize nested state
|
|
164
|
+
|
|
165
|
+
**Anti-Patterns:**
|
|
166
|
+
- Duplicate state sources
|
|
167
|
+
- Direct state mutation
|
|
168
|
+
- Storing derived values
|
|
169
|
+
- Excessive state slices
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Domain Skills
|
|
174
|
+
|
|
175
|
+
### authentication_jwt_skill
|
|
176
|
+
|
|
177
|
+
**Best Practices:**
|
|
178
|
+
- Password hashing with bcrypt/argon2
|
|
179
|
+
- Token expiration configured
|
|
180
|
+
- Refresh token rotation
|
|
181
|
+
- Rate limiting on auth endpoints
|
|
182
|
+
|
|
183
|
+
**Anti-Patterns:**
|
|
184
|
+
- Hardcoded secrets
|
|
185
|
+
- Tokens in localStorage
|
|
186
|
+
- Missing rate limiting
|
|
187
|
+
- Synchronous token generation
|
|
188
|
+
- JWT without expiration
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
### saas_multi_tenant_skill
|
|
193
|
+
|
|
194
|
+
**Best Practices:**
|
|
195
|
+
- Tenant isolation at database level
|
|
196
|
+
- Tenant context in all queries
|
|
197
|
+
- Tenant-aware caching
|
|
198
|
+
- Row Level Security (RLS) for shared DB
|
|
199
|
+
|
|
200
|
+
**Anti-Patterns:**
|
|
201
|
+
- Missing tenant filter in queries
|
|
202
|
+
- Shared cache keys between tenants
|
|
203
|
+
- Tenant ID in client-side state only
|
|
204
|
+
- Cross-tenant data access
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
### ecommerce_product_catalog_skill
|
|
209
|
+
|
|
210
|
+
**Best Practices:**
|
|
211
|
+
- Product variants support
|
|
212
|
+
- Inventory tracking
|
|
213
|
+
- Price history tracking
|
|
214
|
+
- Category hierarchy
|
|
215
|
+
|
|
216
|
+
**Anti-Patterns:**
|
|
217
|
+
- Hardcoded product types
|
|
218
|
+
- Missing inventory checks
|
|
219
|
+
- Price without currency
|
|
220
|
+
- No soft delete for products
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
### payment_processing_skill
|
|
225
|
+
|
|
226
|
+
**Best Practices:**
|
|
227
|
+
- Idempotent payment operations
|
|
228
|
+
- Payment state machine
|
|
229
|
+
- Webhook signature verification
|
|
230
|
+
- PCI-DSS compliance measures
|
|
231
|
+
|
|
232
|
+
**Anti-Patterns:**
|
|
233
|
+
- Storing raw card numbers
|
|
234
|
+
- Missing idempotency keys
|
|
235
|
+
- No webhook retry handling
|
|
236
|
+
- Synchronous payment processing
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
### dashboard_layout_skill
|
|
241
|
+
|
|
242
|
+
**Best Practices:**
|
|
243
|
+
- Grid-based layout
|
|
244
|
+
- Responsive breakpoints
|
|
245
|
+
- Widget-based architecture
|
|
246
|
+
- Lazy loading for charts
|
|
247
|
+
|
|
248
|
+
**Anti-Patterns:**
|
|
249
|
+
- Fixed pixel widths
|
|
250
|
+
- All data loaded upfront
|
|
251
|
+
- No loading states
|
|
252
|
+
- Non-responsive design
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## Testing Skills
|
|
257
|
+
|
|
258
|
+
### testing_strategy_skill
|
|
259
|
+
|
|
260
|
+
**Best Practices:**
|
|
261
|
+
- Test pyramid (70% unit, 20% integration, 10% E2E)
|
|
262
|
+
- Test isolation (no shared state)
|
|
263
|
+
- Descriptive test names
|
|
264
|
+
- Arrange-Act-Assert pattern
|
|
265
|
+
|
|
266
|
+
**Anti-Patterns:**
|
|
267
|
+
- Test interdependencies
|
|
268
|
+
- Testing implementation details
|
|
269
|
+
- Missing assertions
|
|
270
|
+
- Flaky tests
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
### testing_unit_skill
|
|
275
|
+
|
|
276
|
+
**Best Practices:**
|
|
277
|
+
- One assertion per test
|
|
278
|
+
- Mock external dependencies
|
|
279
|
+
- Test edge cases
|
|
280
|
+
- Fast execution (<10ms per test)
|
|
281
|
+
|
|
282
|
+
**Anti-Patterns:**
|
|
283
|
+
- Multiple assertions per test
|
|
284
|
+
- Real database calls
|
|
285
|
+
- Testing private methods
|
|
286
|
+
- Slow tests (>100ms)
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
### testing_integration_skill
|
|
291
|
+
|
|
292
|
+
**Best Practices:**
|
|
293
|
+
- Test API contracts
|
|
294
|
+
- Use test database
|
|
295
|
+
- Clean up after tests
|
|
296
|
+
- Test error scenarios
|
|
297
|
+
|
|
298
|
+
**Anti-Patterns:**
|
|
299
|
+
- Testing against production
|
|
300
|
+
- Missing test data cleanup
|
|
301
|
+
- No error case testing
|
|
302
|
+
- Flaky network dependencies
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## DevOps Skills
|
|
307
|
+
|
|
308
|
+
### docker_containerization_skill
|
|
309
|
+
|
|
310
|
+
**Best Practices:**
|
|
311
|
+
- Multi-stage builds
|
|
312
|
+
- Non-root user
|
|
313
|
+
- `.dockerignore` file
|
|
314
|
+
- Specific base image versions
|
|
315
|
+
|
|
316
|
+
**Anti-Patterns:**
|
|
317
|
+
- Running as root
|
|
318
|
+
- Using `latest` tag
|
|
319
|
+
- Large image size (>500MB)
|
|
320
|
+
- Hardcoded secrets in Dockerfile
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
### kubernetes_orchestration_skill
|
|
325
|
+
|
|
326
|
+
**Best Practices:**
|
|
327
|
+
- Resource limits defined
|
|
328
|
+
- Health checks (liveness/readiness)
|
|
329
|
+
- Pod disruption budgets
|
|
330
|
+
- Horizontal Pod Autoscaler
|
|
331
|
+
|
|
332
|
+
**Anti-Patterns:**
|
|
333
|
+
- No resource limits
|
|
334
|
+
- Missing health checks
|
|
335
|
+
- Single replica deployments
|
|
336
|
+
- Hardcoded configuration
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
### cicd_pipeline_architecture_skill
|
|
341
|
+
|
|
342
|
+
**Best Practices:**
|
|
343
|
+
- Pipeline as code
|
|
344
|
+
- Parallel test execution
|
|
345
|
+
- Artifact versioning
|
|
346
|
+
- Deployment gates
|
|
347
|
+
|
|
348
|
+
**Anti-Patterns:**
|
|
349
|
+
- Manual steps in CI
|
|
350
|
+
- No test parallelization
|
|
351
|
+
- Missing artifact versioning
|
|
352
|
+
- Direct production deployments
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## Governance Skills
|
|
357
|
+
|
|
358
|
+
### security_architecture_skill
|
|
359
|
+
|
|
360
|
+
**Best Practices:**
|
|
361
|
+
- Input validation on all endpoints
|
|
362
|
+
- Output encoding
|
|
363
|
+
- Authentication on protected routes
|
|
364
|
+
- Authorization checks
|
|
365
|
+
|
|
366
|
+
**Anti-Patterns:**
|
|
367
|
+
- SQL injection vulnerabilities
|
|
368
|
+
- XSS vulnerabilities
|
|
369
|
+
- Missing authentication
|
|
370
|
+
- Hardcoded credentials
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
### accessibility_wcag_skill
|
|
375
|
+
|
|
376
|
+
**Best Practices:**
|
|
377
|
+
- Semantic HTML
|
|
378
|
+
- ARIA labels where needed
|
|
379
|
+
- Keyboard navigation
|
|
380
|
+
- Color contrast compliance (WCAG 2.1 AA)
|
|
381
|
+
|
|
382
|
+
**Anti-Patterns:**
|
|
383
|
+
- Missing alt text
|
|
384
|
+
- Non-semantic div soup
|
|
385
|
+
- Mouse-only interactions
|
|
386
|
+
- Low contrast text
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
390
|
+
### api_rate_limiting_skill
|
|
391
|
+
|
|
392
|
+
**Best Practices:**
|
|
393
|
+
- Rate limit headers (`X-RateLimit-*`)
|
|
394
|
+
- Sliding window algorithm
|
|
395
|
+
- Different limits per endpoint
|
|
396
|
+
- Graceful degradation
|
|
397
|
+
|
|
398
|
+
**Anti-Patterns:**
|
|
399
|
+
- No rate limit headers
|
|
400
|
+
- Fixed window (allows bursts)
|
|
401
|
+
- Same limit for all endpoints
|
|
402
|
+
- Hard failures on limit exceeded
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## Validation Algorithm
|
|
407
|
+
|
|
408
|
+
```javascript
|
|
409
|
+
for (const skill of activatedSkills) {
|
|
410
|
+
const skillDef = VALIDATION_RULES[skill];
|
|
411
|
+
|
|
412
|
+
// Check best practices adherence
|
|
413
|
+
for (const practice of skillDef.best_practices) {
|
|
414
|
+
if (!outputMatchesPractice(output, practice)) {
|
|
415
|
+
violations.push({
|
|
416
|
+
skill: skill,
|
|
417
|
+
type: 'best_practice',
|
|
418
|
+
practice: practice,
|
|
419
|
+
severity: 'warning'
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
// Check anti-patterns avoided
|
|
425
|
+
for (const antiPattern of skillDef.anti_patterns) {
|
|
426
|
+
if (outputContainsAntiPattern(output, antiPattern)) {
|
|
427
|
+
violations.push({
|
|
428
|
+
skill: skill,
|
|
429
|
+
type: 'anti_pattern',
|
|
430
|
+
antiPattern: antiPattern,
|
|
431
|
+
severity: 'error'
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
## Integration with QA Agent
|
|
441
|
+
|
|
442
|
+
The QA Agent runs skill consistency validation after task completion:
|
|
443
|
+
|
|
444
|
+
1. **After task completes:** Run `validateOutput(output, activatedSkills)`
|
|
445
|
+
2. **If errors found:** Block handoff, require fix
|
|
446
|
+
3. **If warnings found:** Log and continue
|
|
447
|
+
4. **Include validation report** in agent output
|
|
448
|
+
|
|
449
|
+
```markdown
|
|
450
|
+
### Verification Status
|
|
451
|
+
- [ ] Self-check passed
|
|
452
|
+
- [ ] Skills alignment verified
|
|
453
|
+
- [ ] Skill consistency validation passed
|
|
454
|
+
- [ ] Decision log complete
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
459
|
+
## Validation Report Format
|
|
460
|
+
|
|
461
|
+
```markdown
|
|
462
|
+
## Skill Consistency Validation Report
|
|
463
|
+
|
|
464
|
+
**Status:** ✅ PASS / ❌ FAIL
|
|
465
|
+
**Skills Validated:** N
|
|
466
|
+
**Errors:** N
|
|
467
|
+
**Warnings:** N
|
|
468
|
+
|
|
469
|
+
### Violations
|
|
470
|
+
|
|
471
|
+
#### Errors
|
|
472
|
+
- **skill_id:** Anti-pattern detected: [description]
|
|
473
|
+
|
|
474
|
+
#### Warnings
|
|
475
|
+
- **skill_id:** Output does not follow best practice: [description]
|
|
476
|
+
```
|