oh-my-agent-commandcode 0.0.0-stage → 20.38.4
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,169 @@
|
|
|
1
|
+
# QA Agent - Execution Protocol
|
|
2
|
+
|
|
3
|
+
## Preparation
|
|
4
|
+
Use the task's scope, existing project conventions, and acceptance criteria. Follow `../../_shared/core/execution-policy.md` when it has not already been supplied. Read only references needed by the selected operation; consult lessons or recovery guides for an observed issue. Expand planning depth only when the change requires it.
|
|
5
|
+
|
|
6
|
+
## Step 1: Scope
|
|
7
|
+
- Identify what to review: new feature, full audit, or specific concern
|
|
8
|
+
- List all files/modules to inspect
|
|
9
|
+
- Determine review depth: quick check vs. comprehensive audit
|
|
10
|
+
- Follow `../../_shared/core/code-intelligence.md` to discover configured code
|
|
11
|
+
navigation/search tools. If unavailable or timed out, use native search only
|
|
12
|
+
for paths outside this project or ignored paths, record that limit, and continue the review.
|
|
13
|
+
|
|
14
|
+
## Step 2: Audit
|
|
15
|
+
Review in this priority order:
|
|
16
|
+
1. **Security** (CRITICAL): OWASP Top 10, auth, injection, data protection
|
|
17
|
+
2. **Performance**: API latency, N+1 queries, bundle size, Core Web Vitals
|
|
18
|
+
3. **Accessibility**: WCAG 2.2 AA, keyboard nav, screen reader, contrast
|
|
19
|
+
4. **Code Quality**: task-defined coverage expectations, complexity, architecture adherence
|
|
20
|
+
|
|
21
|
+
When applicable, map findings and gaps to:
|
|
22
|
+
- **ISO/IEC 25010** quality characteristics
|
|
23
|
+
- **ISO/IEC 29119** test planning, design, traceability, and exit criteria
|
|
24
|
+
|
|
25
|
+
Use `resources/checklist.md` (renamed qa-checklist) as the comprehensive review guide.
|
|
26
|
+
|
|
27
|
+
## Step 2.5: Runtime Verification
|
|
28
|
+
|
|
29
|
+
Static code review misses entire categories of bugs: display-only features,
|
|
30
|
+
stubbed functionality, broken user flows, and edge cases that only surface
|
|
31
|
+
at runtime. This step requires interacting with the running application.
|
|
32
|
+
|
|
33
|
+
### When to Execute
|
|
34
|
+
- Web app with UI: ALWAYS for Medium/Complex tasks
|
|
35
|
+
- API-only: ALWAYS (curl/httpie verification)
|
|
36
|
+
- Simple tasks (single file, no UI): SKIP
|
|
37
|
+
|
|
38
|
+
### Execution by App Type
|
|
39
|
+
|
|
40
|
+
#### Web Applications
|
|
41
|
+
|
|
42
|
+
Browser verification uses the installed MCPs selected in `mcp.devtools_browsers`: Aside (`aside`, default), Chrome DevTools MCP (`chrome`), and Firefox DevTools MCP (`firefox`). Multiple selections are supported; use `oma update mcp` to change them. Discover the selected server’s actual tools before use; tool names and capabilities differ between servers. An empty selection disables browser MCP verification; report any unverified UI checks.
|
|
43
|
+
|
|
44
|
+
Run the following checks with a selected, available server. Prefer a separate test context when supported. The tool calls below are Chrome DevTools MCP examples only; for Aside and Firefox DevTools MCP, discover and use their supported equivalents. Record missing capabilities instead of silently changing servers.
|
|
45
|
+
|
|
46
|
+
1. Start the application (`bun run dev`, `uv run manage.py runserver`, etc.)
|
|
47
|
+
2. Open the app in an **isolated browser context** to avoid contaminating the user's session:
|
|
48
|
+
```
|
|
49
|
+
new_page(url: "http://localhost:PORT", isolatedContext: "qa-test")
|
|
50
|
+
```
|
|
51
|
+
- Pages in the same `isolatedContext` share cookies/storage
|
|
52
|
+
- Pages in different contexts are fully isolated
|
|
53
|
+
- When using Chrome DevTools MCP, use `isolatedContext: "qa-test"` for QA verification
|
|
54
|
+
3. Navigate and inspect:
|
|
55
|
+
```
|
|
56
|
+
navigate_page(url) → navigate within the isolated context (SPA routes, sub-pages)
|
|
57
|
+
take_snapshot() → a11y tree snapshot with uid-tagged elements (prefer over screenshots)
|
|
58
|
+
```
|
|
59
|
+
4. Interact with modified features:
|
|
60
|
+
```
|
|
61
|
+
click(uid) → click buttons/links
|
|
62
|
+
fill(uid, value) → fill input/textarea/select fields
|
|
63
|
+
fill_form(elements) → fill multiple fields at once
|
|
64
|
+
type_text(text, submitKey) → type into focused input
|
|
65
|
+
press_key(key) → keyboard shortcuts, Enter, Tab
|
|
66
|
+
hover(uid) → hover for tooltips, dropdown menus, state changes
|
|
67
|
+
drag(from_uid, to_uid) → drag-and-drop
|
|
68
|
+
```
|
|
69
|
+
5. Verify functional correctness:
|
|
70
|
+
- `list_console_messages(types: ["error", "warn"])` → detect JS errors
|
|
71
|
+
- `list_network_requests()` → verify API calls fired and returned expected status
|
|
72
|
+
- `get_network_request(reqid)` → inspect request/response bodies
|
|
73
|
+
- `evaluate_script(function)` → check DOM state, global variables, computed styles
|
|
74
|
+
- `wait_for(text)` → confirm expected content appears after interaction
|
|
75
|
+
6. Visual and accessibility verification:
|
|
76
|
+
- `take_screenshot()` → visual output matches acceptance criteria
|
|
77
|
+
- `lighthouse_audit(mode: "snapshot")` → accessibility, SEO, best practices scores
|
|
78
|
+
- `emulate(viewport: "375x812x3,mobile,touch")` → responsive/mobile verification
|
|
79
|
+
7. Performance profiling (when performance criteria exist):
|
|
80
|
+
- `performance_start_trace(reload: true)` → capture Core Web Vitals
|
|
81
|
+
- `performance_stop_trace()` → analyze LCP, INP, CLS
|
|
82
|
+
- `take_heapsnapshot(filePath)` → detect memory leaks
|
|
83
|
+
8. Cleanup:
|
|
84
|
+
```
|
|
85
|
+
close_page(pageId) → close isolated test pages after verification
|
|
86
|
+
```
|
|
87
|
+
9. **Fallback** (no selected browser MCP available):
|
|
88
|
+
- Use curl/httpie to hit rendered endpoints
|
|
89
|
+
- Verify HTTP status codes and response bodies; record that HTTP checks do not verify browser interactions
|
|
90
|
+
- Check redirects, auth flows, and error pages
|
|
91
|
+
|
|
92
|
+
#### API Endpoints
|
|
93
|
+
1. Start the server
|
|
94
|
+
2. Execute acceptance criteria as actual HTTP requests:
|
|
95
|
+
```bash
|
|
96
|
+
# Example: verify auth flow end-to-end
|
|
97
|
+
curl -s -X POST localhost:8000/api/auth/register \
|
|
98
|
+
-H "Content-Type: application/json" \
|
|
99
|
+
-d '{"email":"test@test.com","password":"secure123"}'
|
|
100
|
+
|
|
101
|
+
# Verify rate limiting actually triggers
|
|
102
|
+
for i in $(seq 1 20); do
|
|
103
|
+
curl -s -o /dev/null -w "%{http_code}" localhost:8000/api/auth/login
|
|
104
|
+
done
|
|
105
|
+
```
|
|
106
|
+
3. Verify database state after operations (query directly or via API)
|
|
107
|
+
|
|
108
|
+
#### Mobile Applications
|
|
109
|
+
1. If emulator/simulator available: launch and interact
|
|
110
|
+
2. If not: verify via API layer + widget test execution
|
|
111
|
+
|
|
112
|
+
### Recording Results
|
|
113
|
+
|
|
114
|
+
Append to the QA report under a new section:
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
## Runtime Verification Results
|
|
118
|
+
|
|
119
|
+
| Feature | Method | Expected | Actual | Status |
|
|
120
|
+
|---------|--------|----------|--------|--------|
|
|
121
|
+
| User registration | curl POST /api/auth/register | 201 + user created | 201 + user in DB | PASS |
|
|
122
|
+
| Rate limiting | 20x rapid POST /api/auth/login | 429 after threshold | 429 after 10 req | PASS |
|
|
123
|
+
| Empty state UI | navigate_page + take_snapshot | Empty state message | Blank white page | FAIL |
|
|
124
|
+
| Button handler | click(uid) + list_network_requests | POST /api/save fired | No request fired | FAIL |
|
|
125
|
+
| Console errors | list_console_messages(["error"]) | 0 errors | TypeError at app.js:42 | FAIL |
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Stubbed Feature Detection
|
|
129
|
+
|
|
130
|
+
Specifically check for these patterns that static review cannot catch:
|
|
131
|
+
- Buttons/forms that render but have no backend handler → `click(uid)` + `list_network_requests()` to verify
|
|
132
|
+
- Features that display placeholder data instead of real data → `evaluate_script()` to check data binding
|
|
133
|
+
- Interactive elements that don't respond to user input → `click(uid)` + `take_snapshot()` to compare before/after
|
|
134
|
+
- Audio/video/file upload controls with no actual processing → `upload_file(uid, filePath)` + verify response
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Evaluator Posture: Evidence-based
|
|
139
|
+
|
|
140
|
+
Apply this posture when making verdict decisions in Step 3 and Step 4:
|
|
141
|
+
- Base defect findings on reproducible evidence; track unconfirmed hypotheses separately.
|
|
142
|
+
- "Probably works" or "should be fine" is NOT valid evidence. Run it, show output, prove it.
|
|
143
|
+
- If a required feature cannot be verified at runtime, record the missing check, reason, and next action. Mark review completeness `partial`, or `blocked` when no independent verification can proceed, following the shared execution policy and host rules.
|
|
144
|
+
- A skipped check, missing tool, or interrupted command is not evidence that the product works or that it contains a defect. A failed verification command must not count as a passing check; diagnose whether it demonstrates a product defect or an environment/configuration problem.
|
|
145
|
+
- Never downgrade a real bug to "non-critical" just to pass a gate.
|
|
146
|
+
- Use WARNING when all remaining issues are MEDIUM or lower and none block deployment.
|
|
147
|
+
- When evidence is insufficient, report the verification gap and continue available checks. Do not invent a defect or issue PASS to force a binary verdict.
|
|
148
|
+
|
|
149
|
+
## Step 3: Report
|
|
150
|
+
Generate structured report with:
|
|
151
|
+
- Report both quality verdict and verification completeness:
|
|
152
|
+
- PASS: required checks completed; no CRITICAL, HIGH, or MEDIUM issues
|
|
153
|
+
- WARNING: required checks completed; no CRITICAL or HIGH issues, but MEDIUM issues exist
|
|
154
|
+
- FAIL: a reproducible CRITICAL or HIGH issue exists, even if other checks remain unavailable
|
|
155
|
+
- NOT_ASSESSED: required evidence is missing and no confirmed defect warrants FAIL; list any confirmed lower-severity findings separately
|
|
156
|
+
- Completeness: `completed` when required verification is finished, `partial` when evidence remains missing, or `blocked` when independent work cannot proceed under the shared execution policy and host rules
|
|
157
|
+
- Verification gaps: missing check, cause, completed alternative checks, and concrete next action; keep these separate from defect findings
|
|
158
|
+
- Findings grouped by severity (CRITICAL > HIGH > MEDIUM > LOW)
|
|
159
|
+
- Each finding: file:line, description, remediation code
|
|
160
|
+
- Performance metrics vs. targets
|
|
161
|
+
- Standards suggestions when relevant:
|
|
162
|
+
- quality characteristics under-covered
|
|
163
|
+
- missing test design / traceability / exit criteria
|
|
164
|
+
|
|
165
|
+
## Step 4: Verify
|
|
166
|
+
- Use applicable sections of `../../_shared/core/common-checklist.md` when the review crosses domains
|
|
167
|
+
|
|
168
|
+
## On Error
|
|
169
|
+
See `resources/error-playbook.md` for recovery steps.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# QA Agent - ISO Quality Guide
|
|
2
|
+
|
|
3
|
+
Use this file when the user asks for standards-based QA suggestions, enterprise audit readiness, or process-oriented quality improvements.
|
|
4
|
+
|
|
5
|
+
## Positioning
|
|
6
|
+
|
|
7
|
+
- Use **ISO/IEC 25010** as the practical software quality model.
|
|
8
|
+
- Treat **ISO/IEC 25010** as part of the **ISO/IEC 25000 SQuaRE family** when users say "ISO 25000".
|
|
9
|
+
- Use **ISO/IEC 29119** for test process, test design, traceability, and evidence recommendations.
|
|
10
|
+
- Do not force standards language into every QA review. Add it when it improves decision quality, auditability, or delivery discipline.
|
|
11
|
+
|
|
12
|
+
## 1. ISO/IEC 25010 Mapping
|
|
13
|
+
|
|
14
|
+
Map findings to these quality characteristics when relevant:
|
|
15
|
+
|
|
16
|
+
- functional suitability
|
|
17
|
+
- performance efficiency
|
|
18
|
+
- compatibility
|
|
19
|
+
- usability
|
|
20
|
+
- reliability
|
|
21
|
+
- security
|
|
22
|
+
- maintainability
|
|
23
|
+
- portability
|
|
24
|
+
|
|
25
|
+
Use this mapping to answer:
|
|
26
|
+
|
|
27
|
+
- Which quality areas are under-covered?
|
|
28
|
+
- Which areas are blocking release confidence?
|
|
29
|
+
- Which missing tests leave important quality characteristics unverified?
|
|
30
|
+
|
|
31
|
+
## 2. ISO/IEC 29119 Suggestions
|
|
32
|
+
|
|
33
|
+
Recommend these when test discipline is weak:
|
|
34
|
+
|
|
35
|
+
- test strategy or test plan
|
|
36
|
+
- test levels and scope definition
|
|
37
|
+
- requirement / risk to test traceability
|
|
38
|
+
- explicit test conditions and expected results
|
|
39
|
+
- risk-based prioritization
|
|
40
|
+
- entry / exit criteria
|
|
41
|
+
- evidence retention for review or audit
|
|
42
|
+
|
|
43
|
+
## 3. When to Mention Standards
|
|
44
|
+
|
|
45
|
+
Mention ISO alignment when:
|
|
46
|
+
|
|
47
|
+
- the user asks for audit readiness
|
|
48
|
+
- the work is enterprise or regulated
|
|
49
|
+
- release governance is unclear
|
|
50
|
+
- testing exists but lacks structure or traceability
|
|
51
|
+
- quality discussion is too vague and needs a common model
|
|
52
|
+
|
|
53
|
+
Avoid overusing standards language when:
|
|
54
|
+
|
|
55
|
+
- the task is a quick bug fix
|
|
56
|
+
- the user wants only concrete defects
|
|
57
|
+
- standards language would add ceremony without action
|
|
58
|
+
|
|
59
|
+
## 4. Review Output Pattern
|
|
60
|
+
|
|
61
|
+
If standards are relevant, add a short section:
|
|
62
|
+
|
|
63
|
+
```md
|
|
64
|
+
## Standards Alignment
|
|
65
|
+
|
|
66
|
+
### ISO/IEC 25010
|
|
67
|
+
- Quality characteristic:
|
|
68
|
+
- Gap:
|
|
69
|
+
- Recommendation:
|
|
70
|
+
|
|
71
|
+
### ISO/IEC 29119
|
|
72
|
+
- Test governance gap:
|
|
73
|
+
- Traceability / evidence gap:
|
|
74
|
+
- Recommendation:
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 5. Guardrails
|
|
78
|
+
|
|
79
|
+
- Prefer practical suggestions over compliance theater
|
|
80
|
+
- Do not claim formal compliance unless evidence exists
|
|
81
|
+
- Tie every standards suggestion to a delivery, test, or risk outcome
|
|
82
|
+
- Keep standards comments secondary to concrete findings
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# VERIFY/SHIP Phase Protocol
|
|
2
|
+
|
|
3
|
+
Execution guide for VERIFY Phase (Steps 6-8) and SHIP Phase (Steps 14-17) in ultrawork workflow.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## VERIFY Phase (Steps 6-8)
|
|
8
|
+
|
|
9
|
+
### Step 6: Alignment Review
|
|
10
|
+
|
|
11
|
+
**Review Question**: "Did we build what was requested?"
|
|
12
|
+
|
|
13
|
+
- [ ] Plan vs implementation 1:1 comparison
|
|
14
|
+
- [ ] Misalignments documented
|
|
15
|
+
- [ ] No missing features
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
### Step 7: Security/Bug Review
|
|
20
|
+
|
|
21
|
+
**Review Question**: "Is there anything dangerous?"
|
|
22
|
+
|
|
23
|
+
**Automated Tools:**
|
|
24
|
+
- `npm audit` (Node.js)
|
|
25
|
+
- `bandit` (Python)
|
|
26
|
+
- `lighthouse` (web performance)
|
|
27
|
+
|
|
28
|
+
**OWASP Top 10 Check:**
|
|
29
|
+
- [ ] No injection vulnerabilities
|
|
30
|
+
- [ ] No authentication flaws
|
|
31
|
+
- [ ] No sensitive data exposure
|
|
32
|
+
- [ ] No XXE vulnerabilities
|
|
33
|
+
- [ ] No access control flaws
|
|
34
|
+
|
|
35
|
+
**Finding Format:**
|
|
36
|
+
- File:line
|
|
37
|
+
- Description
|
|
38
|
+
- Severity (CRITICAL/HIGH/MEDIUM/LOW)
|
|
39
|
+
- Fix suggestion
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
### Step 8: Improvement Review
|
|
44
|
+
|
|
45
|
+
**Review Question**: "Did improvements break anything?"
|
|
46
|
+
|
|
47
|
+
- [ ] Affected regression checks pass; broaden only for identified impact
|
|
48
|
+
- [ ] Existing features work normally
|
|
49
|
+
- [ ] New code matches existing patterns
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
### VERIFY_GATE Checklist
|
|
54
|
+
|
|
55
|
+
- [ ] Implementation = Requirements
|
|
56
|
+
- [ ] CRITICAL issues: 0
|
|
57
|
+
- [ ] HIGH issues: 0
|
|
58
|
+
- [ ] No regressions
|
|
59
|
+
|
|
60
|
+
**Gate failure → Return to Step 5 (fix implementation)**
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## SHIP Phase (Steps 14-17)
|
|
65
|
+
|
|
66
|
+
### Step 14: Code Quality Review
|
|
67
|
+
|
|
68
|
+
**Review Question**: "Does it meet quality standards?"
|
|
69
|
+
|
|
70
|
+
- [ ] lint passes
|
|
71
|
+
- [ ] type check passes
|
|
72
|
+
- [ ] applicable project or task-defined coverage target met, or alternative verification recorded
|
|
73
|
+
- [ ] Applicable cross-domain checks from `_shared/core/common-checklist.md` pass
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### Step 15: UX Flow Verification
|
|
78
|
+
|
|
79
|
+
- [ ] End-to-end user journey test
|
|
80
|
+
- [ ] Error states verified
|
|
81
|
+
- [ ] Loading states verified
|
|
82
|
+
- [ ] Accessibility compliance (WCAG 2.2 AA)
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
### Step 16: Related Issues Review
|
|
87
|
+
|
|
88
|
+
**Review Question**: "Did we break anything elsewhere?"
|
|
89
|
+
|
|
90
|
+
- [ ] Issues discovered during review checked
|
|
91
|
+
- [ ] Related areas not broken
|
|
92
|
+
- [ ] Deferred items documented (next sprint)
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### Step 17: Deployment Readiness Review
|
|
97
|
+
|
|
98
|
+
**Review Question**: "Is this ready to deploy?"
|
|
99
|
+
|
|
100
|
+
- [ ] No hardcoded secrets
|
|
101
|
+
- [ ] Environment variables documented
|
|
102
|
+
- [ ] Migrations safe
|
|
103
|
+
- [ ] Rollback possible
|
|
104
|
+
- [ ] Monitoring ready
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### SHIP_GATE Checklist
|
|
109
|
+
|
|
110
|
+
- [ ] All quality checks pass
|
|
111
|
+
- [ ] UX verified
|
|
112
|
+
- [ ] Related issues resolved
|
|
113
|
+
- [ ] Deployment checklist complete
|
|
114
|
+
- [ ] Scope and any external action are authorized under the shared execution policy; reuse existing authorization
|
|
115
|
+
|
|
116
|
+
**Gate failure → Return to appropriate phase based on failure type**
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oma-recap
|
|
3
|
+
description: Summarize AI conversation histories for a specified date or period.
|
|
4
|
+
Use for daily work recaps and cross-tool activity summaries.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# AI Tool Conversation History Summary
|
|
8
|
+
|
|
9
|
+
Analyze AI tool conversation histories for a given period and generate themed work summaries.
|
|
10
|
+
|
|
11
|
+
## Scheduling
|
|
12
|
+
|
|
13
|
+
### Goal
|
|
14
|
+
Collect AI tool conversation history for a date or window and synthesize it into a themed, project-oriented recap with saved Markdown output.
|
|
15
|
+
|
|
16
|
+
### Intent signature
|
|
17
|
+
- User asks for daily recap, weekly/monthly summary, standup notes, work log, tool usage pattern, or AI conversation history analysis.
|
|
18
|
+
- User wants conversation histories grouped by work content rather than raw chronological logs.
|
|
19
|
+
|
|
20
|
+
### When to use
|
|
21
|
+
- Summarizing a day or period of work activity
|
|
22
|
+
- Understanding the overall flow of work across multiple AI tools
|
|
23
|
+
- Analyzing tool-switching patterns between sessions
|
|
24
|
+
- Preparing daily standups, weekly retros, or work logs
|
|
25
|
+
|
|
26
|
+
### When NOT to use
|
|
27
|
+
- Git commit-based code change retrospective -> use `oma retro`
|
|
28
|
+
- Real-time agent monitoring -> use `oma dashboard terminal`
|
|
29
|
+
- Productivity metrics -> use `oma stats get`
|
|
30
|
+
|
|
31
|
+
### Expected inputs
|
|
32
|
+
- Date, relative date, time window, or tool filter
|
|
33
|
+
- Conversation history available through `oma recap --json` or fallback sources
|
|
34
|
+
- Desired daily or multi-day recap scope
|
|
35
|
+
|
|
36
|
+
### Expected outputs
|
|
37
|
+
- Markdown recap saved to `.agents/results/recap/{date}.md` or range filename
|
|
38
|
+
- TL;DR, overview, themes/projects, miscellaneous or side projects, and tool usage patterns
|
|
39
|
+
- User-facing summary in configured response language
|
|
40
|
+
|
|
41
|
+
### Dependencies
|
|
42
|
+
- `oma recap --json`
|
|
43
|
+
- Optional Claude fallback history at `~/.claude/history.jsonl`
|
|
44
|
+
- `.agents/oma-config.yaml` for language behavior
|
|
45
|
+
|
|
46
|
+
### Control-flow features
|
|
47
|
+
- Branches by date resolution, window length, available tool history, and daily vs multi-day output shape
|
|
48
|
+
- Reads local history data and writes Markdown recap files
|
|
49
|
+
- Groups by content, not by tool
|
|
50
|
+
|
|
51
|
+
## Structural Flow
|
|
52
|
+
|
|
53
|
+
### Entry
|
|
54
|
+
1. Resolve requested date or window.
|
|
55
|
+
2. Collect normalized conversation history.
|
|
56
|
+
3. Decide daily versus multi-day output structure.
|
|
57
|
+
|
|
58
|
+
### Scenes
|
|
59
|
+
1. **PREPARE**: Resolve time range and tool filters.
|
|
60
|
+
2. **ACQUIRE**: Collect history through CLI or fallback; retain completion evidence where available.
|
|
61
|
+
3. **REASON**: Group by content and classify each item as requested, in progress, or completed from its evidence.
|
|
62
|
+
4. **ACT**: Write recap Markdown in the required format.
|
|
63
|
+
5. **VERIFY**: Check that every completion claim has direct evidence, then check grouping, language, and output path.
|
|
64
|
+
6. **FINALIZE**: Save and display summary.
|
|
65
|
+
|
|
66
|
+
### Transitions
|
|
67
|
+
- If no date is specified, use today via `--date` (bare `--window` is a rolling window ending now, not calendar-aligned).
|
|
68
|
+
- If window is 3 days or longer, group by project instead of day chronology.
|
|
69
|
+
- If CLI is unavailable, use Claude fallback only and report scope limits.
|
|
70
|
+
- If tasks are under threshold, group them into Miscellaneous or Side Projects.
|
|
71
|
+
|
|
72
|
+
### Failure and recovery
|
|
73
|
+
- If history is unavailable, report missing source and requested range.
|
|
74
|
+
- If timestamps are ambiguous, use configured timezone and state assumption.
|
|
75
|
+
- If extracted data is sparse, produce a concise recap and note limited coverage.
|
|
76
|
+
|
|
77
|
+
### Exit
|
|
78
|
+
- Success: recap file exists and summary is displayed.
|
|
79
|
+
- Partial success: missing tools/history or fallback-only coverage is explicit.
|
|
80
|
+
|
|
81
|
+
## Logical Operations
|
|
82
|
+
|
|
83
|
+
### Actions
|
|
84
|
+
| Action | SSL primitive | Evidence |
|
|
85
|
+
|--------|---------------|----------|
|
|
86
|
+
| Resolve date/window | `INFER` | Natural-language date rules |
|
|
87
|
+
| Collect history | `CALL_TOOL` | `oma recap --json` or `jq` fallback |
|
|
88
|
+
| Read extracted records | `READ` | Conversation history |
|
|
89
|
+
| Group and classify themes/projects | `INFER` | Time/content rules plus prompt, progress, completion, receipt, or artifact evidence |
|
|
90
|
+
| Validate output shape | `VALIDATE` | Daily or multi-day template |
|
|
91
|
+
| Write recap | `WRITE` | `.agents/results/recap/` |
|
|
92
|
+
| Report summary | `NOTIFY` | Displayed recap |
|
|
93
|
+
|
|
94
|
+
### Tools and instruments
|
|
95
|
+
- `oma recap --json`
|
|
96
|
+
- `jq` fallback for Claude history
|
|
97
|
+
- Markdown output templates
|
|
98
|
+
|
|
99
|
+
### Canonical command path
|
|
100
|
+
```bash
|
|
101
|
+
oma recap --date YYYY-MM-DD --json
|
|
102
|
+
oma recap --window 7d --json
|
|
103
|
+
oma recap --json # rolling last 24h, not "today"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Resource scope
|
|
107
|
+
| Scope | Resource target |
|
|
108
|
+
|-------|-----------------|
|
|
109
|
+
| `LOCAL_FS` | Conversation history and recap output files |
|
|
110
|
+
| `PROCESS` | `oma recap`, `jq`, date commands |
|
|
111
|
+
| `USER_DATA` | Conversation prompts and project activity |
|
|
112
|
+
| `MEMORY` | Theme grouping and summary notes |
|
|
113
|
+
|
|
114
|
+
### Preconditions
|
|
115
|
+
- Requested time range can be resolved.
|
|
116
|
+
- At least one history source is available.
|
|
117
|
+
|
|
118
|
+
### Effects and side effects
|
|
119
|
+
- Writes recap Markdown under `.agents/results/recap/`.
|
|
120
|
+
- Reads local conversation history data.
|
|
121
|
+
|
|
122
|
+
### Guardrails
|
|
123
|
+
|
|
124
|
+
1. **Evidence status**: A prompt alone proves a request, not a result. Mark work **completed** only with an explicit completion/result message, a receipt, or an artifact that supports the stated outcome. Mark it **in progress** with progress evidence; otherwise call it **requested**. Do not infer completion from a tool invocation or elapsed time.
|
|
125
|
+
2. **TL;DR required**: Top 3 supported outcomes. Use "completed" only when the evidence-status rule permits it; otherwise summarize requested or in-progress work plainly. Project name + status/outcome. No tool names or unnecessary detail.
|
|
126
|
+
3. **Overview**: After TL;DR, describe the flow. Start with "I" as subject and preserve evidence status.
|
|
127
|
+
4. **Daily**: themes by time block (15+ min). Rest goes to "Miscellaneous".
|
|
128
|
+
5. **Multi-day (3d+)**: sections by project, ordered by activity. Read like a sprint report, not a daily log.
|
|
129
|
+
6. **2-4 bullets per theme/project**: Concise essentials only. Don't enumerate every step.
|
|
130
|
+
7. **Themes by content**: Group by actual work, not by tool.
|
|
131
|
+
8. **Time range (daily only)**: `(AM/PM/Evening HH:MM~HH:MM)`. AM: ~12:00, PM: 12:00~18:00, Evening: 18:00~.
|
|
132
|
+
9. **Save results**: Write markdown to `.agents/results/recap/`.
|
|
133
|
+
10. **Response language**: the user's prompt language first, then `language` in `.agents/oma-config.yaml`, then English.
|
|
134
|
+
11. **No em dashes**: Use commas, periods, or parentheses instead of `—` (em dash).
|
|
135
|
+
|
|
136
|
+
### Process
|
|
137
|
+
|
|
138
|
+
### 1. Resolve Date
|
|
139
|
+
|
|
140
|
+
Determine the target date or window from the user's natural language input. Default is today.
|
|
141
|
+
|
|
142
|
+
**Resolution rules:**
|
|
143
|
+
- Relative day references (today, yesterday, day before yesterday, etc.) → calculate `--date YYYY-MM-DD`
|
|
144
|
+
- Specific date mentions (month + day, or full date) → convert to `--date YYYY-MM-DD`
|
|
145
|
+
- Relative weekday references (last Monday, this Friday, etc.) → calculate the date
|
|
146
|
+
- Period references (this week, last 3 days, past 2 weeks, etc.) → convert to `--window Nd`
|
|
147
|
+
- No date specified → today, resolved to `--date YYYY-MM-DD` (bare `--window 1d` is a rolling 24-hour window ending now, not the calendar day)
|
|
148
|
+
- The CLI caps windows at 30 days (longer values are trimmed with a warning) — when a requested period gets capped, say so in the recap
|
|
149
|
+
|
|
150
|
+
### 2. Collect Data
|
|
151
|
+
|
|
152
|
+
Extract normalized conversation history via CLI.
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Today (calendar day, all tools)
|
|
156
|
+
oma recap --date $(date +%F) --json
|
|
157
|
+
|
|
158
|
+
# Last 24 hours (rolling window ending now)
|
|
159
|
+
oma recap --json
|
|
160
|
+
|
|
161
|
+
# Time window (rolling, ends now; capped at 30d)
|
|
162
|
+
oma recap --window 7d --json
|
|
163
|
+
|
|
164
|
+
# Specific date
|
|
165
|
+
oma recap --date 2026-04-10 --json
|
|
166
|
+
|
|
167
|
+
# Tool filter (supported: grok, claude, codex, gemini, qwen, cursor, antigravity)
|
|
168
|
+
oma recap --tool claude,codex --json
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**Fallback when CLI is not installed**: process Claude history only via inline jq:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# Uses the system timezone; export TZ=<zone> first to override, and state the
|
|
175
|
+
# timezone assumption in the recap (per the Failure and recovery rules).
|
|
176
|
+
TARGET_DATE=$(date +%Y-%m-%d)
|
|
177
|
+
# macOS/BSD date: advance the calendar date, then parse both local midnights.
|
|
178
|
+
next_date=$(date -j -v+1d -f "%Y-%m-%d %H:%M:%S" "${TARGET_DATE} 12:00:00" +%Y-%m-%d)
|
|
179
|
+
start_ts=$(date -j -f "%Y-%m-%d %H:%M:%S" "${TARGET_DATE} 00:00:00" +%s)000
|
|
180
|
+
end_ts=$(date -j -f "%Y-%m-%d %H:%M:%S" "${next_date} 00:00:00" +%s)000
|
|
181
|
+
# Linux/GNU date alternatives (replace all three lines above):
|
|
182
|
+
# next_date=$(date -d "${TARGET_DATE} 12:00:00 tomorrow" +%Y-%m-%d)
|
|
183
|
+
# start_ts=$(date -d "${TARGET_DATE} 00:00:00" +%s)000
|
|
184
|
+
# end_ts=$(date -d "${next_date} 00:00:00" +%s)000
|
|
185
|
+
# Do not add a fixed 24 hours: DST calendar days can have 23 or 25 hours.
|
|
186
|
+
|
|
187
|
+
jq -r --argjson start "$start_ts" --argjson end "$end_ts" '
|
|
188
|
+
select(.timestamp >= $start and .timestamp < $end and .display != null and .display != "") |
|
|
189
|
+
{
|
|
190
|
+
time: (.timestamp / 1000 | localtime | strftime("%H:%M")),
|
|
191
|
+
project: (.project | split("/") | .[-1]),
|
|
192
|
+
prompt: (.display | gsub("\n"; " ") | if length > 150 then .[0:150] + "..." else . end)
|
|
193
|
+
}
|
|
194
|
+
' ~/.claude/history.jsonl
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### 3. Theme Analysis and Grouping
|
|
198
|
+
|
|
199
|
+
Read **all** extracted data and analyze with the following criteria:
|
|
200
|
+
|
|
201
|
+
**Grouping rules:**
|
|
202
|
+
- Only classify as a separate theme if the work spans **15+ minutes** (based on timestamp gaps and prompt count)
|
|
203
|
+
- Merge consecutive prompts on the same topic into one theme
|
|
204
|
+
- Collect sub-15-minute tasks into a "Miscellaneous" section
|
|
205
|
+
- Group by **work content**, not by tool
|
|
206
|
+
|
|
207
|
+
**Cross-tool analysis:**
|
|
208
|
+
- Track workflow when multiple tools are used in the same time window
|
|
209
|
+
- Example: "Designed in Antigravity -> Implemented in Claude -> Reviewed in Codex"
|
|
210
|
+
- Derive insights from tool-switching patterns
|
|
211
|
+
|
|
212
|
+
**Extract from each theme:**
|
|
213
|
+
- Core work performed
|
|
214
|
+
- Key decisions made
|
|
215
|
+
- Tool combinations used
|
|
216
|
+
- Artifacts produced (docs, code, config, etc.)
|
|
217
|
+
|
|
218
|
+
### 4. Output Format
|
|
219
|
+
|
|
220
|
+
Save results to `.agents/results/recap/{date}.md` and display simultaneously.
|
|
221
|
+
|
|
222
|
+
Use the markdown templates in `resources/output-formats.md`:
|
|
223
|
+
- **Daily format** (1d or specific date): TL;DR → Overview → time-blocked themes → Miscellaneous → Tool Usage Patterns.
|
|
224
|
+
- **Multi-day format** (3d+): project-driven sprint-report structure with Side Projects for small (<30 prompts) work; follow the multi-day grouping rules in the same file.
|
|
225
|
+
|
|
226
|
+
**Response language: the user's prompt language first, then `language` in `.agents/oma-config.yaml`, then English.**
|
|
227
|
+
|
|
228
|
+
### 5. Save Results
|
|
229
|
+
|
|
230
|
+
Save to `.agents/results/recap/{date}.md`.
|
|
231
|
+
For window ranges, use `{start-date}~{end-date}.md` format.
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# Example paths
|
|
235
|
+
.agents/results/recap/2026-04-12.md
|
|
236
|
+
.agents/results/recap/2026-04-06~2026-04-12.md
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## References
|
|
240
|
+
|
|
241
|
+
- Output format templates: `resources/output-formats.md`
|
|
242
|
+
- Recap CLI: `oma recap --json`
|
|
243
|
+
- Output directory: `.agents/results/recap/`
|
|
244
|
+
- Language config: `.agents/oma-config.yaml`
|
|
245
|
+
- Claude fallback history: `~/.claude/history.jsonl`
|