@geraldmaron/construct 1.0.15 → 1.0.17

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.
Files changed (198) hide show
  1. package/README.md +19 -3
  2. package/bin/construct +376 -98
  3. package/bin/construct-postinstall.mjs +17 -2
  4. package/db/schema/010_cx_scores.sql +51 -0
  5. package/lib/cli-commands.mjs +333 -147
  6. package/lib/contracts/validate.mjs +20 -10
  7. package/lib/contracts/violation-log.mjs +27 -12
  8. package/lib/embedded-contract/audit.mjs +52 -0
  9. package/lib/embedded-contract/capability.mjs +179 -0
  10. package/lib/embedded-contract/contract-version.mjs +39 -0
  11. package/lib/embedded-contract/envelope.mjs +70 -0
  12. package/lib/embedded-contract/index.mjs +71 -0
  13. package/lib/embedded-contract/ingest.mjs +77 -0
  14. package/lib/embedded-contract/model-resolve.mjs +186 -0
  15. package/lib/embedded-contract/redaction.mjs +91 -0
  16. package/lib/embedded-contract/role-facts.mjs +66 -0
  17. package/lib/embedded-contract/triage.mjs +134 -0
  18. package/lib/embedded-contract/workflow-defs.mjs +125 -0
  19. package/lib/embedded-contract/workflow-invoke.mjs +218 -0
  20. package/lib/hooks/config-protection.mjs +12 -5
  21. package/lib/hooks/stop-notify.mjs +7 -0
  22. package/lib/init-unified.mjs +36 -26
  23. package/lib/install/first-invocation.mjs +5 -1
  24. package/lib/intake/classify.mjs +6 -0
  25. package/lib/intake/prepare.mjs +22 -4
  26. package/lib/intake/tables/rnd.mjs +33 -0
  27. package/lib/integrations/intake-integrations.mjs +28 -2
  28. package/lib/mcp/server.mjs +69 -0
  29. package/lib/mcp/tools/embedded-contract.mjs +77 -0
  30. package/lib/mcp/tools/telemetry.mjs +30 -0
  31. package/lib/model-router.mjs +40 -0
  32. package/lib/op-log.mjs +61 -0
  33. package/lib/orchestration-policy.mjs +15 -0
  34. package/lib/roles/catalog.mjs +26 -95
  35. package/lib/roles/gateway.mjs +30 -1
  36. package/lib/scheduler/index.mjs +24 -4
  37. package/lib/server/insights.mjs +12 -0
  38. package/lib/service-manager.mjs +33 -11
  39. package/lib/setup.mjs +73 -10
  40. package/lib/update.mjs +31 -3
  41. package/lib/upgrade.mjs +31 -4
  42. package/lib/validators/skills.mjs +21 -0
  43. package/package.json +9 -3
  44. package/personas/construct.md +2 -0
  45. package/platforms/claude/CLAUDE.md +43 -15
  46. package/scripts/sync-specialists.mjs +32 -5
  47. package/skills/ai/agent-dev.md +2 -0
  48. package/skills/ai/llm-security.md +2 -0
  49. package/skills/ai/ml-ops.md +2 -0
  50. package/skills/ai/orchestration-workflow.md +2 -0
  51. package/skills/ai/prompt-and-eval.md +2 -0
  52. package/skills/ai/prompt-optimizer.md +2 -0
  53. package/skills/ai/rag-system.md +2 -0
  54. package/skills/ai/trace-triage.md +36 -0
  55. package/skills/architecture/api-design.md +2 -0
  56. package/skills/architecture/caching.md +2 -0
  57. package/skills/architecture/cloud-native.md +2 -0
  58. package/skills/architecture/message-queue.md +2 -0
  59. package/skills/architecture/security-arch.md +2 -0
  60. package/skills/compliance/ai-disclosure.md +2 -0
  61. package/skills/compliance/data-privacy.md +2 -0
  62. package/skills/compliance/license-audit.md +2 -0
  63. package/skills/compliance/regulatory-review.md +2 -0
  64. package/skills/development/cpp.md +2 -0
  65. package/skills/development/go.md +2 -0
  66. package/skills/development/java.md +2 -0
  67. package/skills/development/kotlin.md +2 -0
  68. package/skills/development/mobile-crossplatform.md +2 -0
  69. package/skills/development/python.md +2 -0
  70. package/skills/development/rust.md +2 -0
  71. package/skills/development/shell.md +2 -0
  72. package/skills/development/swift.md +2 -0
  73. package/skills/development/typescript.md +2 -0
  74. package/skills/devops/ci-cd.md +2 -0
  75. package/skills/devops/containerization.md +2 -0
  76. package/skills/devops/cost-optimization.md +2 -0
  77. package/skills/devops/data-engineering.md +2 -0
  78. package/skills/devops/database.md +2 -0
  79. package/skills/devops/dependency-management.md +2 -0
  80. package/skills/devops/devsecops.md +2 -0
  81. package/skills/devops/git-workflow.md +2 -0
  82. package/skills/devops/incident-response.md +2 -0
  83. package/skills/devops/monorepo.md +2 -0
  84. package/skills/devops/observability.md +2 -0
  85. package/skills/devops/performance.md +2 -0
  86. package/skills/devops/testing.md +2 -0
  87. package/skills/docs/adr-workflow.md +2 -0
  88. package/skills/docs/backlog-proposal-workflow.md +2 -0
  89. package/skills/docs/customer-profile-workflow.md +2 -0
  90. package/skills/docs/document-ingest-workflow.md +2 -0
  91. package/skills/docs/evidence-ingest-workflow.md +2 -0
  92. package/skills/docs/init-docs.md +2 -0
  93. package/skills/docs/init-project.md +2 -0
  94. package/skills/docs/memo-and-decision-capture.md +45 -0
  95. package/skills/docs/prd-workflow.md +2 -0
  96. package/skills/docs/prfaq-workflow.md +2 -0
  97. package/skills/docs/product-intelligence-review.md +2 -0
  98. package/skills/docs/product-intelligence-workflow.md +2 -0
  99. package/skills/docs/product-signal-workflow.md +2 -0
  100. package/skills/docs/research-workflow.md +2 -0
  101. package/skills/docs/runbook-workflow.md +2 -0
  102. package/skills/docs/strategy-workflow.md +2 -0
  103. package/skills/docs/transcript-synthesis.md +43 -0
  104. package/skills/exploration/dependency-graph-reading.md +2 -0
  105. package/skills/exploration/repo-map.md +2 -0
  106. package/skills/exploration/tracer-bullet-method.md +2 -0
  107. package/skills/exploration/unknown-codebase-onboarding.md +2 -0
  108. package/skills/frameworks/django.md +2 -0
  109. package/skills/frameworks/nextjs.md +2 -0
  110. package/skills/frameworks/react.md +2 -0
  111. package/skills/frameworks/spring-boot.md +2 -0
  112. package/skills/frontend-design/accessibility.md +2 -0
  113. package/skills/frontend-design/component-patterns.md +2 -0
  114. package/skills/frontend-design/engineering.md +2 -0
  115. package/skills/frontend-design/screen-reader-testing.md +34 -0
  116. package/skills/frontend-design/state-management.md +2 -0
  117. package/skills/frontend-design/ui-aesthetics.md +2 -0
  118. package/skills/frontend-design/ux-principles.md +2 -0
  119. package/skills/operating/change-management.md +2 -0
  120. package/skills/operating/incident-response.md +2 -0
  121. package/skills/operating/oncall-rotation.md +2 -0
  122. package/skills/operating/orchestration-reference.md +2 -0
  123. package/skills/operating/raw-data-structuring.md +44 -0
  124. package/skills/operating/unstructured-triage.md +45 -0
  125. package/skills/quality-gates/premortem.md +37 -0
  126. package/skills/quality-gates/review-work.md +2 -0
  127. package/skills/quality-gates/verify-change.md +2 -0
  128. package/skills/quality-gates/verify-module.md +2 -0
  129. package/skills/quality-gates/verify-quality.md +2 -0
  130. package/skills/quality-gates/verify-security.md +2 -0
  131. package/skills/roles/architect.ai-systems.md +2 -0
  132. package/skills/roles/architect.data.md +2 -0
  133. package/skills/roles/architect.enterprise.md +2 -0
  134. package/skills/roles/architect.integration.md +2 -0
  135. package/skills/roles/architect.md +2 -0
  136. package/skills/roles/architect.platform.md +2 -0
  137. package/skills/roles/data-analyst.experiment.md +2 -0
  138. package/skills/roles/data-analyst.md +2 -0
  139. package/skills/roles/data-analyst.product-intelligence.md +2 -0
  140. package/skills/roles/data-analyst.product.md +2 -0
  141. package/skills/roles/data-analyst.telemetry.md +2 -0
  142. package/skills/roles/data-engineer.pipeline.md +2 -0
  143. package/skills/roles/data-engineer.vector-retrieval.md +2 -0
  144. package/skills/roles/data-engineer.warehouse.md +2 -0
  145. package/skills/roles/debugger.md +2 -0
  146. package/skills/roles/designer.accessibility.md +2 -0
  147. package/skills/roles/designer.md +2 -0
  148. package/skills/roles/engineer.ai.md +2 -0
  149. package/skills/roles/engineer.data.md +2 -0
  150. package/skills/roles/engineer.md +2 -0
  151. package/skills/roles/engineer.platform.md +2 -0
  152. package/skills/roles/operator.docs.md +2 -0
  153. package/skills/roles/operator.md +2 -0
  154. package/skills/roles/operator.release.md +2 -0
  155. package/skills/roles/operator.sre.md +2 -0
  156. package/skills/roles/orchestrator.md +2 -0
  157. package/skills/roles/product-manager.ai-product.md +2 -0
  158. package/skills/roles/product-manager.business-strategy.md +2 -0
  159. package/skills/roles/product-manager.enterprise.md +2 -0
  160. package/skills/roles/product-manager.growth.md +2 -0
  161. package/skills/roles/product-manager.md +2 -0
  162. package/skills/roles/product-manager.platform.md +2 -0
  163. package/skills/roles/product-manager.product.md +2 -0
  164. package/skills/roles/qa.ai-eval.md +2 -0
  165. package/skills/roles/qa.api-contract.md +2 -0
  166. package/skills/roles/qa.data-pipeline.md +2 -0
  167. package/skills/roles/qa.md +2 -0
  168. package/skills/roles/qa.test-automation.md +2 -0
  169. package/skills/roles/qa.web-ui.md +2 -0
  170. package/skills/roles/researcher.explorer.md +2 -0
  171. package/skills/roles/researcher.md +2 -0
  172. package/skills/roles/researcher.ux.md +2 -0
  173. package/skills/roles/reviewer.devil-advocate.md +2 -0
  174. package/skills/roles/reviewer.evaluator.md +2 -0
  175. package/skills/roles/reviewer.md +2 -0
  176. package/skills/roles/reviewer.trace.md +2 -0
  177. package/skills/roles/security.ai.md +2 -0
  178. package/skills/roles/security.appsec.md +2 -0
  179. package/skills/roles/security.cloud.md +2 -0
  180. package/skills/roles/security.legal-compliance.md +2 -0
  181. package/skills/roles/security.md +2 -0
  182. package/skills/roles/security.privacy.md +2 -0
  183. package/skills/roles/security.supply-chain.md +2 -0
  184. package/skills/security/blue-team.md +2 -0
  185. package/skills/security/code-audit.md +2 -0
  186. package/skills/security/pentest.md +2 -0
  187. package/skills/security/red-team.md +2 -0
  188. package/skills/security/threat-intel.md +2 -0
  189. package/skills/security/vuln-research.md +2 -0
  190. package/skills/strategy/competitive-landscape.md +2 -0
  191. package/skills/strategy/jobs-to-be-done.md +38 -0
  192. package/skills/strategy/market-research-methods.md +2 -0
  193. package/skills/strategy/narrative-arc.md +2 -0
  194. package/skills/strategy/pricing-positioning.md +2 -0
  195. package/skills/utility/clean-code.md +2 -0
  196. package/specialists/prompts/cx-engineer.md +1 -1
  197. package/specialists/registry.json +18 -9
  198. package/specialists/role-manifests.json +1 -1
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: exploration-repo-map
3
3
  description: Use this skill when entering an unfamiliar codebase, doing deep investigation work, or producing a `.cx/codebase-map.md` artifact for future sessions.
