oh-my-agent-commandcode 0.0.0-stage → 20.38.3
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 +35 -2
- package/filter-test-output.sh +52 -0
- package/mods/oma.ts +347 -0
- package/package.json +30 -4
- package/skills/_shared/conditional/experiment-ledger.md +28 -0
- package/skills/_shared/conditional/exploration-loop.md +22 -0
- package/skills/_shared/conditional/quality-score.md +33 -0
- package/skills/_shared/core/anti-ai-prose.md +191 -0
- package/skills/_shared/core/api-contracts/README.md +28 -0
- package/skills/_shared/core/api-contracts/template.md +90 -0
- package/skills/_shared/core/clarification-protocol.md +23 -0
- package/skills/_shared/core/code-intelligence.md +46 -0
- package/skills/_shared/core/collaboration-policy.md +28 -0
- package/skills/_shared/core/common-checklist.md +28 -0
- package/skills/_shared/core/context-budget.md +22 -0
- package/skills/_shared/core/context-loading.md +34 -0
- package/skills/_shared/core/difficulty-guide.md +26 -0
- package/skills/_shared/core/execution-policy.md +31 -0
- package/skills/_shared/core/lessons-learned.md +33 -0
- package/skills/_shared/core/prompt-structure.md +18 -0
- package/skills/_shared/core/quality-principles.md +11 -0
- package/skills/_shared/core/session-metrics.md +35 -0
- package/skills/_shared/core/skill-routing.md +39 -0
- package/skills/_shared/core/test-approach.md +54 -0
- package/skills/_shared/core/vendor-detection.md +52 -0
- package/skills/_shared/runtime/memory-protocol.md +118 -0
- package/skills/_shared/runtime/result-contract.md +64 -0
- package/skills/_shared/ui-interaction-quality.md +133 -0
- package/skills/oma-academic-writing/SKILL.md +181 -0
- package/skills/oma-academic-writing/resources/abstract-guide.md +51 -0
- package/skills/oma-academic-writing/resources/academic-verb-tiers.md +42 -0
- package/skills/oma-academic-writing/resources/anti-ai-checklist.md +52 -0
- package/skills/oma-academic-writing/resources/hedging-guide.md +132 -0
- package/skills/oma-academic-writing/resources/sentence-structure-reference.md +151 -0
- package/skills/oma-architecture/SKILL.md +203 -0
- package/skills/oma-architecture/resources/api-evolution.md +41 -0
- package/skills/oma-architecture/resources/checklist.md +42 -0
- package/skills/oma-architecture/resources/execution-protocol.md +115 -0
- package/skills/oma-architecture/resources/methodology-selection.md +92 -0
- package/skills/oma-architecture/resources/migration-patterns.md +28 -0
- package/skills/oma-architecture/resources/output-templates.md +111 -0
- package/skills/oma-architecture/resources/stakeholder-synthesis.md +80 -0
- package/skills/oma-backend/SKILL.md +202 -0
- package/skills/oma-backend/resources/checklist.md +45 -0
- package/skills/oma-backend/resources/error-playbook.md +97 -0
- package/skills/oma-backend/resources/execution-protocol.md +39 -0
- package/skills/oma-backend/resources/orm-reference.md +61 -0
- package/skills/oma-backend/variants/node/api-template.ts +315 -0
- package/skills/oma-backend/variants/node/snippets.md +475 -0
- package/skills/oma-backend/variants/node/stack.yaml +21 -0
- package/skills/oma-backend/variants/node/tech-stack.md +33 -0
- package/skills/oma-backend/variants/python/api-template.py +378 -0
- package/skills/oma-backend/variants/python/snippets.md +199 -0
- package/skills/oma-backend/variants/python/stack.yaml +18 -0
- package/skills/oma-backend/variants/python/tech-stack.md +45 -0
- package/skills/oma-backend/variants/rust/api-template.rs +635 -0
- package/skills/oma-backend/variants/rust/snippets.md +471 -0
- package/skills/oma-backend/variants/rust/stack.yaml +20 -0
- package/skills/oma-backend/variants/rust/tech-stack.md +36 -0
- package/skills/oma-backend/variants/stack.schema.json +73 -0
- package/skills/oma-brainstorm/SKILL.md +166 -0
- package/skills/oma-brainstorm/resources/triz-lite.md +117 -0
- package/skills/oma-coordination/SKILL.md +171 -0
- package/skills/oma-db/SKILL.md +201 -0
- package/skills/oma-db/resources/anti-patterns.md +177 -0
- package/skills/oma-db/resources/checklist.md +67 -0
- package/skills/oma-db/resources/document-templates.md +107 -0
- package/skills/oma-db/resources/error-playbook.md +50 -0
- package/skills/oma-db/resources/examples.md +170 -0
- package/skills/oma-db/resources/execution-protocol.md +127 -0
- package/skills/oma-db/resources/iso-controls.md +98 -0
- package/skills/oma-db/resources/migration-playbook.md +93 -0
- package/skills/oma-db/resources/query-tuning.md +57 -0
- package/skills/oma-db/resources/vector-db.md +159 -0
- package/skills/oma-debug/SKILL.md +146 -0
- package/skills/oma-debug/resources/bug-report-template.md +327 -0
- package/skills/oma-debug/resources/checklist.md +31 -0
- package/skills/oma-debug/resources/common-patterns.md +734 -0
- package/skills/oma-debug/resources/debugging-checklist.md +364 -0
- package/skills/oma-debug/resources/error-playbook.md +94 -0
- package/skills/oma-debug/resources/execution-protocol.md +40 -0
- package/skills/oma-design/SKILL.md +135 -0
- package/skills/oma-design/resources/asset-strategy.md +34 -0
- package/skills/oma-design/resources/checklist.md +63 -0
- package/skills/oma-design/resources/data-grid.md +48 -0
- package/skills/oma-design/resources/design-md-spec.md +107 -0
- package/skills/oma-design/resources/design-tokens.md +53 -0
- package/skills/oma-design/resources/error-playbook.md +18 -0
- package/skills/oma-design/resources/execution-protocol.md +95 -0
- package/skills/oma-design/resources/external-design-skills.md +130 -0
- package/skills/oma-design/resources/getdesign-fetcher.md +104 -0
- package/skills/oma-design/resources/product-interface-review.md +59 -0
- package/skills/oma-design/resources/redesign-protocol.md +52 -0
- package/skills/oma-design/resources/stitch-integration.md +244 -0
- package/skills/oma-dev-workflow/SKILL.md +375 -0
- package/skills/oma-dev-workflow/resources/affected-checks.py +58 -0
- package/skills/oma-dev-workflow/resources/api-workflows.md +58 -0
- package/skills/oma-dev-workflow/resources/database-patterns.md +107 -0
- package/skills/oma-dev-workflow/resources/i18n-patterns.md +63 -0
- package/skills/oma-dev-workflow/resources/release-coordination.md +240 -0
- package/skills/oma-dev-workflow/resources/tooling-profiles.md +217 -0
- package/skills/oma-dev-workflow/resources/troubleshooting.md +78 -0
- package/skills/oma-dev-workflow/resources/validation-pipeline.md +246 -0
- package/skills/oma-docs/SKILL.md +77 -0
- package/skills/oma-docs/resources/commands.md +76 -0
- package/skills/oma-explanation/SKILL.md +212 -0
- package/skills/oma-explanation/resources/document-structure.md +115 -0
- package/skills/oma-explanation/resources/draft-format.md +199 -0
- package/skills/oma-explanation/resources/html-contract.md +102 -0
- package/skills/oma-frontend/SKILL.md +227 -0
- package/skills/oma-frontend/resources/angular-rules.md +110 -0
- package/skills/oma-frontend/resources/checklist.md +76 -0
- package/skills/oma-frontend/resources/error-playbook.md +125 -0
- package/skills/oma-frontend/resources/execution-protocol.md +46 -0
- package/skills/oma-frontend/resources/snippets.md +354 -0
- package/skills/oma-frontend/resources/specialized-visual-implementation.md +193 -0
- package/skills/oma-frontend/resources/tailwind-rules.md +83 -0
- package/skills/oma-frontend/resources/tech-stack.md +156 -0
- package/skills/oma-hwp/SKILL.md +166 -0
- package/skills/oma-hwp/config/hwp-config.yaml +35 -0
- package/skills/oma-hwp/resources/balanced-tables.ts +39 -0
- package/skills/oma-hwp/resources/execution-protocol.md +145 -0
- package/skills/oma-hwp/resources/flatten-tables.ts +101 -0
- package/skills/oma-hwp/resources/package.json +13 -0
- package/skills/oma-hwp/resources/troubleshooting.md +70 -0
- package/skills/oma-hwp/resources/tsconfig.json +10 -0
- package/skills/oma-hwp/resources/turndown-plugin-gfm.d.ts +9 -0
- package/skills/oma-image/SKILL.md +142 -0
- package/skills/oma-image/config/image-config.yaml +70 -0
- package/skills/oma-image/resources/checklist.md +18 -0
- package/skills/oma-image/resources/execution-protocol.md +117 -0
- package/skills/oma-image/resources/invocation.md +105 -0
- package/skills/oma-image/resources/prompt-tips.md +71 -0
- package/skills/oma-image/resources/vendor-matrix.md +90 -0
- package/skills/oma-market/SKILL.md +142 -0
- package/skills/oma-market/resources/checklist.md +12 -0
- package/skills/oma-market/resources/error-playbook.md +12 -0
- package/skills/oma-market/resources/execution-protocol.md +60 -0
- package/skills/oma-market/resources/frameworks/pestel.md +101 -0
- package/skills/oma-market/resources/frameworks/porters-5f.md +90 -0
- package/skills/oma-market/resources/frameworks/swot.md +61 -0
- package/skills/oma-market/resources/intent-rules.md +35 -0
- package/skills/oma-market/resources/output-laws.md +53 -0
- package/skills/oma-mobile/SKILL.md +168 -0
- package/skills/oma-mobile/resources/checklist.md +77 -0
- package/skills/oma-mobile/resources/error-playbook.md +198 -0
- package/skills/oma-mobile/resources/execution-protocol.md +47 -0
- package/skills/oma-mobile/resources/screen-template.dart +331 -0
- package/skills/oma-mobile/resources/screen-template.swift +239 -0
- package/skills/oma-mobile/resources/screen-template.tsx +179 -0
- package/skills/oma-mobile/resources/tech-stack.md +69 -0
- package/skills/oma-mobile/variants/README.md +45 -0
- package/skills/oma-mobile/variants/flutter/api-template.dart +461 -0
- package/skills/oma-mobile/variants/flutter/snippets.md +1353 -0
- package/skills/oma-mobile/variants/flutter/stack.yaml +21 -0
- package/skills/oma-mobile/variants/flutter/tech-stack.md +201 -0
- package/skills/oma-mobile/variants/kotlin-android/api-template.kt +182 -0
- package/skills/oma-mobile/variants/kotlin-android/snippets.md +871 -0
- package/skills/oma-mobile/variants/kotlin-android/stack.yaml +32 -0
- package/skills/oma-mobile/variants/kotlin-android/tech-stack.md +159 -0
- package/skills/oma-mobile/variants/react-native/api-template.ts +531 -0
- package/skills/oma-mobile/variants/react-native/snippets.md +1014 -0
- package/skills/oma-mobile/variants/react-native/stack.yaml +22 -0
- package/skills/oma-mobile/variants/react-native/tech-stack.md +192 -0
- package/skills/oma-mobile/variants/stack.schema.json +68 -0
- package/skills/oma-mobile/variants/swift-ios/api-template.swift +165 -0
- package/skills/oma-mobile/variants/swift-ios/snippets.md +1028 -0
- package/skills/oma-mobile/variants/swift-ios/stack.yaml +25 -0
- package/skills/oma-mobile/variants/swift-ios/tech-stack.md +174 -0
- package/skills/oma-observability/SKILL.md +225 -0
- package/skills/oma-observability/resources/anti-patterns.md +555 -0
- package/skills/oma-observability/resources/boundaries/cross-application.md +348 -0
- package/skills/oma-observability/resources/boundaries/multi-tenant.md +290 -0
- package/skills/oma-observability/resources/boundaries/release.md +372 -0
- package/skills/oma-observability/resources/boundaries/slo.md +225 -0
- package/skills/oma-observability/resources/checklist.md +123 -0
- package/skills/oma-observability/resources/examples.md +448 -0
- package/skills/oma-observability/resources/execution-protocol.md +166 -0
- package/skills/oma-observability/resources/incident-forensics.md +348 -0
- package/skills/oma-observability/resources/intent-rules.md +307 -0
- package/skills/oma-observability/resources/layers/L3-network.md +281 -0
- package/skills/oma-observability/resources/layers/L4-transport.md +299 -0
- package/skills/oma-observability/resources/layers/L7-application/crash-analytics.md +359 -0
- package/skills/oma-observability/resources/layers/L7-application/mobile-rum.md +278 -0
- package/skills/oma-observability/resources/layers/L7-application/waf.md +246 -0
- package/skills/oma-observability/resources/layers/L7-application/web-rum.md +350 -0
- package/skills/oma-observability/resources/layers/mesh.md +368 -0
- package/skills/oma-observability/resources/matrix.md +177 -0
- package/skills/oma-observability/resources/meta-observability.md +605 -0
- package/skills/oma-observability/resources/observability-as-code.md +666 -0
- package/skills/oma-observability/resources/signals/audit.md +310 -0
- package/skills/oma-observability/resources/signals/cost.md +303 -0
- package/skills/oma-observability/resources/signals/logs.md +263 -0
- package/skills/oma-observability/resources/signals/metrics.md +478 -0
- package/skills/oma-observability/resources/signals/privacy.md +351 -0
- package/skills/oma-observability/resources/signals/profiles.md +245 -0
- package/skills/oma-observability/resources/signals/traces.md +360 -0
- package/skills/oma-observability/resources/standards.md +214 -0
- package/skills/oma-observability/resources/transport/collector-topology.md +308 -0
- package/skills/oma-observability/resources/transport/otlp-grpc-vs-http.md +256 -0
- package/skills/oma-observability/resources/transport/sampling-recipes.md +297 -0
- package/skills/oma-observability/resources/transport/udp-statsd-mtu.md +167 -0
- package/skills/oma-observability/resources/vendor-categories.md +352 -0
- package/skills/oma-orchestration/SKILL.md +302 -0
- package/skills/oma-orchestration/config/cli-config.yaml +92 -0
- package/skills/oma-orchestration/resources/memory-schema.md +232 -0
- package/skills/oma-orchestration/resources/subagent-prompt-template.md +30 -0
- package/skills/oma-orchestration/scripts/parallel-run.sh +6 -0
- package/skills/oma-orchestration/scripts/spawn-agent.sh +5 -0
- package/skills/oma-orchestration/scripts/verify.sh +20 -0
- package/skills/oma-orchestration/templates/backend-task.md +19 -0
- package/skills/oma-orchestration/templates/debug-task.md +16 -0
- package/skills/oma-orchestration/templates/frontend-task.md +18 -0
- package/skills/oma-orchestration/templates/mobile-task.md +18 -0
- package/skills/oma-orchestration/templates/qa-task.md +16 -0
- package/skills/oma-orchestration/templates/tasks-example.yaml +15 -0
- package/skills/oma-pdf/SKILL.md +162 -0
- package/skills/oma-pdf/config/pdf-config.yaml +27 -0
- package/skills/oma-pdf/resources/execution-protocol.md +127 -0
- package/skills/oma-pm/SKILL.md +157 -0
- package/skills/oma-pm/resources/error-playbook.md +75 -0
- package/skills/oma-pm/resources/examples.md +439 -0
- package/skills/oma-pm/resources/execution-protocol.md +62 -0
- package/skills/oma-pm/resources/iso-planning.md +110 -0
- package/skills/oma-pm/resources/plan-phase-protocol.md +66 -0
- package/skills/oma-pm/resources/task-template.json +86 -0
- package/skills/oma-qa/SKILL.md +141 -0
- package/skills/oma-qa/resources/checklist.md +339 -0
- package/skills/oma-qa/resources/error-playbook.md +98 -0
- package/skills/oma-qa/resources/execution-protocol.md +169 -0
- package/skills/oma-qa/resources/iso-quality.md +82 -0
- package/skills/oma-qa/resources/verify-ship-protocol.md +116 -0
- package/skills/oma-recap/SKILL.md +245 -0
- package/skills/oma-recap/resources/output-formats.md +83 -0
- package/skills/oma-refactor/SKILL.md +184 -0
- package/skills/oma-refactor/resources/definition.md +108 -0
- package/skills/oma-refactor/resources/governance.md +33 -0
- package/skills/oma-refactor/resources/hotspots.py +44 -0
- package/skills/oma-refactor/resources/measurement.md +93 -0
- package/skills/oma-scholar/SKILL.md +276 -0
- package/skills/oma-scholar/config/scholar-config.yaml +79 -0
- package/skills/oma-scholar/resources/api-endpoints.md +174 -0
- package/skills/oma-scholar/resources/checklist.md +92 -0
- package/skills/oma-scholar/resources/execution-protocol.md +224 -0
- package/skills/oma-scholar/resources/fallback-providers.md +143 -0
- package/skills/oma-scholar/resources/setup-openalex.md +85 -0
- package/skills/oma-scholar/resources/sidecar-spec.md +341 -0
- package/skills/oma-scholar/resources/upstream-spec-cache.md +972 -0
- package/skills/oma-scm/SKILL.md +103 -0
- package/skills/oma-scm/resources/cm-operations.md +56 -0
- package/skills/oma-scm/resources/codeowners-playbook.md +45 -0
- package/skills/oma-scm/resources/conventional-commits.md +108 -0
- package/skills/oma-scm/resources/merge-risk.md +76 -0
- package/skills/oma-scm/resources/onboarding-risk-signals.md +71 -0
- package/skills/oma-search/SKILL.md +125 -0
- package/skills/oma-search/resources/checklist.md +36 -0
- package/skills/oma-search/resources/error-playbook.md +66 -0
- package/skills/oma-search/resources/examples.md +80 -0
- package/skills/oma-search/resources/execution-protocol.md +86 -0
- package/skills/oma-search/resources/intent-rules.md +47 -0
- package/skills/oma-search/resources/trust-registry.md +53 -0
- package/skills/oma-security/SKILL.md +172 -0
- package/skills/oma-security/resources/artex.md +108 -0
- package/skills/oma-security/resources/ci.md +134 -0
- package/skills/oma-security/resources/cisco-source.md +108 -0
- package/skills/oma-security/resources/deepsec-config.md +45 -0
- package/skills/oma-security/resources/deepsec-matchers.md +35 -0
- package/skills/oma-security/resources/deepsec-scanning.md +45 -0
- package/skills/oma-security/resources/deepsec-setup.md +41 -0
- package/skills/oma-security/resources/findings-contract.md +408 -0
- package/skills/oma-security/resources/mcp-scanning.md +122 -0
- package/skills/oma-security/resources/skill-scanning.md +106 -0
- package/skills/oma-security/resources/validation.md +71 -0
- package/skills/oma-skill-creation/SKILL.md +84 -0
- package/skills/oma-skill-creation/resources/prompt-evaluation.md +36 -0
- package/skills/oma-skill-creation/resources/ssl-lite-template.md +108 -0
- package/skills/oma-skill-creation/resources/validation-checklist.md +101 -0
- package/skills/oma-slide/SKILL.md +277 -0
- package/skills/oma-slide/resources/animation-patterns.md +245 -0
- package/skills/oma-slide/resources/assets/deck-stage.js +514 -0
- package/skills/oma-slide/resources/assets/viewport-base.css +257 -0
- package/skills/oma-slide/resources/canva-integration.md +203 -0
- package/skills/oma-slide/resources/checklist.md +46 -0
- package/skills/oma-slide/resources/design-doctrine.md +260 -0
- package/skills/oma-slide/resources/fixed-stage.md +232 -0
- package/skills/oma-slide/resources/generation-protocol.md +393 -0
- package/skills/oma-slide/resources/native-pptx.md +84 -0
- package/skills/oma-slide/resources/selection-index.json +461 -0
- package/skills/oma-slide/resources/style-presets.LICENSE +10 -0
- package/skills/oma-slide/resources/style-presets.md +520 -0
- package/skills/oma-tf-infra/SKILL.md +201 -0
- package/skills/oma-tf-infra/resources/checklist.md +53 -0
- package/skills/oma-tf-infra/resources/cost-optimization.md +574 -0
- package/skills/oma-tf-infra/resources/error-playbook.md +68 -0
- package/skills/oma-tf-infra/resources/examples.md +38 -0
- package/skills/oma-tf-infra/resources/execution-protocol.md +129 -0
- package/skills/oma-tf-infra/resources/iso-42001-infra.md +229 -0
- package/skills/oma-tf-infra/resources/multi-cloud-examples.md +241 -0
- package/skills/oma-tf-infra/resources/policy-testing-examples.md +332 -0
- package/skills/oma-translation/SKILL.md +229 -0
- package/skills/oma-translation/resources/anti-ai-patterns.md +104 -0
- package/skills/oma-translation/resources/lang/_template.md +73 -0
- package/skills/oma-translation/resources/lang/en.md +123 -0
- package/skills/oma-translation/resources/lang/ja.md +274 -0
- package/skills/oma-translation/resources/lang/ko.md +228 -0
- package/skills/oma-translation/resources/lang/zh.md +285 -0
- package/skills/oma-translation/resources/style-skills.md +104 -0
- package/skills/oma-translation/resources/translation-rubric.md +126 -0
- package/skills/oma-video/SKILL.md +229 -0
- package/skills/oma-video/config/video-config.yaml +60 -0
- package/skills/oma-video/resources/checklist.md +26 -0
- package/skills/oma-video/resources/execution-protocol.md +122 -0
- package/skills/oma-video/resources/existing-media.md +185 -0
- package/skills/oma-video/resources/hyperframes-authoring/README.md +44 -0
- package/skills/oma-video/resources/hyperframes-authoring/demo.md +31 -0
- package/skills/oma-video/resources/hyperframes-authoring/explainer.md +10 -0
- package/skills/oma-video/resources/hyperframes-authoring/shorts.md +10 -0
- package/skills/oma-video/resources/motion-principles.md +81 -0
- package/skills/oma-video/resources/mpt/driver.py +301 -0
- package/skills/oma-video/resources/prompt-tips.md +75 -0
- package/skills/oma-video/resources/script-schema.md +81 -0
- package/skills/oma-video/resources/sound-design.md +127 -0
- package/skills/oma-video/resources/strudel/package.json +11 -0
- package/skills/oma-video/resources/strudel/page.html +87 -0
- package/skills/oma-video/resources/strudel/render.mjs +295 -0
- package/skills/oma-video/resources/vendor-matrix.md +124 -0
- package/skills/oma-voice/SKILL.md +249 -0
- package/skills/oma-voice/config/voice-config.yaml +30 -0
- package/skills/oma-voice/resources/audio-processing.md +119 -0
- package/skills/oma-voice/resources/checklist.md +47 -0
- package/skills/oma-voice/resources/execution-protocol.md +215 -0
- package/skills/oma-voice/resources/prompt-tips.md +43 -0
- package/skills/oma-voice/resources/voice-matrix.md +51 -0
- package/skills/oma-voice/resources/voicestudio.md +87 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"project_name": "",
|
|
3
|
+
"description": "",
|
|
4
|
+
"session_id": "{YYYYMMDD}-{HHMMSS}",
|
|
5
|
+
"lineage_id": "{YYYYMMDD}-{HHMMSS}",
|
|
6
|
+
"max_attempts": 3,
|
|
7
|
+
"created": "",
|
|
8
|
+
"tech_stack": {
|
|
9
|
+
"frontend": "",
|
|
10
|
+
"backend": "",
|
|
11
|
+
"mobile": "",
|
|
12
|
+
"database": "",
|
|
13
|
+
"infrastructure": ""
|
|
14
|
+
},
|
|
15
|
+
"architecture_decisions": [
|
|
16
|
+
{
|
|
17
|
+
"decision": "",
|
|
18
|
+
"rationale": "",
|
|
19
|
+
"alternatives_considered": []
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"tasks": [
|
|
23
|
+
{
|
|
24
|
+
"id": "task-1",
|
|
25
|
+
"goal_id": "task-1",
|
|
26
|
+
"agent": "backend|frontend|mobile|db|qa|debug|pm|architecture|refactor|tf-infra|docs",
|
|
27
|
+
"title": "",
|
|
28
|
+
"description": "",
|
|
29
|
+
"priority": 1,
|
|
30
|
+
"dependencies": [],
|
|
31
|
+
"estimated_complexity": "low|medium|high|very-high",
|
|
32
|
+
"task": "{self-contained replayable task instruction}",
|
|
33
|
+
"acceptance_criteria": [{"id": "AC1", "description": "{observable behavior required by the user}"}],
|
|
34
|
+
"required_checks": [{"id": "check-1", "criteria": ["AC1"], "command": ["{repository verification executable}", "{argument}"], "cwd": "."}],
|
|
35
|
+
"retry_policy": "manual",
|
|
36
|
+
"artifacts_expected": [],
|
|
37
|
+
"scope": [],
|
|
38
|
+
"test_approach": "tdd|test_after|not_applicable",
|
|
39
|
+
"test_scope": [],
|
|
40
|
+
"tdd_evidence_required": true,
|
|
41
|
+
"test_approach_rationale": "",
|
|
42
|
+
"alternative_verification": ""
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"api_contracts": [
|
|
46
|
+
{
|
|
47
|
+
"endpoint": "",
|
|
48
|
+
"method": "GET|POST|PUT|DELETE|PATCH",
|
|
49
|
+
"request": {},
|
|
50
|
+
"response": {},
|
|
51
|
+
"headers": {}
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"data_models": [
|
|
55
|
+
{
|
|
56
|
+
"entity": "",
|
|
57
|
+
"fields": {}
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"non_functional_requirements": {
|
|
61
|
+
"security": [],
|
|
62
|
+
"performance": [],
|
|
63
|
+
"scalability": []
|
|
64
|
+
},
|
|
65
|
+
"testing_strategy": {
|
|
66
|
+
"unit_tests": "",
|
|
67
|
+
"integration_tests": "",
|
|
68
|
+
"e2e_tests": "",
|
|
69
|
+
"performance_tests": ""
|
|
70
|
+
},
|
|
71
|
+
"project_controls": {
|
|
72
|
+
"iso_21500": {
|
|
73
|
+
"scope_defined": false,
|
|
74
|
+
"stakeholders_identified": [],
|
|
75
|
+
"dependencies_mapped": false
|
|
76
|
+
},
|
|
77
|
+
"iso_31000": {
|
|
78
|
+
"top_risks": [],
|
|
79
|
+
"treatments": []
|
|
80
|
+
},
|
|
81
|
+
"iso_38500": {
|
|
82
|
+
"decision_owner": "",
|
|
83
|
+
"approval_required_for": []
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oma-qa
|
|
3
|
+
description: Review changes for correctness, security, accessibility, and
|
|
4
|
+
performance. Use for scoped quality reviews or verification plans; bug fixes
|
|
5
|
+
use oma-debug.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# QA Agent - Quality Assurance Specialist
|
|
9
|
+
|
|
10
|
+
## Scheduling
|
|
11
|
+
|
|
12
|
+
### Goal
|
|
13
|
+
Review and verify software quality with priority on security, performance, accessibility, correctness, test coverage, and standards-aligned quality evidence.
|
|
14
|
+
|
|
15
|
+
### Intent signature
|
|
16
|
+
- User asks for review, QA, security audit, OWASP, performance, accessibility, coverage, lint, testing, or ISO/IEC quality recommendations.
|
|
17
|
+
- User needs findings with evidence, severity, file references, and concrete remediation.
|
|
18
|
+
|
|
19
|
+
### When to use
|
|
20
|
+
- Final review before deployment
|
|
21
|
+
- Security audits (OWASP Top 10)
|
|
22
|
+
- Performance analysis
|
|
23
|
+
- Accessibility compliance (WCAG 2.2 AA)
|
|
24
|
+
- Test coverage analysis
|
|
25
|
+
|
|
26
|
+
### When NOT to use
|
|
27
|
+
- Initial implementation -> let specialists build first
|
|
28
|
+
- Writing new features -> use domain agents
|
|
29
|
+
|
|
30
|
+
### Expected inputs
|
|
31
|
+
- Diff, codebase area, PR, feature branch, build output, test results, or quality concern
|
|
32
|
+
- Applicable standards such as OWASP, WCAG, ISO/IEC 25010, or ISO/IEC 29119
|
|
33
|
+
- Verification commands and target environment when available
|
|
34
|
+
|
|
35
|
+
### Expected outputs
|
|
36
|
+
- Ordered findings with severity, evidence, file/line references, and fixes
|
|
37
|
+
- Test, security, performance, accessibility, and quality recommendations
|
|
38
|
+
- Verification summary and residual risks
|
|
39
|
+
|
|
40
|
+
### Dependencies
|
|
41
|
+
- `resources/execution-protocol.md`, ISO guide, and checklist
|
|
42
|
+
- Automated tools such as `npm audit`, `bandit`, `lighthouse`, linters, tests, and coverage tools when applicable
|
|
43
|
+
|
|
44
|
+
### Control-flow features
|
|
45
|
+
- Branches by review type, available diff, quality dimension, and tool availability
|
|
46
|
+
- Reads code and reports; may run tools; generally should not implement broad feature work
|
|
47
|
+
- Findings must be reproducible and prioritized
|
|
48
|
+
|
|
49
|
+
## Structural Flow
|
|
50
|
+
|
|
51
|
+
### Entry
|
|
52
|
+
1. Identify review scope and quality dimensions.
|
|
53
|
+
2. Collect diff, files, commands, and standards context.
|
|
54
|
+
3. Choose automated checks before manual review where practical.
|
|
55
|
+
|
|
56
|
+
### Scenes
|
|
57
|
+
1. **PREPARE**: Define scope, severity rubric, and evidence requirements.
|
|
58
|
+
2. **ACQUIRE**: Read diff/code and run relevant automated tools.
|
|
59
|
+
3. **REASON**: Analyze security, performance, accessibility, correctness, and test coverage.
|
|
60
|
+
4. **VERIFY**: Reproduce findings and reject false positives.
|
|
61
|
+
5. **FINALIZE**: Report findings, remediation, test gaps, and residual risk.
|
|
62
|
+
|
|
63
|
+
### Transitions
|
|
64
|
+
- If security issues exist, prioritize them before performance/accessibility/code quality.
|
|
65
|
+
- If an automated tool is unavailable, document that limit and do manual checks.
|
|
66
|
+
- Record verification completeness separately from defect severity: unavailable evidence makes the review `partial` or `blocked`, not a confirmed defect or a pass.
|
|
67
|
+
- If no findings are found, state that and identify remaining test gaps or residual risk.
|
|
68
|
+
- If standards-based review is requested, use `resources/iso-quality.md`.
|
|
69
|
+
|
|
70
|
+
### Failure and recovery
|
|
71
|
+
- If files or diff are unavailable, ask for scope or review the current working tree.
|
|
72
|
+
- If a finding cannot be reproduced, do not report it as a finding.
|
|
73
|
+
- If remediation needs domain implementation, route to the responsible specialist.
|
|
74
|
+
|
|
75
|
+
### Exit
|
|
76
|
+
- Success: findings are ordered, evidenced, reproducible, and actionable.
|
|
77
|
+
- Partial success: unavailable tools or unverified areas are explicit.
|
|
78
|
+
|
|
79
|
+
## Logical Operations
|
|
80
|
+
|
|
81
|
+
### Actions
|
|
82
|
+
| Action | SSL primitive | Evidence |
|
|
83
|
+
|--------|---------------|----------|
|
|
84
|
+
| Read review scope and code | `READ` | Diff, files, reports |
|
|
85
|
+
| Select quality checks | `SELECT` | Security/performance/accessibility/test dimensions |
|
|
86
|
+
| Run automated tools | `CALL_TOOL` | Audit, lint, tests, Lighthouse, coverage |
|
|
87
|
+
| Compare behavior to standards | `COMPARE` | OWASP, WCAG, ISO guides |
|
|
88
|
+
| Validate findings | `VALIDATE` | Reproducibility and evidence |
|
|
89
|
+
| Write review report | `WRITE` | Findings and remediation |
|
|
90
|
+
| Notify outcome | `NOTIFY` | Final review summary |
|
|
91
|
+
|
|
92
|
+
### Tools and instruments
|
|
93
|
+
- Security, lint, coverage, performance, accessibility, and test tools
|
|
94
|
+
- ISO quality guide and checklist
|
|
95
|
+
|
|
96
|
+
### Canonical command path
|
|
97
|
+
```bash
|
|
98
|
+
npm audit
|
|
99
|
+
bandit -r .
|
|
100
|
+
lighthouse <url>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Run only the tools that match the detected stack and available target. Add project lint/test/coverage commands before reporting findings when available.
|
|
104
|
+
|
|
105
|
+
### Resource scope
|
|
106
|
+
| Scope | Resource target |
|
|
107
|
+
|-------|-----------------|
|
|
108
|
+
| `CODEBASE` | Reviewed source, tests, configs, and diff |
|
|
109
|
+
| `PROCESS` | Automated QA/security/performance/accessibility commands |
|
|
110
|
+
| `LOCAL_FS` | Reports, coverage output, review artifacts |
|
|
111
|
+
| `USER_DATA` | User-provided acceptance and quality criteria |
|
|
112
|
+
|
|
113
|
+
### Preconditions
|
|
114
|
+
- Review scope and available evidence are identifiable.
|
|
115
|
+
- Tools can run or their absence is documented.
|
|
116
|
+
|
|
117
|
+
### Effects and side effects
|
|
118
|
+
- Produces review findings and recommendations.
|
|
119
|
+
- May run read-heavy or diagnostic commands.
|
|
120
|
+
- Does not write broad implementation changes unless explicitly requested.
|
|
121
|
+
|
|
122
|
+
### Guardrails
|
|
123
|
+
1. Review in priority order: Security > Performance > Accessibility > Code Quality
|
|
124
|
+
2. Every finding must include file:line, description, and fix
|
|
125
|
+
3. Severity: CRITICAL (security breach/data loss), HIGH (blocks launch), MEDIUM (this sprint), LOW (backlog)
|
|
126
|
+
4. Run the automated tools that apply to the project and review scope; do not require unrelated stack tools
|
|
127
|
+
5. Every defect finding must be reproducible. Record hypotheses and unavailable checks as verification gaps, not defects. Do not issue PASS while required checks remain unverified.
|
|
128
|
+
6. Provide remediation code, not just descriptions
|
|
129
|
+
7. When relevant, map findings to **ISO/IEC 25010** quality characteristics and propose **ISO/IEC 29119**-aligned test improvements
|
|
130
|
+
|
|
131
|
+
## References
|
|
132
|
+
- Execution steps (follow for the selected task): `resources/execution-protocol.md`
|
|
133
|
+
- ISO quality guide: `resources/iso-quality.md`
|
|
134
|
+
- QA checklist: `resources/checklist.md`
|
|
135
|
+
- Error recovery: `resources/error-playbook.md`
|
|
136
|
+
- Ultrawork VERIFY/SHIP phase protocol: `resources/verify-ship-protocol.md` (used when this skill runs inside the ultrawork workflow)
|
|
137
|
+
- Context loading: `../_shared/core/context-loading.md`
|
|
138
|
+
- Context budget: `../_shared/core/context-budget.md`
|
|
139
|
+
- Runtime lessons: `../_shared/core/session-metrics.md`
|
|
140
|
+
- Code intelligence: `../_shared/core/code-intelligence.md`
|
|
141
|
+
- Observability handoff: `../oma-observability/SKILL.md` §Integrations — canary RUM (Core Web Vitals), backend perf spans
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
# QA Review Checklist
|
|
2
|
+
|
|
3
|
+
Apply checks to the changed scope and the project's declared requirements,
|
|
4
|
+
supported platforms, and existing architecture. Mark irrelevant checks N/A.
|
|
5
|
+
Measure against adopted targets; example sizes, durations, load levels, or
|
|
6
|
+
implementation patterns are not universal acceptance gates. Record required
|
|
7
|
+
checks that could not run as verification gaps, not passes or defect findings.
|
|
8
|
+
|
|
9
|
+
## Security Checklist
|
|
10
|
+
|
|
11
|
+
### Authentication & Authorization
|
|
12
|
+
- [ ] Passwords hashed with Argon2id (scrypt/bcrypt acceptable; never MD5/SHA1)
|
|
13
|
+
- [ ] Password policy enforced when local password authentication is used
|
|
14
|
+
- [ ] JWT tokens properly signed and validated when JWT is used
|
|
15
|
+
- [ ] Refresh tokens implemented (if long sessions needed)
|
|
16
|
+
- [ ] Token/session expiry and rotation match the declared authentication policy
|
|
17
|
+
- [ ] Protected endpoints enforce the required authorization; public endpoints are intentionally public
|
|
18
|
+
- [ ] Resource ownership, tenant, and role boundaries match the access model
|
|
19
|
+
- [ ] Admin functions require admin role
|
|
20
|
+
- [ ] Authentication abuse controls match the declared threat model and rate-limit policy
|
|
21
|
+
- [ ] Account lockout after failed login attempts (optional)
|
|
22
|
+
- [ ] MFA available (optional, but recommended)
|
|
23
|
+
|
|
24
|
+
### Input Validation & Injection
|
|
25
|
+
- [ ] SQL injection: ORM used OR parameterized queries
|
|
26
|
+
- [ ] XSS: Input sanitized, CSP headers set
|
|
27
|
+
- [ ] Command injection: No shell execution with user input
|
|
28
|
+
- [ ] Path traversal: File paths validated
|
|
29
|
+
- [ ] LDAP injection: LDAP queries parameterized
|
|
30
|
+
- [ ] XML injection: XML parsing secure
|
|
31
|
+
- [ ] Email validation (proper regex/library)
|
|
32
|
+
- [ ] URL validation (allowlist for external requests)
|
|
33
|
+
|
|
34
|
+
### Data Protection
|
|
35
|
+
- [ ] HTTPS enforced (redirect HTTP to HTTPS)
|
|
36
|
+
- [ ] Sensitive data NOT in logs
|
|
37
|
+
- [ ] Sensitive data NOT in error messages
|
|
38
|
+
- [ ] Sensitive data NOT in URLs (use POST body)
|
|
39
|
+
- [ ] Database backups encrypted
|
|
40
|
+
- [ ] PII data encrypted at rest (if applicable)
|
|
41
|
+
- [ ] Secure session management (httpOnly, secure, sameSite cookies)
|
|
42
|
+
|
|
43
|
+
### API Security
|
|
44
|
+
- [ ] CORS matches allowed clients and credential use; public noncredentialed APIs may deliberately use wildcard origins
|
|
45
|
+
- [ ] CSRF defenses apply to authentication that the browser attaches automatically
|
|
46
|
+
- [ ] Rate limiting on API endpoints
|
|
47
|
+
- [ ] API keys/tokens NOT in source code
|
|
48
|
+
- [ ] API compatibility/versioning follows the affected contract's evolution policy
|
|
49
|
+
- [ ] Proper error handling (no stack traces exposed)
|
|
50
|
+
|
|
51
|
+
### Dependencies
|
|
52
|
+
- [ ] No high/critical vulnerabilities (npm audit / safety check)
|
|
53
|
+
- [ ] Affected dependencies are supported and satisfy project policy; unrelated upgrades are not required by this review
|
|
54
|
+
- [ ] No unused dependencies
|
|
55
|
+
- [ ] License compliance checked
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Performance Checklist
|
|
60
|
+
|
|
61
|
+
### Backend Performance
|
|
62
|
+
- [ ] Affected API latency meets the declared SLO at representative load
|
|
63
|
+
- [ ] Database queries optimized (no N+1)
|
|
64
|
+
- [ ] Database indexes on foreign keys and frequent queries
|
|
65
|
+
- [ ] Connection pooling configured
|
|
66
|
+
- [ ] Caching is appropriate where measurements or requirements justify it
|
|
67
|
+
- [ ] Pagination for large result sets
|
|
68
|
+
- [ ] Async operations where appropriate
|
|
69
|
+
- [ ] Background jobs for heavy tasks
|
|
70
|
+
|
|
71
|
+
### Frontend Performance
|
|
72
|
+
- [ ] Adopted frontend performance measures meet the project's thresholds on its supported devices and network conditions
|
|
73
|
+
- [ ] Affected bundle sizes meet the project budget; record measured regressions and relevant baseline
|
|
74
|
+
- [ ] Code splitting implemented
|
|
75
|
+
- [ ] Lazy loading for non-critical components
|
|
76
|
+
- [ ] Images optimized (WebP, compression)
|
|
77
|
+
- [ ] Images lazy loaded (loading="lazy")
|
|
78
|
+
- [ ] Fonts optimized (font-display: swap)
|
|
79
|
+
- [ ] No render-blocking resources
|
|
80
|
+
- [ ] Service worker for caching (optional)
|
|
81
|
+
|
|
82
|
+
### Mobile Performance
|
|
83
|
+
- [ ] Size and startup time meet the supported platform/device budgets
|
|
84
|
+
- [ ] Scrolling and interaction meet the adopted frame-time targets
|
|
85
|
+
- [ ] No memory leaks
|
|
86
|
+
- [ ] Battery usage minimal
|
|
87
|
+
- [ ] Offline support (if required)
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Accessibility Checklist (WCAG 2.2 AA)
|
|
92
|
+
|
|
93
|
+
### Perceivable
|
|
94
|
+
- [ ] All images have alt text
|
|
95
|
+
- [ ] Decorative images have empty alt (`alt=""`)
|
|
96
|
+
- [ ] Color contrast 4.5:1 (normal text), 3:1 (large text)
|
|
97
|
+
- [ ] Text resizable up to 200% without loss of content
|
|
98
|
+
- [ ] Content understandable without color alone
|
|
99
|
+
- [ ] Audio/video has captions (if applicable)
|
|
100
|
+
|
|
101
|
+
### Operable
|
|
102
|
+
- [ ] All functionality available via keyboard
|
|
103
|
+
- [ ] No keyboard trap
|
|
104
|
+
- [ ] Focus order is logical
|
|
105
|
+
- [ ] Focus indicators visible
|
|
106
|
+
- [ ] Skip to main content link
|
|
107
|
+
- [ ] No content flashes more than 3 times per second
|
|
108
|
+
- [ ] Enough time to read/interact with content
|
|
109
|
+
- [ ] Pause/stop for moving content
|
|
110
|
+
|
|
111
|
+
### Understandable
|
|
112
|
+
- [ ] Page language set (`<html lang="en">`)
|
|
113
|
+
- [ ] Clear labels on form inputs
|
|
114
|
+
- [ ] Error messages clear and helpful
|
|
115
|
+
- [ ] Required fields indicated
|
|
116
|
+
- [ ] Consistent navigation across pages
|
|
117
|
+
- [ ] Predictable behavior (no unexpected popups)
|
|
118
|
+
|
|
119
|
+
### Robust
|
|
120
|
+
- [ ] Valid HTML (semantic tags)
|
|
121
|
+
- [ ] ARIA labels where needed
|
|
122
|
+
- [ ] ARIA roles appropriate
|
|
123
|
+
- [ ] Works with screen readers (test with NVDA/JAWS)
|
|
124
|
+
- [ ] Works in different browsers (Chrome, Firefox, Safari, Edge)
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Testing Checklist
|
|
129
|
+
|
|
130
|
+
### Unit Tests
|
|
131
|
+
- [ ] Coverage meets the project's declared baseline or changed-code target when coverage is applicable; otherwise record risk-focused tests or alternative verification and its limits
|
|
132
|
+
- [ ] Tasks marked `test_approach: tdd` have a `TDD_EVIDENCE` block in the implementation result (focused test command, RED failure, GREEN pass) — see `../../_shared/core/test-approach.md`; do not require this evidence for `test_after` / `not_applicable` tasks
|
|
133
|
+
- [ ] All business logic functions tested
|
|
134
|
+
- [ ] Edge cases covered
|
|
135
|
+
- [ ] Error handling tested
|
|
136
|
+
- [ ] Mocks used appropriately
|
|
137
|
+
- [ ] Test duration and feedback time meet the project's check/CI budget
|
|
138
|
+
- [ ] No flaky tests
|
|
139
|
+
|
|
140
|
+
### Integration Tests
|
|
141
|
+
- [ ] All API endpoints tested
|
|
142
|
+
- [ ] Database operations tested
|
|
143
|
+
- [ ] Auth flow tested
|
|
144
|
+
- [ ] Error responses tested (401, 403, 404, 500)
|
|
145
|
+
- [ ] Request validation tested
|
|
146
|
+
|
|
147
|
+
### E2E Tests
|
|
148
|
+
- [ ] Critical user flows tested (registration, login, main feature)
|
|
149
|
+
- [ ] Happy path tested
|
|
150
|
+
- [ ] Error scenarios tested
|
|
151
|
+
- [ ] Mobile responsive tested
|
|
152
|
+
- [ ] Cross-browser tested (Chrome, Firefox, Safari)
|
|
153
|
+
|
|
154
|
+
### Test Governance
|
|
155
|
+
- [ ] Test levels and scope are defined clearly
|
|
156
|
+
- [ ] Important requirements trace to test cases or test scenarios
|
|
157
|
+
- [ ] Entry / exit criteria are defined for major release decisions
|
|
158
|
+
- [ ] Test design technique is appropriate for risk and feature type
|
|
159
|
+
|
|
160
|
+
### Performance Tests
|
|
161
|
+
- [ ] Load tests use the adopted workload, concurrency, and traffic model where this change requires them
|
|
162
|
+
- [ ] Stress testing (identify breaking point)
|
|
163
|
+
- [ ] Database under load tested
|
|
164
|
+
- [ ] API rate limits tested
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Code Quality Checklist
|
|
169
|
+
|
|
170
|
+
### Architecture
|
|
171
|
+
- [ ] Clear separation of concerns
|
|
172
|
+
- [ ] Duplication does not create conflicting behavior or excessive change cost
|
|
173
|
+
- [ ] SOLID principles followed
|
|
174
|
+
- [ ] Dependency injection used
|
|
175
|
+
- [ ] Data-access boundaries match the existing backend architecture
|
|
176
|
+
- [ ] Component composition (frontend)
|
|
177
|
+
|
|
178
|
+
### Code Metrics
|
|
179
|
+
- [ ] Complexity, size, and nesting meet project rules and allow the affected behavior to be understood and verified
|
|
180
|
+
- [ ] Meaningful variable names
|
|
181
|
+
|
|
182
|
+
### Error Handling
|
|
183
|
+
- [ ] Async failures reach the appropriate handler; no swallowed errors or unhandled rejections
|
|
184
|
+
- [ ] Errors logged appropriately
|
|
185
|
+
- [ ] User-friendly error messages
|
|
186
|
+
- [ ] No silent failures
|
|
187
|
+
- [ ] Graceful degradation
|
|
188
|
+
|
|
189
|
+
### Documentation
|
|
190
|
+
- [ ] README with setup instructions
|
|
191
|
+
- [ ] API documentation (OpenAPI/Swagger)
|
|
192
|
+
- [ ] Complex logic documented
|
|
193
|
+
- [ ] Environment variables documented
|
|
194
|
+
- [ ] Known incomplete behavior is tracked and does not contradict the required release criteria
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## ISO Quality Alignment
|
|
199
|
+
|
|
200
|
+
### ISO/IEC 25010
|
|
201
|
+
- [ ] Functional suitability considered
|
|
202
|
+
- [ ] Performance efficiency considered
|
|
203
|
+
- [ ] Compatibility considered where integration matters
|
|
204
|
+
- [ ] Usability / accessibility considered
|
|
205
|
+
- [ ] Reliability considered
|
|
206
|
+
- [ ] Security considered
|
|
207
|
+
- [ ] Maintainability considered
|
|
208
|
+
- [ ] Portability considered when relevant
|
|
209
|
+
|
|
210
|
+
### ISO/IEC 29119
|
|
211
|
+
- [ ] Test strategy or test plan exists for significant changes
|
|
212
|
+
- [ ] Test basis, test conditions, and expected results are clear
|
|
213
|
+
- [ ] Risk-based prioritization is visible in test scope
|
|
214
|
+
- [ ] Test evidence and traceability are sufficient for review or audit
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Browser Compatibility Checklist
|
|
219
|
+
|
|
220
|
+
### Desktop
|
|
221
|
+
- [ ] Chrome (latest 2 versions)
|
|
222
|
+
- [ ] Firefox (latest 2 versions)
|
|
223
|
+
- [ ] Safari (latest 2 versions)
|
|
224
|
+
- [ ] Edge (latest 2 versions)
|
|
225
|
+
|
|
226
|
+
### Mobile
|
|
227
|
+
- [ ] iOS Safari (latest 2 versions)
|
|
228
|
+
- [ ] Android Chrome (latest 2 versions)
|
|
229
|
+
- [ ] Responsive breakpoints (320px, 768px, 1024px, 1440px)
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## DevOps Checklist
|
|
234
|
+
|
|
235
|
+
### Environment
|
|
236
|
+
- [ ] Environment variables used (not hardcoded)
|
|
237
|
+
- [ ] .env.example provided
|
|
238
|
+
- [ ] Secrets NOT in source code
|
|
239
|
+
- [ ] Different configs for dev/staging/prod
|
|
240
|
+
|
|
241
|
+
### Logging
|
|
242
|
+
- [ ] Appropriate log levels (DEBUG, INFO, WARNING, ERROR)
|
|
243
|
+
- [ ] No sensitive data in logs
|
|
244
|
+
- [ ] Structured logging (JSON format)
|
|
245
|
+
- [ ] Log rotation configured
|
|
246
|
+
|
|
247
|
+
### Monitoring
|
|
248
|
+
- [ ] Health check endpoint (`/health`)
|
|
249
|
+
- [ ] Error tracking (Sentry, Rollbar, etc.)
|
|
250
|
+
- [ ] Performance monitoring (APM)
|
|
251
|
+
- [ ] Uptime monitoring
|
|
252
|
+
|
|
253
|
+
### Deployment
|
|
254
|
+
- [ ] CI/CD pipeline configured
|
|
255
|
+
- [ ] Automated tests in CI
|
|
256
|
+
- [ ] Database migrations automated
|
|
257
|
+
- [ ] Rollback plan documented
|
|
258
|
+
- [ ] Zero-downtime deployment (if required)
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Final Sign-Off
|
|
263
|
+
|
|
264
|
+
### Critical (Must Pass)
|
|
265
|
+
- [ ] No CRITICAL security vulnerabilities
|
|
266
|
+
- [ ] No HIGH security vulnerabilities
|
|
267
|
+
- [ ] Required checks for the changed behavior pass; missing checks and unrelated baseline failures are recorded separately
|
|
268
|
+
- [ ] Performance meets requirements
|
|
269
|
+
- [ ] No data loss scenarios
|
|
270
|
+
|
|
271
|
+
### Important (Should Pass)
|
|
272
|
+
- [ ] Applicable coverage target or documented alternative verification met
|
|
273
|
+
- [ ] Accessibility WCAG 2.2 AA
|
|
274
|
+
- [ ] Code quality metrics met
|
|
275
|
+
- [ ] Documentation complete
|
|
276
|
+
|
|
277
|
+
### Nice-to-Have (Can Address Later)
|
|
278
|
+
- [ ] Code refactoring opportunities documented
|
|
279
|
+
- [ ] Performance optimization ideas documented
|
|
280
|
+
- [ ] Future enhancement ideas documented
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Issue Prioritization
|
|
285
|
+
|
|
286
|
+
### CRITICAL (Block Deployment)
|
|
287
|
+
- Security vulnerabilities (SQL injection, XSS, auth bypass)
|
|
288
|
+
- Data loss bugs
|
|
289
|
+
- Application crashes
|
|
290
|
+
- Complete feature breakage
|
|
291
|
+
|
|
292
|
+
### HIGH (Fix Before Launch)
|
|
293
|
+
- Confirmed performance failures that violate a launch requirement or block a core workflow
|
|
294
|
+
- Major accessibility violations
|
|
295
|
+
- Missing auth checks
|
|
296
|
+
- Broken core functionality
|
|
297
|
+
|
|
298
|
+
### MEDIUM (Fix in Sprint)
|
|
299
|
+
- Minor bugs
|
|
300
|
+
- Code quality issues
|
|
301
|
+
- Missing tests
|
|
302
|
+
- Minor accessibility issues
|
|
303
|
+
|
|
304
|
+
### LOW (Backlog)
|
|
305
|
+
- Refactoring opportunities
|
|
306
|
+
- Performance optimizations
|
|
307
|
+
- Nice-to-have features
|
|
308
|
+
- Documentation improvements
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## Notes
|
|
313
|
+
|
|
314
|
+
- Choose available automated checks that match the stack, changed scope, and target; do not require unrelated tools or unrequested builds
|
|
315
|
+
- Use configured code intelligence or the documented native fallback for code analysis patterns
|
|
316
|
+
- Browser verification follows `mcp.devtools_browsers`: Aside (`aside`, default), Chrome DevTools MCP (`chrome`), and Firefox DevTools MCP (`firefox`). Multiple selections are supported; change them with `oma update mcp`. Discover the selected server’s tools before use. Chrome-specific calls below are examples only; use supported equivalents for Aside and Firefox. An empty selection disables browser MCP verification; report unverified UI checks.
|
|
317
|
+
- Document all findings with file:line references
|
|
318
|
+
- Provide remediation code examples
|
|
319
|
+
- Estimate fix time for each issue
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Runtime Verification (after static review)
|
|
324
|
+
|
|
325
|
+
Record results in the structured table format defined in `execution-protocol.md` Step 2.5 (Recording Results).
|
|
326
|
+
Run only applicable, authorized runtime checks on an available target. A static
|
|
327
|
+
document/configuration review does not require starting or building an app.
|
|
328
|
+
|
|
329
|
+
- [ ] Application starts without errors
|
|
330
|
+
- [ ] All modified endpoints return expected status codes; verify with `list_network_requests()`
|
|
331
|
+
- [ ] Form submissions produce correct database state; verify with `fill_form()` + `list_network_requests()`
|
|
332
|
+
- [ ] Error states render user-friendly messages (not stack traces); verify with `take_snapshot()` on error paths
|
|
333
|
+
- [ ] Empty/loading/error UI states all handled; verify with `navigate_page()` to empty state routes + `take_snapshot()`
|
|
334
|
+
- [ ] Interactive elements respond to input (not display-only); verify with `click(uid)` + `take_snapshot()` before/after
|
|
335
|
+
- [ ] Auth flows work end-to-end (register → login → protected route → logout); verify with sequential `fill()` + `click()` + `list_network_requests()`
|
|
336
|
+
- [ ] Rate limiting / throttling triggers at configured thresholds; verify with rapid `evaluate_script(fetch)` calls
|
|
337
|
+
- [ ] File upload/download actually transfers data (not stubbed); verify with `upload_file(uid, filePath)` + response check
|
|
338
|
+
- [ ] Pagination returns correct pages (not always page 1); verify with `click()` page 2 + `take_snapshot()` to confirm different content
|
|
339
|
+
- [ ] Zero JS console errors on critical paths; verify with `list_console_messages(types: ["error"])`
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# QA Agent - Error Recovery Playbook
|
|
2
|
+
|
|
3
|
+
When you encounter a failure during review, follow these recovery steps.
|
|
4
|
+
Use the relevant recovery steps. If required information or authority is missing, pause the dependent action and continue independent work.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Automated Tool Fails to Run
|
|
9
|
+
|
|
10
|
+
**Symptoms**: `npm audit`, `bandit`, `lighthouse` command errors
|
|
11
|
+
|
|
12
|
+
1. Check: is the tool installed? Note missing tool in result
|
|
13
|
+
2. Check: are you in the correct directory?
|
|
14
|
+
3. If `npm audit`: check the lockfile, registry access, and selected dependency scope. A narrower audit does not clear unreviewed dependencies; record exclusions.
|
|
15
|
+
4. If `bandit`: check Python path; may need `python -m bandit`
|
|
16
|
+
5. If `lighthouse`: requires a running server; note if server not available
|
|
17
|
+
6. **If tool unavailable**: Fall back to manual review, record `tool_unavailable: ["tool_name"]` in result
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## False Positive Suspected
|
|
22
|
+
|
|
23
|
+
**Symptoms**: Finding looks like a vulnerability but might be safe
|
|
24
|
+
|
|
25
|
+
1. Trace the data flow: does user input actually reach the dangerous operation?
|
|
26
|
+
2. Check: is there validation/sanitization upstream?
|
|
27
|
+
3. Check: is the framework handling this automatically? (e.g., ORM prevents SQL injection)
|
|
28
|
+
4. If still uncertain, record a hypothesis and the required evidence as a verification gap. Do not assign defect severity without confirming the defect.
|
|
29
|
+
5. Classify a confirmed finding by its observed impact, prerequisites, and failure/exploit evidence; do not issue PASS while required evidence is missing.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Cannot Access Source Code
|
|
34
|
+
|
|
35
|
+
**Symptoms**: configured code-intelligence tool returns nothing, times out, or a file is not found
|
|
36
|
+
|
|
37
|
+
1. Check the configured provider's discovered tools and the file path.
|
|
38
|
+
2. Use the documented native scoped-search fallback; do not install, initialize,
|
|
39
|
+
track, or silently switch providers.
|
|
40
|
+
3. Check whether code is in another package or monorepo directory.
|
|
41
|
+
4. If truly inaccessible: review what you can access and record the coverage gap.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Performance Metrics Unavailable
|
|
46
|
+
|
|
47
|
+
**Symptoms**: Can't run Lighthouse, no APM data, no load test results
|
|
48
|
+
|
|
49
|
+
1. Check if dev server is running for Lighthouse
|
|
50
|
+
2. If no server: review code statically for performance anti-patterns:
|
|
51
|
+
- N+1 queries (loops with DB calls)
|
|
52
|
+
- Missing pagination
|
|
53
|
+
- Large bundle imports
|
|
54
|
+
- No code splitting
|
|
55
|
+
3. Report findings with `static_analysis_only: true` flag
|
|
56
|
+
4. Recommend specific metrics to measure when environment is available
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Scope Too Large
|
|
61
|
+
|
|
62
|
+
**Symptoms**: Full audit requested but codebase has 100+ files
|
|
63
|
+
|
|
64
|
+
1. Prioritize: auth/security-critical files first
|
|
65
|
+
2. Use pattern search to find high-risk areas:
|
|
66
|
+
- `search_for_pattern("password|secret|token|api_key")`
|
|
67
|
+
- `search_for_pattern("execute|eval|innerHTML")`
|
|
68
|
+
3. Review critical paths: auth flow, payment, data mutation
|
|
69
|
+
4. Note in report: `scope_coverage: "critical paths only, full audit requires more"`
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Rate Limit / Quota Error
|
|
74
|
+
|
|
75
|
+
**Symptoms**: `429`, `RESOURCE_EXHAUSTED`, `rate limit exceeded`
|
|
76
|
+
|
|
77
|
+
1. Identify the source. An expected rate-limit response from the application under review is a test result, not an agent-provider quota failure.
|
|
78
|
+
2. For provider quota exhaustion, stop affected provider calls and record the unavailable checks; continue independent authorized work when possible.
|
|
79
|
+
3. Preserve injected session/task/run IDs and the claim path. Save progress/results under the configured memory base using the task/run-scoped names in `../../_shared/runtime/memory-protocol.md`.
|
|
80
|
+
4. Use a valid claim status (`partial`, `blocked`, or `failed`) with the actual cause and unresolved work per `../../_shared/runtime/result-contract.md`; do not invent a `quota_exceeded` status.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Coordination File Unavailable
|
|
85
|
+
|
|
86
|
+
Use native file tools and the configured durable memory base per the shared
|
|
87
|
+
memory/result contract. Code-intelligence availability is independent of file
|
|
88
|
+
memory. Record a path/permission error and preserve available evidence in an
|
|
89
|
+
authorized durable artifact location; report the actual saved path rather than
|
|
90
|
+
claiming a missing receipt or substituting an undisclosed `/tmp` result.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## General Principles
|
|
95
|
+
|
|
96
|
+
- **False positive prevention**: Keep uncertain hypotheses separate from confirmed defect findings; state the check needed to resolve each gap
|
|
97
|
+
- **Blocked**: Record a material unavailable prerequisite and affected work; use an accurate result status and continue independent work when possible
|
|
98
|
+
- **No code modification**: QA only reports; delegate code changes to the appropriate agent
|