@geraldmaron/construct 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +69 -0
- package/LICENSE +21 -0
- package/README.md +344 -0
- package/agents/prompts/cx-accessibility.md +29 -0
- package/agents/prompts/cx-ai-engineer.md +31 -0
- package/agents/prompts/cx-architect.md +40 -0
- package/agents/prompts/cx-business-strategist.md +25 -0
- package/agents/prompts/cx-data-analyst.md +30 -0
- package/agents/prompts/cx-data-engineer.md +32 -0
- package/agents/prompts/cx-debugger.md +27 -0
- package/agents/prompts/cx-designer.md +33 -0
- package/agents/prompts/cx-devil-advocate.md +36 -0
- package/agents/prompts/cx-docs-keeper.md +50 -0
- package/agents/prompts/cx-engineer.md +36 -0
- package/agents/prompts/cx-evaluator.md +26 -0
- package/agents/prompts/cx-explorer.md +38 -0
- package/agents/prompts/cx-legal-compliance.md +25 -0
- package/agents/prompts/cx-operations.md +28 -0
- package/agents/prompts/cx-orchestrator.md +30 -0
- package/agents/prompts/cx-platform-engineer.md +25 -0
- package/agents/prompts/cx-product-manager.md +30 -0
- package/agents/prompts/cx-qa.md +42 -0
- package/agents/prompts/cx-rd-lead.md +25 -0
- package/agents/prompts/cx-release-manager.md +31 -0
- package/agents/prompts/cx-researcher.md +31 -0
- package/agents/prompts/cx-reviewer.md +36 -0
- package/agents/prompts/cx-security.md +37 -0
- package/agents/prompts/cx-sre.md +26 -0
- package/agents/prompts/cx-test-automation.md +35 -0
- package/agents/prompts/cx-trace-reviewer.md +76 -0
- package/agents/prompts/cx-ux-researcher.md +30 -0
- package/agents/registry.json +879 -0
- package/agents/teams.json +94 -0
- package/bin/construct +613 -0
- package/commands/build/feature.md +21 -0
- package/commands/build/fix.md +20 -0
- package/commands/design/access.md +19 -0
- package/commands/design/flow.md +16 -0
- package/commands/design/ui.md +18 -0
- package/commands/measure/experiment.md +18 -0
- package/commands/measure/metrics.md +18 -0
- package/commands/measure/results.md +18 -0
- package/commands/plan/api.md +19 -0
- package/commands/plan/challenge.md +18 -0
- package/commands/plan/decide.md +20 -0
- package/commands/plan/feature.md +49 -0
- package/commands/plan/requirements.md +24 -0
- package/commands/remember/context.md +26 -0
- package/commands/remember/handoff.md +19 -0
- package/commands/remember/runbook.md +20 -0
- package/commands/review/code.md +21 -0
- package/commands/review/quality.md +19 -0
- package/commands/review/security.md +16 -0
- package/commands/ship/ready.md +19 -0
- package/commands/ship/release.md +19 -0
- package/commands/ship/status.md +18 -0
- package/commands/understand/docs.md +22 -0
- package/commands/understand/research.md +22 -0
- package/commands/understand/this.md +23 -0
- package/commands/understand/why.md +18 -0
- package/commands/work/clean.md +32 -0
- package/commands/work/drive.md +69 -0
- package/commands/work/optimize-prompts.md +46 -0
- package/commands/work/parallel-review.md +40 -0
- package/db/migrations/001_init.sql +38 -0
- package/langfuse/docker-compose.yml +82 -0
- package/lib/audit-skills.mjs +118 -0
- package/lib/auto-docs.mjs +293 -0
- package/lib/cli-commands.mjs +409 -0
- package/lib/codex-config.mjs +114 -0
- package/lib/comment-lint.mjs +191 -0
- package/lib/completions.mjs +170 -0
- package/lib/context-state.mjs +99 -0
- package/lib/cost.mjs +213 -0
- package/lib/distill.mjs +403 -0
- package/lib/efficiency.mjs +139 -0
- package/lib/env-config.mjs +53 -0
- package/lib/eval-harness.mjs +59 -0
- package/lib/features.mjs +209 -0
- package/lib/headhunt.mjs +597 -0
- package/lib/hooks/adaptive-lint.mjs +112 -0
- package/lib/hooks/agent-tracker.mjs +50 -0
- package/lib/hooks/bootstrap-guard.mjs +90 -0
- package/lib/hooks/comment-lint.mjs +26 -0
- package/lib/hooks/config-protection.mjs +52 -0
- package/lib/hooks/console-warn.mjs +43 -0
- package/lib/hooks/context-window-recovery.mjs +90 -0
- package/lib/hooks/continuation-enforcer.mjs +72 -0
- package/lib/hooks/dep-audit.mjs +155 -0
- package/lib/hooks/drive-guard.mjs +89 -0
- package/lib/hooks/edit-accumulator.mjs +36 -0
- package/lib/hooks/edit-error-recovery.mjs +46 -0
- package/lib/hooks/edit-guard.mjs +109 -0
- package/lib/hooks/env-check.mjs +80 -0
- package/lib/hooks/guard-bash.mjs +83 -0
- package/lib/hooks/mcp-audit.mjs +57 -0
- package/lib/hooks/mcp-health-check.mjs +51 -0
- package/lib/hooks/mcp-task-scope.mjs +47 -0
- package/lib/hooks/model-fallback.mjs +105 -0
- package/lib/hooks/pre-compact.mjs +212 -0
- package/lib/hooks/pre-push-gate.mjs +129 -0
- package/lib/hooks/read-tracker.mjs +129 -0
- package/lib/hooks/registry-sync.mjs +23 -0
- package/lib/hooks/scan-secrets.mjs +76 -0
- package/lib/hooks/session-start.mjs +95 -0
- package/lib/hooks/stop-notify.mjs +191 -0
- package/lib/hooks/stop-typecheck.mjs +83 -0
- package/lib/hooks/task-completed-guard.mjs +43 -0
- package/lib/hooks/teammate-idle-guard.mjs +54 -0
- package/lib/hooks/workflow-guard.mjs +62 -0
- package/lib/host-capabilities.mjs +123 -0
- package/lib/init-docs.mjs +382 -0
- package/lib/mcp/server.mjs +1123 -0
- package/lib/mcp-catalog.json +243 -0
- package/lib/mcp-manager.mjs +433 -0
- package/lib/mcp-platform-config.mjs +104 -0
- package/lib/model-router.mjs +810 -0
- package/lib/opencode-config.mjs +44 -0
- package/lib/opencode-runtime-plugin.mjs +909 -0
- package/lib/opencode-telemetry.mjs +433 -0
- package/lib/orchestration-policy.mjs +258 -0
- package/lib/prompt-composer.mjs +196 -0
- package/lib/prompt-metadata.mjs +68 -0
- package/lib/review.mjs +429 -0
- package/lib/role-preload.mjs +52 -0
- package/lib/schemas/decision.json +50 -0
- package/lib/schemas/implementation.json +51 -0
- package/lib/schemas/review-report.json +32 -0
- package/lib/schemas/test-report.json +43 -0
- package/lib/server/index.mjs +334 -0
- package/lib/server/static/app.js +841 -0
- package/lib/server/static/index.html +820 -0
- package/lib/service-manager.mjs +225 -0
- package/lib/setup.mjs +319 -0
- package/lib/status.mjs +707 -0
- package/lib/storage/backend.mjs +44 -0
- package/lib/storage/embeddings.mjs +70 -0
- package/lib/storage/hybrid-query.mjs +184 -0
- package/lib/storage/sql-store.mjs +55 -0
- package/lib/storage/state-source.mjs +101 -0
- package/lib/storage/sync.mjs +164 -0
- package/lib/storage/vector-store.mjs +59 -0
- package/lib/telemetry/backends/langfuse.mjs +58 -0
- package/lib/telemetry/backends/noop.mjs +16 -0
- package/lib/telemetry/langfuse-ingest.mjs +108 -0
- package/lib/telemetry/langfuse-model-sync.mjs +270 -0
- package/lib/telemetry/team-rollup.mjs +143 -0
- package/lib/toolkit-env.mjs +30 -0
- package/lib/validator.mjs +181 -0
- package/lib/workflow-state.mjs +794 -0
- package/package.json +53 -0
- package/personas/construct.md +94 -0
- package/platforms/claude/CLAUDE.md +30 -0
- package/platforms/claude/settings.template.json +472 -0
- package/platforms/opencode/config.template.json +65 -0
- package/platforms/opencode/plugins/construct-fallback.js +5 -0
- package/platforms/opencode/sync-config.mjs +69 -0
- package/rules/common/agents.md +55 -0
- package/rules/common/code-review.md +129 -0
- package/rules/common/coding-style.md +95 -0
- package/rules/common/comments.md +139 -0
- package/rules/common/cx-agent-routing.md +61 -0
- package/rules/common/cx-skill-routing.md +11 -0
- package/rules/common/development-workflow.md +49 -0
- package/rules/common/git-workflow.md +29 -0
- package/rules/common/hooks.md +35 -0
- package/rules/common/patterns.md +36 -0
- package/rules/common/performance.md +71 -0
- package/rules/common/security.md +34 -0
- package/rules/common/testing.md +62 -0
- package/rules/golang/coding-style.md +37 -0
- package/rules/golang/hooks.md +22 -0
- package/rules/golang/patterns.md +50 -0
- package/rules/golang/security.md +39 -0
- package/rules/golang/testing.md +36 -0
- package/rules/python/coding-style.md +47 -0
- package/rules/python/hooks.md +24 -0
- package/rules/python/patterns.md +44 -0
- package/rules/python/security.md +35 -0
- package/rules/python/testing.md +43 -0
- package/rules/swift/coding-style.md +52 -0
- package/rules/swift/hooks.md +25 -0
- package/rules/swift/patterns.md +71 -0
- package/rules/swift/security.md +38 -0
- package/rules/swift/testing.md +50 -0
- package/rules/typescript/coding-style.md +204 -0
- package/rules/typescript/hooks.md +27 -0
- package/rules/typescript/patterns.md +57 -0
- package/rules/typescript/security.md +33 -0
- package/rules/typescript/testing.md +23 -0
- package/rules/web/coding-style.md +101 -0
- package/rules/web/design-quality.md +68 -0
- package/rules/web/hooks.md +125 -0
- package/rules/web/patterns.md +84 -0
- package/rules/web/performance.md +69 -0
- package/rules/web/security.md +62 -0
- package/rules/web/testing.md +60 -0
- package/rules/zh/README.md +113 -0
- package/rules/zh/agents.md +55 -0
- package/rules/zh/code-review.md +129 -0
- package/rules/zh/coding-style.md +53 -0
- package/rules/zh/development-workflow.md +49 -0
- package/rules/zh/git-workflow.md +29 -0
- package/rules/zh/hooks.md +35 -0
- package/rules/zh/patterns.md +36 -0
- package/rules/zh/performance.md +60 -0
- package/rules/zh/security.md +34 -0
- package/rules/zh/testing.md +34 -0
- package/skills/ai/agent-dev.md +102 -0
- package/skills/ai/llm-security.md +105 -0
- package/skills/ai/ml-ops.md +169 -0
- package/skills/ai/orchestration-workflow.md +87 -0
- package/skills/ai/prompt-and-eval.md +114 -0
- package/skills/ai/prompt-optimizer.md +114 -0
- package/skills/ai/rag-system.md +104 -0
- package/skills/architecture/api-design.md +100 -0
- package/skills/architecture/caching.md +101 -0
- package/skills/architecture/cloud-native.md +97 -0
- package/skills/architecture/message-queue.md +100 -0
- package/skills/architecture/security-arch.md +105 -0
- package/skills/development/cpp.md +127 -0
- package/skills/development/go.md +129 -0
- package/skills/development/java.md +134 -0
- package/skills/development/kotlin.md +140 -0
- package/skills/development/mobile-crossplatform.md +144 -0
- package/skills/development/python.md +109 -0
- package/skills/development/rust.md +127 -0
- package/skills/development/shell.md +127 -0
- package/skills/development/swift.md +129 -0
- package/skills/development/typescript.md +129 -0
- package/skills/devops/ci-cd.md +108 -0
- package/skills/devops/containerization.md +106 -0
- package/skills/devops/cost-optimization.md +105 -0
- package/skills/devops/data-engineering.md +181 -0
- package/skills/devops/database.md +95 -0
- package/skills/devops/dependency-management.md +91 -0
- package/skills/devops/devsecops.md +96 -0
- package/skills/devops/git-workflow.md +100 -0
- package/skills/devops/incident-response.md +167 -0
- package/skills/devops/monorepo.md +87 -0
- package/skills/devops/observability.md +103 -0
- package/skills/devops/performance.md +104 -0
- package/skills/devops/testing.md +104 -0
- package/skills/docs/adr-workflow.md +32 -0
- package/skills/docs/backlog-proposal-workflow.md +19 -0
- package/skills/docs/customer-profile-workflow.md +22 -0
- package/skills/docs/evidence-ingest-workflow.md +23 -0
- package/skills/docs/init-docs.md +160 -0
- package/skills/docs/init-project.md +50 -0
- package/skills/docs/prd-workflow.md +57 -0
- package/skills/docs/prfaq-workflow.md +25 -0
- package/skills/docs/product-intelligence-review.md +22 -0
- package/skills/docs/product-intelligence-workflow.md +62 -0
- package/skills/docs/product-signal-workflow.md +27 -0
- package/skills/docs/research-workflow.md +28 -0
- package/skills/docs/runbook-workflow.md +24 -0
- package/skills/exploration/repo-map.md +297 -0
- package/skills/frameworks/django.md +159 -0
- package/skills/frameworks/nextjs.md +148 -0
- package/skills/frameworks/react.md +132 -0
- package/skills/frameworks/spring-boot.md +165 -0
- package/skills/frontend-design/accessibility.md +153 -0
- package/skills/frontend-design/component-patterns.md +111 -0
- package/skills/frontend-design/engineering.md +122 -0
- package/skills/frontend-design/state-management.md +118 -0
- package/skills/frontend-design/ui-aesthetics.md +102 -0
- package/skills/frontend-design/ux-principles.md +126 -0
- package/skills/quality-gates/review-work.md +90 -0
- package/skills/quality-gates/verify-change.md +94 -0
- package/skills/quality-gates/verify-module.md +96 -0
- package/skills/quality-gates/verify-quality.md +93 -0
- package/skills/quality-gates/verify-security.md +95 -0
- package/skills/roles/architect.ai-systems.md +37 -0
- package/skills/roles/architect.data.md +37 -0
- package/skills/roles/architect.enterprise.md +37 -0
- package/skills/roles/architect.integration.md +37 -0
- package/skills/roles/architect.md +68 -0
- package/skills/roles/architect.platform.md +37 -0
- package/skills/roles/data-analyst.experiment.md +37 -0
- package/skills/roles/data-analyst.md +68 -0
- package/skills/roles/data-analyst.product-intelligence.md +37 -0
- package/skills/roles/data-analyst.product.md +37 -0
- package/skills/roles/data-analyst.telemetry.md +37 -0
- package/skills/roles/data-engineer.pipeline.md +37 -0
- package/skills/roles/data-engineer.vector-retrieval.md +37 -0
- package/skills/roles/data-engineer.warehouse.md +37 -0
- package/skills/roles/debugger.md +68 -0
- package/skills/roles/designer.accessibility.md +43 -0
- package/skills/roles/designer.md +68 -0
- package/skills/roles/engineer.ai.md +49 -0
- package/skills/roles/engineer.data.md +49 -0
- package/skills/roles/engineer.md +85 -0
- package/skills/roles/engineer.platform.md +49 -0
- package/skills/roles/operator.docs.md +43 -0
- package/skills/roles/operator.md +68 -0
- package/skills/roles/operator.release.md +43 -0
- package/skills/roles/operator.sre.md +43 -0
- package/skills/roles/orchestrator.md +66 -0
- package/skills/roles/product-manager.ai-product.md +37 -0
- package/skills/roles/product-manager.business-strategy.md +43 -0
- package/skills/roles/product-manager.enterprise.md +37 -0
- package/skills/roles/product-manager.growth.md +37 -0
- package/skills/roles/product-manager.md +67 -0
- package/skills/roles/product-manager.platform.md +37 -0
- package/skills/roles/product-manager.product.md +37 -0
- package/skills/roles/qa.ai-eval.md +37 -0
- package/skills/roles/qa.api-contract.md +37 -0
- package/skills/roles/qa.data-pipeline.md +37 -0
- package/skills/roles/qa.md +68 -0
- package/skills/roles/qa.test-automation.md +49 -0
- package/skills/roles/qa.web-ui.md +37 -0
- package/skills/roles/researcher.explorer.md +43 -0
- package/skills/roles/researcher.md +68 -0
- package/skills/roles/researcher.ux.md +43 -0
- package/skills/roles/reviewer.devil-advocate.md +43 -0
- package/skills/roles/reviewer.evaluator.md +43 -0
- package/skills/roles/reviewer.md +68 -0
- package/skills/roles/reviewer.trace.md +43 -0
- package/skills/roles/security.ai.md +37 -0
- package/skills/roles/security.appsec.md +37 -0
- package/skills/roles/security.cloud.md +37 -0
- package/skills/roles/security.legal-compliance.md +49 -0
- package/skills/roles/security.md +68 -0
- package/skills/roles/security.privacy.md +37 -0
- package/skills/roles/security.supply-chain.md +37 -0
- package/skills/routing.md +139 -0
- package/skills/security/blue-team.md +83 -0
- package/skills/security/code-audit.md +94 -0
- package/skills/security/pentest.md +84 -0
- package/skills/security/red-team.md +81 -0
- package/skills/security/threat-intel.md +89 -0
- package/skills/security/vuln-research.md +87 -0
- package/skills/utility/clean-code.md +165 -0
- package/sync-agents.mjs +899 -0
- package/templates/docs/adr.md +27 -0
- package/templates/docs/backlog-proposal.md +26 -0
- package/templates/docs/customer-profile.md +34 -0
- package/templates/docs/evidence-brief.md +37 -0
- package/templates/docs/incident-report.md +46 -0
- package/templates/docs/memo.md +27 -0
- package/templates/docs/meta-prd.md +56 -0
- package/templates/docs/one-pager.md +24 -0
- package/templates/docs/prd-business.md +61 -0
- package/templates/docs/prd-platform.md +62 -0
- package/templates/docs/prd.md +47 -0
- package/templates/docs/prfaq.md +31 -0
- package/templates/docs/product-intelligence-report.md +31 -0
- package/templates/docs/research-brief.md +29 -0
- package/templates/docs/rfc-platform.md +60 -0
- package/templates/docs/rfc.md +46 -0
- package/templates/docs/runbook.md +33 -0
- package/templates/docs/signal-brief.md +25 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/operator.release.md — Anti-pattern guidance for the Operator.release (release) role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the operator.release (release) domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-release-manager.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: operator.release
|
|
10
|
+
applies_to: [cx-release-manager]
|
|
11
|
+
inherits: operator
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# Release Manager Overlay
|
|
15
|
+
|
|
16
|
+
Additional failure modes on top of the operator core.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### 1. Big-bang releases
|
|
20
|
+
**Symptom**: shipping N weeks of changes behind one deploy, one feature flag, one migration.
|
|
21
|
+
**Why it fails**: when something breaks, you don't know which change caused it; rollback reverses everything.
|
|
22
|
+
**Counter-move**: ship in the smallest deployable increment. Feature-flag independently.
|
|
23
|
+
|
|
24
|
+
### 2. No rollback path
|
|
25
|
+
**Symptom**: a migration, schema change, or config flip that can't be undone in under 15 minutes.
|
|
26
|
+
**Why it fails**: the fix-forward pressure during an incident drives more damage.
|
|
27
|
+
**Counter-move**: for every release, document the rollback command or procedure. Test it before production.
|
|
28
|
+
|
|
29
|
+
### 3. Release notes after the fact
|
|
30
|
+
**Symptom**: writing the changelog the day of release, or later.
|
|
31
|
+
**Why it fails**: details are forgotten; breaking changes slip past users; stakeholder comms are reactive.
|
|
32
|
+
**Counter-move**: changelog entries land with the code change, not at release. Release compiles from committed entries.
|
|
33
|
+
|
|
34
|
+
### 4. No rollout monitoring window
|
|
35
|
+
**Symptom**: pushing to production and moving on to the next task.
|
|
36
|
+
**Why it fails**: regressions show up 30–60 minutes in; if nobody is watching, they compound.
|
|
37
|
+
**Counter-move**: define the post-release watch window (metrics + duration) before pushing. Hold the release until it's clean.
|
|
38
|
+
|
|
39
|
+
## Self-check before shipping
|
|
40
|
+
- [ ] Release is the smallest deployable increment
|
|
41
|
+
- [ ] Rollback path documented and tested
|
|
42
|
+
- [ ] Core release-facing docs landed with code and match shipped behavior
|
|
43
|
+
- [ ] Post-release watch window defined and staffed
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/operator.sre.md — Anti-pattern guidance for the Operator.sre (sre) role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the operator.sre (sre) domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-sre.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: operator.sre
|
|
10
|
+
applies_to: [cx-sre]
|
|
11
|
+
inherits: operator
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# SRE Overlay
|
|
15
|
+
|
|
16
|
+
Additional failure modes on top of the operator core.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### 1. Alerts without playbooks
|
|
20
|
+
**Symptom**: an alert page triggers but has no linked runbook or known response.
|
|
21
|
+
**Why it fails**: oncall wakes, fumbles, escalates. Mean time to recovery balloons.
|
|
22
|
+
**Counter-move**: every alert links to a runbook with symptoms, checks, and remediation steps.
|
|
23
|
+
|
|
24
|
+
### 2. SLOs without error budgets
|
|
25
|
+
**Symptom**: publishing an SLO (e.g., 99.9% availability) with no policy for what happens when it's breached.
|
|
26
|
+
**Why it fails**: the SLO becomes decorative; feature work continues to burn reliability.
|
|
27
|
+
**Counter-move**: define the error budget policy up front — what freezes, who's notified, when it resumes.
|
|
28
|
+
|
|
29
|
+
### 3. Dashboards of everything
|
|
30
|
+
**Symptom**: 40-panel dashboards covering every metric the team could expose.
|
|
31
|
+
**Why it fails**: during an incident, nobody can find the signal. Cognitive load blocks response.
|
|
32
|
+
**Counter-move**: build incident-shaped dashboards: one per symptom class, with the minimum signals to triage.
|
|
33
|
+
|
|
34
|
+
### 4. Post-mortems without corrective actions
|
|
35
|
+
**Symptom**: writing a thorough timeline and "5 whys" with no tracked owner or deadline for fixes.
|
|
36
|
+
**Why it fails**: the same incident repeats. Teams lose trust in the process.
|
|
37
|
+
**Counter-move**: every corrective action has an owner, a ticket, and a target date. Review completion in the next monthly.
|
|
38
|
+
|
|
39
|
+
## Self-check before shipping
|
|
40
|
+
- [ ] Every alert links to a runbook
|
|
41
|
+
- [ ] SLOs have an explicit error-budget policy
|
|
42
|
+
- [ ] Dashboards are incident-shaped, not metric-dumps
|
|
43
|
+
- [ ] Post-mortem actions are owned and dated
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/orchestrator.md — Anti-pattern guidance for the Orchestrator role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the orchestrator domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-orchestrator.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: orchestrator
|
|
10
|
+
applies_to: [cx-orchestrator]
|
|
11
|
+
inherits: null
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# Orchestrator — Role guidance
|
|
15
|
+
|
|
16
|
+
Use this as a fast dispatch checklist before producing orchestration output.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
1. **Dispatching before classifying**
|
|
20
|
+
- Symptom: every request becomes multi-agent work.
|
|
21
|
+
- Counter: classify first, then choose the smallest adequate path.
|
|
22
|
+
|
|
23
|
+
2. **Too many perspectives**
|
|
24
|
+
- Symptom: multiple specialists repeat the same lens.
|
|
25
|
+
- Counter: dispatch only agents whose priors differ materially.
|
|
26
|
+
|
|
27
|
+
3. **Routing around blockers**
|
|
28
|
+
- Symptom: BLOCKED or NEEDS_MAIN_INPUT gets hidden by another handoff.
|
|
29
|
+
- Counter: surface the blocker plainly and ask from the main session.
|
|
30
|
+
|
|
31
|
+
4. **Ceremony over outcome**
|
|
32
|
+
- Symptom: every phase runs even when it adds no signal.
|
|
33
|
+
- Counter: name the phase output; skip empty phases with a reason.
|
|
34
|
+
|
|
35
|
+
5. **Rubber-stamp challenge**
|
|
36
|
+
- Symptom: challenge returns no critical issues because it barely tested the plan.
|
|
37
|
+
- Counter: rerun with sharper constraints when risk is non-trivial.
|
|
38
|
+
|
|
39
|
+
6. **Losing the ask**
|
|
40
|
+
- Symptom: specialists optimize a different problem.
|
|
41
|
+
- Counter: carry the original request through every handoff and final check.
|
|
42
|
+
|
|
43
|
+
7. **Skipping quality gates**
|
|
44
|
+
- Symptom: "simple" implementation ships without review or tests.
|
|
45
|
+
- Counter: simple changes still get verification; the gate just runs faster.
|
|
46
|
+
|
|
47
|
+
8. **Exposing internals**
|
|
48
|
+
- Symptom: final output says what each specialist said.
|
|
49
|
+
- Counter: synthesize outcomes in Construct's voice.
|
|
50
|
+
|
|
51
|
+
9. **Ruminating instead of acting**
|
|
52
|
+
- Symptom: repeated reasoning turns without a read, lookup, dispatch, or user answer.
|
|
53
|
+
- Counter: after two passes, dispatch, look up evidence, or ask.
|
|
54
|
+
|
|
55
|
+
10. **Bulk reading before routing**
|
|
56
|
+
- Symptom: large reads just to decide who should work.
|
|
57
|
+
- Counter: probe with search, glob, or small reads first.
|
|
58
|
+
|
|
59
|
+
## Ship Check
|
|
60
|
+
|
|
61
|
+
- Request classified.
|
|
62
|
+
- Smallest adequate path selected.
|
|
63
|
+
- Handoffs have distinct ownership.
|
|
64
|
+
- Blockers and user questions surfaced.
|
|
65
|
+
- Original ask still matches final output.
|
|
66
|
+
- Verification evidence exists for implementation work.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/product-manager.ai-product.md — Anti-pattern guidance for the Product-manager.ai-product (ai product) role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the product-manager.ai-product (ai product) domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-product-manager.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: product-manager.ai-product
|
|
10
|
+
applies_to: [cx-product-manager]
|
|
11
|
+
inherits: product-manager
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# AI Product PM Overlay
|
|
15
|
+
|
|
16
|
+
Additional failure modes on top of the product-manager core.
|
|
17
|
+
|
|
18
|
+
### 1. Demo behavior mistaken for product behavior
|
|
19
|
+
**Symptom**: the PRD describes the happy-path model output but not variance, refusal, hallucination, or tool failure.
|
|
20
|
+
**Why it fails**: AI products fail at the distribution edges, not in the demo prompt.
|
|
21
|
+
**Counter-move**: define expected behavior, unacceptable behavior, fallback behavior, and review thresholds.
|
|
22
|
+
|
|
23
|
+
### 2. No evaluation loop
|
|
24
|
+
**Symptom**: quality is described subjectively, with no dataset, rubric, trace, or regression check.
|
|
25
|
+
**Why it fails**: model and prompt changes silently alter product behavior.
|
|
26
|
+
**Counter-move**: require eval fixtures, scoring criteria, trace capture, and promotion gates.
|
|
27
|
+
|
|
28
|
+
### 3. Human trust treated as UI copy
|
|
29
|
+
**Symptom**: the PRD says users should trust the system but does not define evidence, citations, control, or correction paths.
|
|
30
|
+
**Why it fails**: users need to understand when to rely on the system and how to recover when it is wrong.
|
|
31
|
+
**Counter-move**: specify grounding, explainability, review controls, feedback capture, and correction workflows.
|
|
32
|
+
|
|
33
|
+
## Self-check before shipping
|
|
34
|
+
- [ ] Expected, unacceptable, and fallback behaviors are defined
|
|
35
|
+
- [ ] Evaluation dataset, rubric, and promotion gate are specified
|
|
36
|
+
- [ ] Traceability and correction paths are product requirements
|
|
37
|
+
- [ ] Human review boundaries are explicit
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/product-manager.business-strategy.md — Anti-pattern guidance for the Product-manager.business-strategy (business strategy) role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the product-manager.business-strategy (business strategy) domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-business-strategist.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: product-manager.business-strategy
|
|
10
|
+
applies_to: [cx-business-strategist]
|
|
11
|
+
inherits: product-manager
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# Business Strategy Overlay
|
|
15
|
+
|
|
16
|
+
Additional failure modes on top of the product-manager core.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### 1. Strategy as feature list
|
|
20
|
+
**Symptom**: a "strategy" doc that reads as a roadmap with no framing of why this over other paths.
|
|
21
|
+
**Why it fails**: execution goes fine but the company loses to a competitor that picked a different axis.
|
|
22
|
+
**Counter-move**: state the bet, the alternative bets explicitly rejected, and what would have to be true for each.
|
|
23
|
+
|
|
24
|
+
### 2. No theory of the market
|
|
25
|
+
**Symptom**: decisions made without a stated view of the market shape, buyer, or competitive moat.
|
|
26
|
+
**Why it fails**: tactics disconnect from positioning; marketing, pricing, and product drift apart.
|
|
27
|
+
**Counter-move**: write the one-paragraph market thesis. Every strategy decision links back to it or challenges it.
|
|
28
|
+
|
|
29
|
+
### 3. Strategy without a kill criterion
|
|
30
|
+
**Symptom**: a bet is made with no definition of what would falsify it.
|
|
31
|
+
**Why it fails**: bad bets survive longer than they should; capital and focus are wasted.
|
|
32
|
+
**Counter-move**: declare the leading indicator and the threshold at which the strategy is revisited.
|
|
33
|
+
|
|
34
|
+
### 4. Comparing to features, not to business models
|
|
35
|
+
**Symptom**: competitive analysis that maps feature parity without examining how the competitor makes money.
|
|
36
|
+
**Why it fails**: two products with identical features but different economics compete very differently.
|
|
37
|
+
**Counter-move**: for each competitor, model the business (unit economics, distribution, defensibility) not just the surface.
|
|
38
|
+
|
|
39
|
+
## Self-check before shipping
|
|
40
|
+
- [ ] Rejected alternatives stated
|
|
41
|
+
- [ ] Market thesis explicit
|
|
42
|
+
- [ ] Falsification criterion and revisit threshold declared
|
|
43
|
+
- [ ] Competitive analysis covers economics, not just features
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/product-manager.enterprise.md — Anti-pattern guidance for the Product-manager.enterprise (enterprise) role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the product-manager.enterprise (enterprise) domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-product-manager.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: product-manager.enterprise
|
|
10
|
+
applies_to: [cx-product-manager]
|
|
11
|
+
inherits: product-manager
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# Enterprise PM Overlay
|
|
15
|
+
|
|
16
|
+
Additional failure modes on top of the product-manager core.
|
|
17
|
+
|
|
18
|
+
### 1. Buyer and user collapsed
|
|
19
|
+
**Symptom**: the same persona is treated as evaluator, buyer, admin, and daily user.
|
|
20
|
+
**Why it fails**: enterprise adoption fails when procurement, security, admin, and end-user needs diverge.
|
|
21
|
+
**Counter-move**: separate buyer, evaluator, admin, and practitioner requirements.
|
|
22
|
+
|
|
23
|
+
### 2. Approval path ignored
|
|
24
|
+
**Symptom**: the PRD explains why users want the feature but not what blocks the account from adopting it.
|
|
25
|
+
**Why it fails**: security review, compliance, data residency, procurement, and rollout controls can be the real product requirement.
|
|
26
|
+
**Counter-move**: include adoption blockers and the evidence needed to clear them.
|
|
27
|
+
|
|
28
|
+
### 3. Rollout treated as launch day
|
|
29
|
+
**Symptom**: requirements stop at feature availability.
|
|
30
|
+
**Why it fails**: enterprise customers need staged rollout, policy controls, audit logs, documentation, support, and reversibility.
|
|
31
|
+
**Counter-move**: specify rollout controls, admin defaults, auditability, enablement, and rollback behavior.
|
|
32
|
+
|
|
33
|
+
## Self-check before shipping
|
|
34
|
+
- [ ] Buyer, admin, evaluator, and user needs are separated
|
|
35
|
+
- [ ] Security, compliance, procurement, and rollout blockers are named
|
|
36
|
+
- [ ] Audit, policy, and rollback requirements are explicit
|
|
37
|
+
- [ ] Customer evidence maps to account-level adoption risk
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/product-manager.growth.md — Anti-pattern guidance for the Product-manager.growth (growth) role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the product-manager.growth (growth) domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-product-manager, cx-business-strategist.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: product-manager.growth
|
|
10
|
+
applies_to: [cx-product-manager, cx-business-strategist]
|
|
11
|
+
inherits: product-manager
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# Growth PM Overlay
|
|
15
|
+
|
|
16
|
+
Additional failure modes on top of the product-manager core.
|
|
17
|
+
|
|
18
|
+
### 1. Metric movement without user value
|
|
19
|
+
**Symptom**: the doc optimizes activation, conversion, or engagement without proving the user is better off.
|
|
20
|
+
**Why it fails**: growth work can create short-term movement while eroding trust or retention.
|
|
21
|
+
**Counter-move**: pair each growth metric with the user value it must preserve.
|
|
22
|
+
|
|
23
|
+
### 2. Funnel step isolated from lifecycle
|
|
24
|
+
**Symptom**: requirements focus on one funnel step without considering acquisition source, user intent, activation quality, retention, or expansion.
|
|
25
|
+
**Why it fails**: local optimization shifts the problem downstream.
|
|
26
|
+
**Counter-move**: map the lifecycle and name the guardrail metrics.
|
|
27
|
+
|
|
28
|
+
### 3. Packaging assumptions hidden
|
|
29
|
+
**Symptom**: pricing, packaging, entitlement, and plan boundaries are left as "business decision later."
|
|
30
|
+
**Why it fails**: growth features often depend on the commercial motion.
|
|
31
|
+
**Counter-move**: state packaging assumptions and what evidence would change them.
|
|
32
|
+
|
|
33
|
+
## Self-check before shipping
|
|
34
|
+
- [ ] Growth metric is paired with user-value guardrail
|
|
35
|
+
- [ ] Lifecycle impact is mapped beyond the local funnel step
|
|
36
|
+
- [ ] Pricing, packaging, and entitlement assumptions are explicit
|
|
37
|
+
- [ ] Experiment design includes success and stop thresholds
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/product-manager.md — Anti-pattern guidance for the Product-manager role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the product-manager domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-product-manager, cx-business-strategist.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: product-manager
|
|
10
|
+
applies_to: [cx-product-manager, cx-business-strategist]
|
|
11
|
+
inherits: null
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# Product Manager — Role guidance
|
|
15
|
+
|
|
16
|
+
Load this before drafting. These are the failure modes that separate strong role output from weak role output — check your draft against each.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### 1. Solution in the problem statement
|
|
20
|
+
**Symptom**: the problem is phrased as a missing feature ("users need a share button") instead of a user pain ("users cannot get their output to a collaborator without leaving the product").
|
|
21
|
+
**Why it fails**: anchors the team on one implementation before alternatives are considered; forecloses cheaper or better solutions.
|
|
22
|
+
**Counter-move**: write the problem as a user-observable pain with evidence. Save solutions for the proposal section.
|
|
23
|
+
|
|
24
|
+
### 2. Unfalsifiable acceptance criteria
|
|
25
|
+
**Symptom**: criteria use words like "intuitive", "fast", "robust", "delightful" with no numeric or observable threshold.
|
|
26
|
+
**Why it fails**: neither engineering nor QA can decide when the work is done; reviews devolve into taste arguments.
|
|
27
|
+
**Counter-move**: rewrite each criterion as a condition a stranger could check without asking the author.
|
|
28
|
+
|
|
29
|
+
### 3. Vanity metrics
|
|
30
|
+
**Symptom**: success measured by clicks, signups, page views, or "engagement" without connection to the user outcome.
|
|
31
|
+
**Why it fails**: rewards surface activity that looks like progress while the underlying problem persists.
|
|
32
|
+
**Counter-move**: name the user or business outcome. Pick a metric whose movement requires that outcome to occur.
|
|
33
|
+
|
|
34
|
+
### 4. Missing user evidence
|
|
35
|
+
**Symptom**: the PRD cites no tickets, interviews, session recordings, or data. The source is "stakeholder said".
|
|
36
|
+
**Why it fails**: stakeholders generalize from one loud user; the team ends up building for the loudest, not the representative.
|
|
37
|
+
**Counter-move**: cite at least two independent evidence sources. If evidence is thin, say so and propose a research step before committing.
|
|
38
|
+
|
|
39
|
+
### 5. Unbounded scope
|
|
40
|
+
**Symptom**: "goals" and "non-goals" are both empty, or non-goals is missing entirely.
|
|
41
|
+
**Why it fails**: every reviewer adds to the scope; the doc becomes a wishlist and the project misses its date.
|
|
42
|
+
**Counter-move**: force yourself to write three explicit non-goals. If you cannot, the scope is not thought through yet.
|
|
43
|
+
|
|
44
|
+
### 6. Stakeholder bias over user evidence
|
|
45
|
+
**Symptom**: requirements trace to an executive's preference, not to user data.
|
|
46
|
+
**Why it fails**: builds the wrong thing confidently. Eventually the executive moves on; the feature stays.
|
|
47
|
+
**Counter-move**: separate what the business wants from what the user needs. Name both. Explain how they reconcile.
|
|
48
|
+
|
|
49
|
+
### 7. Hiding the tradeoff
|
|
50
|
+
**Symptom**: the PRD reads as if the proposal has only upside.
|
|
51
|
+
**Why it fails**: loses credibility with engineering and leadership; tradeoffs surface in implementation as surprises.
|
|
52
|
+
**Counter-move**: write the strongest case against your own proposal. If you cannot, you have not understood it.
|
|
53
|
+
|
|
54
|
+
### 8. Deadlines without constraints
|
|
55
|
+
**Symptom**: a ship date with no mention of what could slip, what is fixed, and who is on the team.
|
|
56
|
+
**Why it fails**: the deadline becomes a wish. Scope balloons to fill available time and then the date slips anyway.
|
|
57
|
+
**Counter-move**: name at least one of: fixed scope, fixed quality bar, fixed team size. Everything else is the flex.
|
|
58
|
+
|
|
59
|
+
## Self-check before shipping
|
|
60
|
+
|
|
61
|
+
- [ ] Problem describes pain, not a missing feature
|
|
62
|
+
- [ ] Acceptance criteria are observable by a stranger
|
|
63
|
+
- [ ] Success metric is a user or business outcome, not activity
|
|
64
|
+
- [ ] At least two independent evidence sources cited
|
|
65
|
+
- [ ] Non-goals section has a meaningful number of items for scope control
|
|
66
|
+
- [ ] The strongest counter-argument is named and addressed
|
|
67
|
+
- [ ] Tradeoff between scope, date, and quality is explicit
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/product-manager.platform.md — Anti-pattern guidance for the Product-manager.platform (platform) role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the product-manager.platform (platform) domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-product-manager.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: product-manager.platform
|
|
10
|
+
applies_to: [cx-product-manager]
|
|
11
|
+
inherits: product-manager
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# Platform PM Overlay
|
|
15
|
+
|
|
16
|
+
Additional failure modes on top of the product-manager core.
|
|
17
|
+
|
|
18
|
+
### 1. Treating developers as one persona
|
|
19
|
+
**Symptom**: "developer" is used as the user for APIs, SDKs, admin surfaces, and operational workflows.
|
|
20
|
+
**Why it fails**: platform builders, application developers, security admins, and operators have different incentives and failure modes.
|
|
21
|
+
**Counter-move**: name the platform actor precisely and describe the system boundary they own.
|
|
22
|
+
|
|
23
|
+
### 2. Contract changes without migration
|
|
24
|
+
**Symptom**: the PRD introduces API, schema, permission, or configuration changes without compatibility and migration requirements.
|
|
25
|
+
**Why it fails**: platform work breaks downstream systems even when the feature itself works.
|
|
26
|
+
**Counter-move**: include versioning, backwards compatibility, rollout, migration, and deprecation behavior.
|
|
27
|
+
|
|
28
|
+
### 3. Operational burden omitted
|
|
29
|
+
**Symptom**: requirements describe setup but not monitoring, failure recovery, supportability, or admin controls.
|
|
30
|
+
**Why it fails**: platform capabilities become toil generators after launch.
|
|
31
|
+
**Counter-move**: add observability, auditability, rate limits, fallback behavior, and support diagnostics as product requirements.
|
|
32
|
+
|
|
33
|
+
## Self-check before shipping
|
|
34
|
+
- [ ] Platform actor and owned boundary are explicit
|
|
35
|
+
- [ ] Compatibility, migration, and deprecation are covered
|
|
36
|
+
- [ ] Admin, audit, observability, and failure recovery requirements exist
|
|
37
|
+
- [ ] Integration contracts are testable
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/product-manager.product.md — Anti-pattern guidance for the Product-manager.product (product) role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the product-manager.product (product) domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-product-manager.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: product-manager.product
|
|
10
|
+
applies_to: [cx-product-manager]
|
|
11
|
+
inherits: product-manager
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# Product PM Overlay
|
|
15
|
+
|
|
16
|
+
Additional failure modes on top of the product-manager core.
|
|
17
|
+
|
|
18
|
+
### 1. Persona theater
|
|
19
|
+
**Symptom**: the document names a generic user such as "admin" or "customer" without describing the workflow, pressure, or context they are in.
|
|
20
|
+
**Why it fails**: generic personas cannot drive product tradeoffs; every stakeholder imagines a different user.
|
|
21
|
+
**Counter-move**: anchor the persona in a concrete job, trigger, current workaround, and success condition.
|
|
22
|
+
|
|
23
|
+
### 2. Workflow gaps hidden behind feature language
|
|
24
|
+
**Symptom**: requirements describe screens or features but skip the before, during, and after steps of the user journey.
|
|
25
|
+
**Why it fails**: engineering can ship the feature while the actual workflow still breaks at handoff points.
|
|
26
|
+
**Counter-move**: write the end-to-end user workflow and mark where the new capability changes behavior.
|
|
27
|
+
|
|
28
|
+
### 3. Adoption assumed
|
|
29
|
+
**Symptom**: success depends on users discovering, trusting, and repeatedly using the feature, but the PRD says nothing about adoption.
|
|
30
|
+
**Why it fails**: usable features still fail when activation, migration, onboarding, or trust are unresolved.
|
|
31
|
+
**Counter-move**: include the first-use path, repeat-use trigger, and measurable adoption signal.
|
|
32
|
+
|
|
33
|
+
## Self-check before shipping
|
|
34
|
+
- [ ] Persona includes workflow context, not just role title
|
|
35
|
+
- [ ] End-to-end user journey is explicit
|
|
36
|
+
- [ ] Adoption path and repeat-use trigger are named
|
|
37
|
+
- [ ] Success metric measures user outcome, not shipped scope
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/qa.ai-eval.md — Anti-pattern guidance for the Qa.ai-eval (ai eval) role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the qa.ai-eval (ai eval) domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-qa, cx-test-automation, cx-evaluator.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: qa.ai-eval
|
|
10
|
+
applies_to: [cx-qa, cx-test-automation, cx-evaluator]
|
|
11
|
+
inherits: qa
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# AI Eval QA Overlay
|
|
15
|
+
|
|
16
|
+
Additional failure modes on top of the QA core.
|
|
17
|
+
|
|
18
|
+
### 1. Evaluating only good examples
|
|
19
|
+
**Symptom**: evals prove the model works on ideal prompts.
|
|
20
|
+
**Why it fails**: production failures come from ambiguity, missing context, prompt injection, and tool errors.
|
|
21
|
+
**Counter-move**: include adversarial, ambiguous, stale-context, and tool-failure cases.
|
|
22
|
+
|
|
23
|
+
### 2. Score without explanation
|
|
24
|
+
**Symptom**: eval output is a number with no rubric or failure taxonomy.
|
|
25
|
+
**Why it fails**: teams cannot improve what they cannot classify.
|
|
26
|
+
**Counter-move**: define rubrics, labels, thresholds, and examples for each score.
|
|
27
|
+
|
|
28
|
+
### 3. No regression baseline
|
|
29
|
+
**Symptom**: prompt or model changes are judged by current output only.
|
|
30
|
+
**Why it fails**: improvements in one class hide regressions in another.
|
|
31
|
+
**Counter-move**: keep golden traces, compare against baseline, and require promotion gates.
|
|
32
|
+
|
|
33
|
+
## Self-check before shipping
|
|
34
|
+
- [ ] Eval set includes negative and adversarial cases
|
|
35
|
+
- [ ] Rubric, thresholds, and failure taxonomy are defined
|
|
36
|
+
- [ ] Golden traces and baseline comparison exist
|
|
37
|
+
- [ ] Tool-call and retrieval failures are tested
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/qa.api-contract.md — Anti-pattern guidance for the Qa.api-contract (api contract) role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the qa.api-contract (api contract) domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-qa, cx-test-automation.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: qa.api-contract
|
|
10
|
+
applies_to: [cx-qa, cx-test-automation]
|
|
11
|
+
inherits: qa
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# API Contract QA Overlay
|
|
15
|
+
|
|
16
|
+
Additional failure modes on top of the QA core.
|
|
17
|
+
|
|
18
|
+
### 1. Testing only the current client
|
|
19
|
+
**Symptom**: tests pass through one frontend but do not validate the API contract.
|
|
20
|
+
**Why it fails**: other clients, SDKs, and integrations break without local test failure.
|
|
21
|
+
**Counter-move**: verify request/response schemas, status codes, errors, compatibility, and deprecation behavior.
|
|
22
|
+
|
|
23
|
+
### 2. Happy-path payload bias
|
|
24
|
+
**Symptom**: fixtures contain ideal input and complete data.
|
|
25
|
+
**Why it fails**: contracts fail at boundaries: missing fields, unknown enum values, pagination, rate limits, and auth states.
|
|
26
|
+
**Counter-move**: add negative, boundary, and compatibility cases.
|
|
27
|
+
|
|
28
|
+
### 3. No consumer perspective
|
|
29
|
+
**Symptom**: tests validate implementation details but not consumer expectations.
|
|
30
|
+
**Why it fails**: provider changes can be technically valid and still break real consumers.
|
|
31
|
+
**Counter-move**: add consumer-driven contract tests where the API is external or shared.
|
|
32
|
+
|
|
33
|
+
## Self-check before shipping
|
|
34
|
+
- [ ] Schemas, status codes, error bodies, and auth states are verified
|
|
35
|
+
- [ ] Compatibility and deprecation behavior have tests
|
|
36
|
+
- [ ] Boundary payloads, pagination, and rate limits are covered
|
|
37
|
+
- [ ] Consumer expectations are represented
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/qa.data-pipeline.md — Anti-pattern guidance for the Qa.data-pipeline (data pipeline) role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the qa.data-pipeline (data pipeline) domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-qa, cx-test-automation.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: qa.data-pipeline
|
|
10
|
+
applies_to: [cx-qa, cx-test-automation]
|
|
11
|
+
inherits: qa
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# Data Pipeline QA Overlay
|
|
15
|
+
|
|
16
|
+
Additional failure modes on top of the QA core.
|
|
17
|
+
|
|
18
|
+
### 1. Testing records, not invariants
|
|
19
|
+
**Symptom**: tests compare one fixture output but do not assert freshness, uniqueness, completeness, or lineage.
|
|
20
|
+
**Why it fails**: data defects are often statistically small and operationally severe.
|
|
21
|
+
**Counter-move**: define quality checks for schema, nullability, uniqueness, freshness, volume, and referential integrity.
|
|
22
|
+
|
|
23
|
+
### 2. Ignoring reruns
|
|
24
|
+
**Symptom**: tests only verify first-run success.
|
|
25
|
+
**Why it fails**: real pipelines rerun after failures, backfills, and partial outages.
|
|
26
|
+
**Counter-move**: test idempotency, replay, backfill, and partial failure recovery.
|
|
27
|
+
|
|
28
|
+
### 3. No alert validation
|
|
29
|
+
**Symptom**: pipeline tests prove output exists but not that failures page the right owner.
|
|
30
|
+
**Why it fails**: silent data failures become business decisions made from bad data.
|
|
31
|
+
**Counter-move**: verify alerts, runbooks, and ownership for quality failures.
|
|
32
|
+
|
|
33
|
+
## Self-check before shipping
|
|
34
|
+
- [ ] Data quality invariants are explicit and executable
|
|
35
|
+
- [ ] Idempotency, replay, and backfill paths are tested
|
|
36
|
+
- [ ] Partial failures have recovery expectations
|
|
37
|
+
- [ ] Alerts and runbooks are part of verification
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
skills/roles/qa.md — Anti-pattern guidance for the Qa role.
|
|
3
|
+
|
|
4
|
+
Loaded at sync time to inline role-specific failure modes into specialist agent prompts.
|
|
5
|
+
Covers common failure modes for the qa domain and counter-moves to avoid them.
|
|
6
|
+
Applies to: cx-qa, cx-test-automation.
|
|
7
|
+
-->
|
|
8
|
+
---
|
|
9
|
+
role: qa
|
|
10
|
+
applies_to: [cx-qa, cx-test-automation]
|
|
11
|
+
inherits: null
|
|
12
|
+
version: 1
|
|
13
|
+
---
|
|
14
|
+
# QA — Role guidance
|
|
15
|
+
|
|
16
|
+
Load this before drafting. These are the failure modes that separate strong role output from weak role output — check your draft against each.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### 1. Testing the mock
|
|
20
|
+
**Symptom**: the test asserts that the mock was called with the expected arguments — and that is all it asserts.
|
|
21
|
+
**Why it fails**: the test passes regardless of whether the real system would. Mocks drift from the real contract silently.
|
|
22
|
+
**Counter-move**: assert on observable outputs or state. Use mocks for isolation, not as the thing being tested.
|
|
23
|
+
|
|
24
|
+
### 2. Coverage as proxy for quality
|
|
25
|
+
**Symptom**: the bar is "80% line coverage" with no attention to whether the covered lines exercise meaningful behavior.
|
|
26
|
+
**Why it fails**: coverage rises by adding trivial assertions. Real bugs live in the uncovered branches and the edge cases.
|
|
27
|
+
**Counter-move**: pair line coverage with behavior coverage. For each requirement, name the test that would catch its regression.
|
|
28
|
+
|
|
29
|
+
### 3. Happy path only
|
|
30
|
+
**Symptom**: every test exercises the success path. Error handling, timeouts, partial failures, and malformed input are untested.
|
|
31
|
+
**Why it fails**: production spends most of its time off the happy path. Untested code paths fail in the worst way.
|
|
32
|
+
**Counter-move**: for every happy-path test, write at least one error-path test. Malformed input, dependency failure, timeout.
|
|
33
|
+
|
|
34
|
+
### 4. Flaky test denial
|
|
35
|
+
**Symptom**: intermittent failures are re-run until green and ignored.
|
|
36
|
+
**Why it fails**: the flake signals a real race condition, timing assumption, or environmental dependency that will eventually cause a production incident.
|
|
37
|
+
**Counter-move**: investigate every flake. Either fix the race or quarantine the test with a tracked ticket.
|
|
38
|
+
|
|
39
|
+
### 5. Tests that test the implementation
|
|
40
|
+
**Symptom**: the test breaks every time the implementation is refactored, even when behavior is unchanged.
|
|
41
|
+
**Why it fails**: discourages refactoring. Engineers delete or weaken tests to unblock themselves.
|
|
42
|
+
**Counter-move**: test through public interfaces. Assert on outcomes, not on internal call patterns.
|
|
43
|
+
|
|
44
|
+
### 6. Missing regression coverage for fixes
|
|
45
|
+
**Symptom**: a bug is fixed without a test that would have caught it.
|
|
46
|
+
**Why it fails**: the same bug regresses in six months and nobody remembers it was a bug.
|
|
47
|
+
**Counter-move**: every bug fix includes a test that fails against the broken code and passes against the fix.
|
|
48
|
+
|
|
49
|
+
### 7. Golden-path E2E only
|
|
50
|
+
**Symptom**: the E2E suite validates one long happy journey and nothing else.
|
|
51
|
+
**Why it fails**: the suite is slow, fragile, and still leaves most integration failure modes uncovered.
|
|
52
|
+
**Counter-move**: cover critical user flows with focused E2E tests. Cover component behavior at lower tiers.
|
|
53
|
+
|
|
54
|
+
### 8. Shipping without exercising the change
|
|
55
|
+
**Symptom**: tests pass but no one has actually used the feature as a user would.
|
|
56
|
+
**Why it fails**: the tests validate assumptions; the user discovers what the assumptions missed.
|
|
57
|
+
**Counter-move**: for any user-facing change, run the feature manually at least once before marking done.
|
|
58
|
+
|
|
59
|
+
## Self-check before shipping
|
|
60
|
+
|
|
61
|
+
- [ ] Tests assert on outcomes, not on mock call patterns
|
|
62
|
+
- [ ] Each requirement has a test that would catch its regression
|
|
63
|
+
- [ ] Error paths have at least one test each
|
|
64
|
+
- [ ] No intermittent failures accepted; investigated or quarantined
|
|
65
|
+
- [ ] Tests survive refactors that preserve behavior
|
|
66
|
+
- [ ] Every bug fix has a regression test
|
|
67
|
+
- [ ] E2E covers critical flows; component tests cover the rest
|
|
68
|
+
- [ ] User-facing changes exercised manually before sign-off
|