4
+ inputs: [repo, codebase]
5
+ artifactType: repo-map
4
6
  ---
5
7
  # Repo Exploration: Codebase Mapping Playbook
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: exploration-tracer-bullet-method
3
3
  description: Use when beginning implementation in a new system, new integration, or new architectural layer. A tracer bullet is not a prototype; it is the thinnest possible complete path through the real system.
4
+ inputs: [codebase, system-design]
5
+ artifactType: guidance
4
6
  ---
5
7
  # Tracer Bullet Method
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: exploration-unknown-codebase-onboarding
3
3
  description: Use when entering an unfamiliar codebase for the first time, or when the task requires understanding a system you haven't touched before.
4
+ inputs: [codebase, repo]
5
+ artifactType: guidance
4
6
  ---
5
7
  # Unknown Codebase Onboarding
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: frameworks-django
3
3
  description: Patterns, anti-patterns, and reference guidance for Django. Use when the task involves django.
4
+ inputs: [code, feature-spec, repo]
5
+ artifactType: code
4
6
  ---
5
7
  # Django
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: frameworks-nextjs
3
3
  description: Patterns, anti-patterns, and reference guidance for Next.js (App Router). Use when the task involves next.js (app router).
4
+ inputs: [code, feature-spec, repo]
5
+ artifactType: code
4
6
  ---
5
7
  # Next.js (App Router)
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: frameworks-react
3
3
  description: "By default, components are **Server Components**: they run on the server, have no state, and can fetch data directly. Add `'use client'` only when you need interactivity, browser APIs, or hooks. Use when the task matches the trigger conditions described in the body."
4
+ inputs: [code, feature-spec, repo]
5
+ artifactType: code
4
6
  ---
5
7
  # React
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: frameworks-spring-boot
3
3
  description: Patterns, anti-patterns, and reference guidance for Spring Boot. Use when the task involves spring boot.
4
+ inputs: [code, feature-spec, repo]
5
+ artifactType: code
4
6
  ---
5
7
  # Spring Boot
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: frontend-design-accessibility
3
3
  description: Target **WCAG 2.1 AA** as the minimum for any public-facing product. WCAG 2.2 AA is the current standard (published October 2023) and required by many regulatory frameworks (EU Web Accessibility Directive, ADA, Section 508). Use when the task matches the trigger conditions described in the body.
4
+ inputs: [ui-or-component]
5
+ artifactType: accessibility-findings
4
6
  ---
5
7
  # Accessibility (WCAG 2.2 / Inclusive Design)
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: frontend-design-component-patterns
3
3
  description: Use this skill when designing component architecture, building design systems, or structuring reusable UI.
4
+ inputs: [ui-or-component, design-spec]
5
+ artifactType: ui-implementation
4
6
  ---
5
7
  # Component Patterns
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: frontend-design-engineering
3
3
  description: Use this skill when working on build tooling, bundling, rendering strategies, or frontend infrastructure.
4
+ inputs: [code, repo]
5
+ artifactType: guidance
4
6
  ---
5
7
  # Frontend Engineering
6
8
 
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: frontend-design-screen-reader-testing
3
+ description: "Use when: a UI needs to be tested with a screen reader and keyboard to verify it is actually operable non-visually, not just compliant on paper."
4
+ inputs: [ui-or-component]
5
+ artifactType: accessibility-findings
6
+ ---
7
+ # Screen Reader Testing
8
+
9
+ Use this skill when a UI needs to be verified as operable with a screen reader and keyboard — accessibility measured by use, not by an automated checklist.
10
+
11
+ Automated scanners catch missing alt text and contrast, but they cannot tell you whether a flow is *usable* non-visually. That requires driving the interface the way a screen-reader user does: keyboard only, listening to what is announced.
12
+
13
+ ## Steps
14
+
15
+ 1. **Pick the flow, not the page.** Test a complete task (sign in, submit a form), because accessibility failures cluster at transitions and dynamic updates.
16
+ 2. **Keyboard-only first.** Unplug the mouse. Tab through: is every interactive element reachable, in a sensible order, with a visible focus indicator? Can you complete the task? Note any keyboard trap.
17
+ 3. **Screen reader pass** (VoiceOver/NVDA/Orca). For each control, confirm the announced name, role, and state match what's on screen. A button announced as "button" with no name is a failure.
18
+ 4. **Dynamic content**: trigger validation errors, loading states, toasts, modals. Confirm they are announced (live regions) and that focus moves correctly — a modal that opens without moving focus is unusable.
19
+ 5. **Forms**: confirm each field's label is associated, errors are announced and linked to the field, and required state is conveyed non-visually.
20
+ 6. **Record findings** by severity: blocker (task cannot be completed), serious (completable but confusing), minor.
21
+
22
+ ## Output shape
23
+
24
+ ```
25
+ ## Flow: <task>
26
+ | step | issue | severity | expected |
27
+ |---|---|---|---|
28
+ ```
29
+
30
+ ## Verification bar
31
+
32
+ - Findings come from actually driving the flow with keyboard + screen reader, not from inspecting markup alone.
33
+ - Each finding names the expected announced name/role/state, so the fix is unambiguous.
34
+ - Severity reflects task impact, not rule count.
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: frontend-design-state-management
3
3
  description: Use this skill when choosing state management tools, structuring application state, or debugging state issues.
4
+ inputs: [ui-or-component, code]
5
+ artifactType: guidance
4
6
  ---
5
7
  # Frontend State Management
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: frontend-design-ui-aesthetics
3
3
  description: "Use this skill when making visual design decisions: color, typography, layout, spacing, and visual hierarchy."
4
+ inputs: [ui-or-component, design-spec]
5
+ artifactType: ui-implementation
4
6
  ---
5
7
  # UI Aesthetics
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: frontend-design-ux-principles
3
3
  description: Use this skill when designing user flows, evaluating usability, or planning information architecture.
4
+ inputs: [ui-or-component, design-spec]
5
+ artifactType: guidance
4
6
  ---
5
7
  # UX Principles
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: operating-change-management
3
3
  description: Use when a change needs to be categorized by reversibility, when designing rollout gates, or when the team is uncertain how much approval process a change warrants.
4
+ inputs: [change-or-diff]
5
+ artifactType: guidance
4
6
  ---
5
7
  # Change Management
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: operating-incident-response
3
3
  description: Use when an issue is active in production, when building incident process from scratch, or when reviewing postmortems for quality.
4
+ inputs: [task-context]
5
+ artifactType: guidance
4
6
  ---
5
7
  # Incident Response
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: operating-oncall-rotation
3
3
  description: Use when setting up on-call, reviewing its health, or handling an escalation during a rotation.
4
+ inputs: [task-context]
5
+ artifactType: guidance
4
6
  ---
5
7
  # On-Call Rotation
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: operating-orchestration-reference
3
3
  description: detailed orchestration reference loaded on demand. Use when the task matches the trigger conditions described in the body.
4
+ inputs: [task-context]
5
+ artifactType: guidance
4
6
  ---
5
7
  # Orchestration Reference
6
8
 
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: operating-raw-data-structuring
3
+ description: "Use when: a raw dataset (CSV, TSV, JSON export, log dump) needs to be parsed, validated, and profiled into a described, trustworthy shape before analysis."
4
+ inputs: [raw-dataset]
5
+ artifactType: data-profile
6
+ ---
7
+ # Raw Data Structuring
8
+
9
+ Use this skill when a raw dataset (CSV, TSV, JSON export, log dump) arrives and must be made trustworthy before anyone analyzes or charts it.
10
+
11
+ Raw data lies by omission: silent type coercions, missing values encoded three different ways, duplicated rows, and columns whose meaning no one wrote down. Structure it before trusting it.
12
+
13
+ ## Steps
14
+
15
+ 1. **Identify the grain.** What does one row represent (one event, one user, one day)? State it explicitly; analysis built on the wrong grain is wrong.
16
+ 2. **Profile each column**: inferred type, null rate, distinct count, min/max or top values. Flag columns that are >50% null or all-distinct (likely an id) or single-valued (likely useless).
17
+ 3. **Detect encoding hazards**: mixed types in one column, multiple null sentinels (`""`, `NA`, `null`, `-1`), inconsistent date formats, numbers stored as strings. List each; do not silently coerce.
18
+ 4. **Check for duplicates** on the candidate key; report the duplicate rate.
19
+ 5. **Describe each column** in one line — what it means, its unit, and its source if known. Where meaning is genuinely unknown, write `meaning: unknown` rather than inventing one.
20
+ 6. **State what the data cannot answer** — questions that look answerable but aren't, given the grain or missingness.
21
+
22
+ ## Output shape
23
+
24
+ ```
25
+ ## Dataset profile
26
+ - grain: <one row = …>
27
+ - rows: <n> · columns: <n> · duplicate rate: <%>
28
+
29
+ ## Columns
30
+ | name | type | null% | distinct | meaning |
31
+ |---|---|---|---|---|
32
+
33
+ ## Hazards
34
+ - <column>: <encoding/quality hazard>
35
+
36
+ ## Out of scope
37
+ - <question the data cannot answer> — <why>
38
+ ```
39
+
40
+ ## Verification bar
41
+
42
+ - Every reported statistic is computed from the data, not estimated.
43
+ - Column meanings are stated only where known; unknowns are labeled `unknown`.
44
+ - Hazards are surfaced before any downstream metric is derived.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: operating-unstructured-triage
3
+ description: "Use when: a brain-dump, rough notes, or free-form input has no clear type and needs to be structured into intents, candidate work items, and open questions before routing."
4
+ inputs: [unstructured-text]
5
+ artifactType: triage-summary
6
+ ---
7
+ # Unstructured Triage
8
+
9
+ Use this skill when free-form input — a brain-dump, rough notes, a stream of thoughts — arrives with no clear type and the classifier returned low confidence or `unknown`.
10
+
11
+ The goal is not to force a classification. It is to extract the latent intents and candidate work items so a human (or a follow-up workflow) can decide what, if anything, to act on. Inventing structure that isn't there is the failure mode.
12
+
13
+ ## Steps
14
+
15
+ 1. **Read for intent, not form.** Separate the few actionable signals from thinking-out-loud.
16
+ 2. **Extract candidate work items** — each as a one-line `{ intent, possibleType }` where `possibleType` is your best guess at the taxonomy (bug, requirement, research, memo, …) or `unclear`.
17
+ 3. **Extract open questions and unknowns** explicitly — these are usually the point of a brain-dump.
18
+ 4. **Note what is missing** to act: a brain-dump rarely has enough to execute. Name the clarifications a human would need.
19
+ 5. **Do not assign owners or due dates** unless the text states them.
20
+ 6. **Recommend a next step**, not a commitment: "clarify X", "split into N items", or "discard — no actionable signal".
21
+
22
+ ## Output shape
23
+
24
+ ```
25
+ ## Read
26
+ <2–4 sentence neutral summary of what this seems to be>
27
+
28
+ ## Candidate items
29
+ - <intent> — possibleType: <type|unclear>
30
+
31
+ ## Open questions
32
+ - <question>
33
+
34
+ ## To act, we'd need
35
+ - <missing information>
36
+
37
+ ## Recommended next step
38
+ <clarify | split | route to <type> | discard>
39
+ ```
40
+
41
+ ## Verification bar
42
+
43
+ - Candidate items reflect intents actually present in the text; nothing is fabricated to look productive.
44
+ - Confidence stays low where the input is genuinely vague — the output says so rather than manufacturing certainty.
45
+ - No owners, dates, or decisions are asserted unless the input states them.
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: quality-gates-premortem
3
+ description: "Use when: a plan or design needs a premortem — imagining it has already failed and working backward to the failure modes — before committing to it."
4
+ inputs: [plan-or-design]
5
+ artifactType: risk-list
6
+ ---
7
+ # Premortem
8
+
9
+ Use this skill when a plan, design, or proposal needs to be stress-tested before commitment, by imagining it has already failed.
10
+
11
+ A premortem inverts optimism: instead of asking "will this work?", it asserts "it's six months later and this failed — why?". Stating failure as a given frees people to name risks that politeness or momentum would otherwise suppress.
12
+
13
+ ## Steps
14
+
15
+ 1. **Set the frame**: "It is <horizon> from now. This shipped and failed badly. Write the post-mortem headline."
16
+ 2. **Generate failure modes** independently across categories: technical (it didn't work), adoption (no one used it), operational (it broke in prod), people (the owner left), external (a dependency/market moved).
17
+ 3. **For each failure mode**, state the mechanism (how it leads to failure), a rough likelihood (low/med/high), and the earliest observable signal that it is happening.
18
+ 4. **Separate the fatal from the survivable.** A premortem's value is finding the one or two failures that would be unrecoverable.
19
+ 5. **Propose a cheap probe or guardrail** for each high-likelihood or fatal mode — something that would surface it early.
20
+ 6. **Name the assumption** each fatal failure depends on, and whether it has been validated.
21
+
22
+ ## Output shape
23
+
24
+ ```
25
+ ## Failure modes
26
+ | failure | category | likelihood | earliest signal | guardrail |
27
+ |---|---|---|---|---|
28
+
29
+ ## Fatal (unrecoverable) modes
30
+ - <failure> — depends on assumption: <assumption> (validated? yes/no)
31
+ ```
32
+
33
+ ## Verification bar
34
+
35
+ - Failure modes are concrete mechanisms, not vague worries ("it might be hard").
36
+ - Each fatal mode names the specific assumption it rests on.
37
+ - Likelihoods are stated as judgments, labeled as such — not presented as data.
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: quality-gates-review-work
3
3
  description: Use this methodology when a change needs rigorous pre-merge validation. Five independent review roles run concurrently. All must pass.
4
+ inputs: [change-or-diff, acceptance-criteria]
5
+ artifactType: review-report
4
6
  ---
5
7
  # Parallel Adversarial Review
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: quality-gates-verify-change
3
3
  description: Use this skill to analyze the impact of code changes and verify documentation and tests are in sync.
4
+ inputs: [change-or-diff]
5
+ artifactType: review-report
4
6
  ---
5
7
  # Verify Change
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: quality-gates-verify-module
3
3
  description: Use this skill to check that a module or package is structurally complete and ready for use.
4
+ inputs: [change-or-diff]
5
+ artifactType: review-report
4
6
  ---
5
7
  # Verify Module
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: quality-gates-verify-quality
3
3
  description: Use this skill to check code quality, complexity, and maintainability after changes.
4
+ inputs: [change-or-diff]
5
+ artifactType: review-report
4
6
  ---
5
7
  # Verify Quality
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: quality-gates-verify-security
3
3
  description: Use this skill to scan code for security vulnerabilities before commits or releases.
4
+ inputs: [change-or-diff]
5
+ artifactType: vulnerability-report
4
6
  ---
5
7
  # Verify Security
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-architect-ai-systems
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Architect — AI Systems role. Use when reviewing or generating work by cx-architect, or when an agent is acting in the Architect — AI Systems role.
4
+ inputs: [architecture-design, adr]
5
+ artifactType: role-guidance
4
6
  role: architect.ai-systems
5
7
  applies_to:
6
8
  - cx-architect
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-architect-data
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Architect — Data role. Use when reviewing or generating work by cx-architect, or when an agent is acting in the Architect — Data role.
4
+ inputs: [data-model, architecture-design]
5
+ artifactType: role-guidance
4
6
  role: architect.data
5
7
  applies_to:
6
8
  - cx-architect
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-architect-enterprise
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Architect — Enterprise role. Use when reviewing or generating work by cx-architect, or when an agent is acting in the Architect — Enterprise role.
4
+ inputs: [architecture-design, compliance-requirements]
5
+ artifactType: role-guidance
4
6
  role: architect.enterprise
5
7
  applies_to:
6
8
  - cx-architect
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-architect-integration
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Architect — Integration role. Use when reviewing or generating work by cx-architect, or when an agent is acting in the Architect — Integration role.
4
+ inputs: [integration-design, sequence-diagram]
5
+ artifactType: role-guidance
4
6
  role: architect.integration
5
7
  applies_to:
6
8
  - cx-architect
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-architect
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Architect role. Use when reviewing or generating work by cx-architect, cx-rd-lead, or when an agent is acting in the Architect role.
4
+ inputs: [architecture-design, requirements]
5
+ artifactType: role-guidance
4
6
  role: architect
5
7
  applies_to:
6
8
  - cx-architect
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-architect-platform
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Architect — Platform role. Use when reviewing or generating work by cx-architect, or when an agent is acting in the Architect — Platform role.
4
+ inputs: [platform-design, adr]
5
+ artifactType: role-guidance
4
6
  role: architect.platform
5
7
  applies_to:
6
8
  - cx-architect
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-data-analyst-experiment
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Data Analyst — Experiment role. Use when reviewing or generating work by cx-data-analyst, or when an agent is acting in the Data Analyst — Experiment role.
4
+ inputs: [experiment-plan, metrics]
5
+ artifactType: role-guidance
4
6
  role: data-analyst.experiment
5
7
  applies_to:
6
8
  - cx-data-analyst
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-data-analyst
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Data Analyst role. Use when reviewing or generating work by cx-data-analyst, or when an agent is acting in the Data Analyst role.
4
+ inputs: [dataset, metrics-analysis]
5
+ artifactType: role-guidance
4
6
  role: data-analyst
5
7
  applies_to:
6
8
  - cx-data-analyst
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-data-analyst-product-intelligence
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Data Analyst — Product Intelligence role. Use when reviewing or generating work by cx-data-analyst, cx-product-manager, or when an agent is acting in the Data Analyst — Product Intelligence role.
4
+ inputs: [customer-signals, telemetry]
5
+ artifactType: role-guidance
4
6
  role: data-analyst.product-intelligence
5
7
  applies_to:
6
8
  - cx-data-analyst
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-data-analyst-product
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Data Analyst — Product role. Use when reviewing or generating work by cx-data-analyst, or when an agent is acting in the Data Analyst — Product role.
4
+ inputs: [product-metrics, funnel-data]
5
+ artifactType: role-guidance
4
6
  role: data-analyst.product
5
7
  applies_to:
6
8
  - cx-data-analyst
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-data-analyst-telemetry
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Data Analyst — Telemetry role. Use when reviewing or generating work by cx-data-analyst, cx-sre, or when an agent is acting in the Data Analyst — Telemetry role.
4
+ inputs: [telemetry, metrics]
5
+ artifactType: role-guidance
4
6
  role: data-analyst.telemetry
5
7
  applies_to:
6
8
  - cx-data-analyst
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-data-engineer-pipeline
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Data Engineer — Pipeline role. Use when reviewing or generating work by cx-data-engineer, or when an agent is acting in the Data Engineer — Pipeline role.
4
+ inputs: [pipeline-design, data-contract]
5
+ artifactType: role-guidance
4
6
  role: data-engineer.pipeline
5
7
  applies_to:
6
8
  - cx-data-engineer
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-data-engineer-vector-retrieval
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Data Engineer — Vector Retrieval role. Use when reviewing or generating work by cx-data-engineer, cx-ai-engineer, or when an agent is acting in the Data Engineer — Vector Retrieval role.
4
+ inputs: [retrieval-design, embeddings]
5
+ artifactType: role-guidance
4
6
  role: data-engineer.vector-retrieval
5
7
  applies_to:
6
8
  - cx-data-engineer
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-data-engineer-warehouse
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Data Engineer — Warehouse role. Use when reviewing or generating work by cx-data-engineer, or when an agent is acting in the Data Engineer — Warehouse role.
4
+ inputs: [warehouse-model, metrics]
5
+ artifactType: role-guidance
4
6
  role: data-engineer.warehouse
5
7
  applies_to:
6
8
  - cx-data-engineer
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-debugger
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Debugger role. Use when reviewing or generating work by cx-debugger, or when an agent is acting in the Debugger role.
4
+ inputs: [bug-report, failure-signal]
5
+ artifactType: role-guidance
4
6
  role: debugger
5
7
  applies_to:
6
8
  - cx-debugger
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-designer-accessibility
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Designer — Accessibility role. Use when reviewing or generating work by cx-accessibility, or when an agent is acting in the Designer — Accessibility role.
4
+ inputs: [ui-design, component]
5
+ artifactType: role-guidance
4
6
  role: designer.accessibility
5
7
  applies_to:
6
8
  - cx-accessibility
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-designer
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Designer role. Use when reviewing or generating work by cx-designer, cx-accessibility, or when an agent is acting in the Designer role.
4
+ inputs: [ui-design]
5
+ artifactType: role-guidance
4
6
  role: designer
5
7
  applies_to:
6
8
  - cx-designer
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-engineer-ai
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Engineer — AI role. Use when reviewing or generating work by cx-ai-engineer, or when an agent is acting in the Engineer — AI role.
4
+ inputs: [code-diff, prompt]
5
+ artifactType: role-guidance
4
6
  role: engineer.ai
5
7
  applies_to:
6
8
  - cx-ai-engineer
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-engineer-data
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Engineer — Data role. Use when reviewing or generating work by cx-data-engineer, or when an agent is acting in the Engineer — Data role.
4
+ inputs: [code-diff, data-pipeline]
5
+ artifactType: role-guidance
4
6
  role: engineer.data
5
7
  applies_to:
6
8
  - cx-data-engineer
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-engineer
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Engineer role. Use when reviewing or generating work by cx-engineer, cx-ai-engineer, cx-data-engineer, cx-platform-engineer, or when an agent is acting in the Engineer role.
4
+ inputs: [code-diff, task-context]
5
+ artifactType: role-guidance
4
6
  role: engineer
5
7
  applies_to:
6
8
  - cx-engineer
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-engineer-platform
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Engineer — Platform role. Use when reviewing or generating work by cx-platform-engineer, or when an agent is acting in the Engineer — Platform role.
4
+ inputs: [code-diff, internal-tooling]
5
+ artifactType: role-guidance
4
6
  role: engineer.platform
5
7
  applies_to:
6
8
  - cx-platform-engineer
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-operator-docs
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Operator — Docs role. Use when reviewing or generating work by cx-docs-keeper, or when an agent is acting in the Operator — Docs role.
4
+ inputs: [docs, runbook]
5
+ artifactType: role-guidance
4
6
  role: operator.docs
5
7
  applies_to:
6
8
  - cx-docs-keeper
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-operator
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Operator role. Use when reviewing or generating work by cx-sre, cx-operations, cx-release-manager, cx-docs-keeper, or when an agent is acting in the Operator role.
4
+ inputs: [runbook, deployment-plan]
5
+ artifactType: role-guidance
4
6
  role: operator
5
7
  applies_to:
6
8
  - cx-sre
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-operator-release
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Operator — Release role. Use when reviewing or generating work by cx-release-manager, or when an agent is acting in the Operator — Release role.
4
+ inputs: [release-plan, changelog]
5
+ artifactType: role-guidance
4
6
  role: operator.release
5
7
  applies_to:
6
8
  - cx-release-manager
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: roles-operator-sre
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Operator — SRE role. Use when reviewing or generating work by cx-sre, or when an agent is acting in the Operator — SRE role.
4
+ inputs: [alert-config, slo]
5
+ artifactType: role-guidance
4
6
  role: operator.sre
5
7
  applies_to:
6
8
  - cx-sre