@geraldmaron/construct 1.0.16 → 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 (182) hide show
  1. package/README.md +4 -1
  2. package/bin/construct +236 -21
  3. package/bin/construct-postinstall.mjs +17 -2
  4. package/lib/cli-commands.mjs +65 -13
  5. package/lib/embedded-contract/audit.mjs +52 -0
  6. package/lib/embedded-contract/capability.mjs +179 -0
  7. package/lib/embedded-contract/contract-version.mjs +39 -0
  8. package/lib/embedded-contract/envelope.mjs +70 -0
  9. package/lib/embedded-contract/index.mjs +71 -0
  10. package/lib/embedded-contract/ingest.mjs +77 -0
  11. package/lib/embedded-contract/model-resolve.mjs +186 -0
  12. package/lib/embedded-contract/redaction.mjs +91 -0
  13. package/lib/embedded-contract/role-facts.mjs +66 -0
  14. package/lib/embedded-contract/triage.mjs +134 -0
  15. package/lib/embedded-contract/workflow-defs.mjs +125 -0
  16. package/lib/embedded-contract/workflow-invoke.mjs +218 -0
  17. package/lib/hooks/config-protection.mjs +12 -5
  18. package/lib/init-unified.mjs +36 -26
  19. package/lib/intake/classify.mjs +6 -0
  20. package/lib/intake/tables/rnd.mjs +33 -0
  21. package/lib/mcp/server.mjs +69 -0
  22. package/lib/mcp/tools/embedded-contract.mjs +77 -0
  23. package/lib/model-router.mjs +40 -0
  24. package/lib/op-log.mjs +61 -0
  25. package/lib/roles/catalog.mjs +26 -95
  26. package/lib/service-manager.mjs +33 -11
  27. package/lib/setup.mjs +21 -3
  28. package/lib/validators/skills.mjs +21 -0
  29. package/package.json +9 -3
  30. package/scripts/sync-specialists.mjs +12 -3
  31. package/skills/ai/agent-dev.md +2 -0
  32. package/skills/ai/llm-security.md +2 -0
  33. package/skills/ai/ml-ops.md +2 -0
  34. package/skills/ai/orchestration-workflow.md +2 -0
  35. package/skills/ai/prompt-and-eval.md +2 -0
  36. package/skills/ai/prompt-optimizer.md +2 -0
  37. package/skills/ai/rag-system.md +2 -0
  38. package/skills/ai/trace-triage.md +36 -0
  39. package/skills/architecture/api-design.md +2 -0
  40. package/skills/architecture/caching.md +2 -0
  41. package/skills/architecture/cloud-native.md +2 -0
  42. package/skills/architecture/message-queue.md +2 -0
  43. package/skills/architecture/security-arch.md +2 -0
  44. package/skills/compliance/ai-disclosure.md +2 -0
  45. package/skills/compliance/data-privacy.md +2 -0
  46. package/skills/compliance/license-audit.md +2 -0
  47. package/skills/compliance/regulatory-review.md +2 -0
  48. package/skills/development/cpp.md +2 -0
  49. package/skills/development/go.md +2 -0
  50. package/skills/development/java.md +2 -0
  51. package/skills/development/kotlin.md +2 -0
  52. package/skills/development/mobile-crossplatform.md +2 -0
  53. package/skills/development/python.md +2 -0
  54. package/skills/development/rust.md +2 -0
  55. package/skills/development/shell.md +2 -0
  56. package/skills/development/swift.md +2 -0
  57. package/skills/development/typescript.md +2 -0
  58. package/skills/devops/ci-cd.md +2 -0
  59. package/skills/devops/containerization.md +2 -0
  60. package/skills/devops/cost-optimization.md +2 -0
  61. package/skills/devops/data-engineering.md +2 -0
  62. package/skills/devops/database.md +2 -0
  63. package/skills/devops/dependency-management.md +2 -0
  64. package/skills/devops/devsecops.md +2 -0
  65. package/skills/devops/git-workflow.md +2 -0
  66. package/skills/devops/incident-response.md +2 -0
  67. package/skills/devops/monorepo.md +2 -0
  68. package/skills/devops/observability.md +2 -0
  69. package/skills/devops/performance.md +2 -0
  70. package/skills/devops/testing.md +2 -0
  71. package/skills/docs/adr-workflow.md +2 -0
  72. package/skills/docs/backlog-proposal-workflow.md +2 -0
  73. package/skills/docs/customer-profile-workflow.md +2 -0
  74. package/skills/docs/document-ingest-workflow.md +2 -0
  75. package/skills/docs/evidence-ingest-workflow.md +2 -0
  76. package/skills/docs/init-docs.md +2 -0
  77. package/skills/docs/init-project.md +2 -0
  78. package/skills/docs/memo-and-decision-capture.md +45 -0
  79. package/skills/docs/prd-workflow.md +2 -0
  80. package/skills/docs/prfaq-workflow.md +2 -0
  81. package/skills/docs/product-intelligence-review.md +2 -0
  82. package/skills/docs/product-intelligence-workflow.md +2 -0
  83. package/skills/docs/product-signal-workflow.md +2 -0
  84. package/skills/docs/research-workflow.md +2 -0
  85. package/skills/docs/runbook-workflow.md +2 -0
  86. package/skills/docs/strategy-workflow.md +2 -0
  87. package/skills/docs/transcript-synthesis.md +43 -0
  88. package/skills/exploration/dependency-graph-reading.md +2 -0
  89. package/skills/exploration/repo-map.md +2 -0
  90. package/skills/exploration/tracer-bullet-method.md +2 -0
  91. package/skills/exploration/unknown-codebase-onboarding.md +2 -0
  92. package/skills/frameworks/django.md +2 -0
  93. package/skills/frameworks/nextjs.md +2 -0
  94. package/skills/frameworks/react.md +2 -0
  95. package/skills/frameworks/spring-boot.md +2 -0
  96. package/skills/frontend-design/accessibility.md +2 -0
  97. package/skills/frontend-design/component-patterns.md +2 -0
  98. package/skills/frontend-design/engineering.md +2 -0
  99. package/skills/frontend-design/screen-reader-testing.md +34 -0
  100. package/skills/frontend-design/state-management.md +2 -0
  101. package/skills/frontend-design/ui-aesthetics.md +2 -0
  102. package/skills/frontend-design/ux-principles.md +2 -0
  103. package/skills/operating/change-management.md +2 -0
  104. package/skills/operating/incident-response.md +2 -0
  105. package/skills/operating/oncall-rotation.md +2 -0
  106. package/skills/operating/orchestration-reference.md +2 -0
  107. package/skills/operating/raw-data-structuring.md +44 -0
  108. package/skills/operating/unstructured-triage.md +45 -0
  109. package/skills/quality-gates/premortem.md +37 -0
  110. package/skills/quality-gates/review-work.md +2 -0
  111. package/skills/quality-gates/verify-change.md +2 -0
  112. package/skills/quality-gates/verify-module.md +2 -0
  113. package/skills/quality-gates/verify-quality.md +2 -0
  114. package/skills/quality-gates/verify-security.md +2 -0
  115. package/skills/roles/architect.ai-systems.md +2 -0
  116. package/skills/roles/architect.data.md +2 -0
  117. package/skills/roles/architect.enterprise.md +2 -0
  118. package/skills/roles/architect.integration.md +2 -0
  119. package/skills/roles/architect.md +2 -0
  120. package/skills/roles/architect.platform.md +2 -0
  121. package/skills/roles/data-analyst.experiment.md +2 -0
  122. package/skills/roles/data-analyst.md +2 -0
  123. package/skills/roles/data-analyst.product-intelligence.md +2 -0
  124. package/skills/roles/data-analyst.product.md +2 -0
  125. package/skills/roles/data-analyst.telemetry.md +2 -0
  126. package/skills/roles/data-engineer.pipeline.md +2 -0
  127. package/skills/roles/data-engineer.vector-retrieval.md +2 -0
  128. package/skills/roles/data-engineer.warehouse.md +2 -0
  129. package/skills/roles/debugger.md +2 -0
  130. package/skills/roles/designer.accessibility.md +2 -0
  131. package/skills/roles/designer.md +2 -0
  132. package/skills/roles/engineer.ai.md +2 -0
  133. package/skills/roles/engineer.data.md +2 -0
  134. package/skills/roles/engineer.md +2 -0
  135. package/skills/roles/engineer.platform.md +2 -0
  136. package/skills/roles/operator.docs.md +2 -0
  137. package/skills/roles/operator.md +2 -0
  138. package/skills/roles/operator.release.md +2 -0
  139. package/skills/roles/operator.sre.md +2 -0
  140. package/skills/roles/orchestrator.md +2 -0
  141. package/skills/roles/product-manager.ai-product.md +2 -0
  142. package/skills/roles/product-manager.business-strategy.md +2 -0
  143. package/skills/roles/product-manager.enterprise.md +2 -0
  144. package/skills/roles/product-manager.growth.md +2 -0
  145. package/skills/roles/product-manager.md +2 -0
  146. package/skills/roles/product-manager.platform.md +2 -0
  147. package/skills/roles/product-manager.product.md +2 -0
  148. package/skills/roles/qa.ai-eval.md +2 -0
  149. package/skills/roles/qa.api-contract.md +2 -0
  150. package/skills/roles/qa.data-pipeline.md +2 -0
  151. package/skills/roles/qa.md +2 -0
  152. package/skills/roles/qa.test-automation.md +2 -0
  153. package/skills/roles/qa.web-ui.md +2 -0
  154. package/skills/roles/researcher.explorer.md +2 -0
  155. package/skills/roles/researcher.md +2 -0
  156. package/skills/roles/researcher.ux.md +2 -0
  157. package/skills/roles/reviewer.devil-advocate.md +2 -0
  158. package/skills/roles/reviewer.evaluator.md +2 -0
  159. package/skills/roles/reviewer.md +2 -0
  160. package/skills/roles/reviewer.trace.md +2 -0
  161. package/skills/roles/security.ai.md +2 -0
  162. package/skills/roles/security.appsec.md +2 -0
  163. package/skills/roles/security.cloud.md +2 -0
  164. package/skills/roles/security.legal-compliance.md +2 -0
  165. package/skills/roles/security.md +2 -0
  166. package/skills/roles/security.privacy.md +2 -0
  167. package/skills/roles/security.supply-chain.md +2 -0
  168. package/skills/security/blue-team.md +2 -0
  169. package/skills/security/code-audit.md +2 -0
  170. package/skills/security/pentest.md +2 -0
  171. package/skills/security/red-team.md +2 -0
  172. package/skills/security/threat-intel.md +2 -0
  173. package/skills/security/vuln-research.md +2 -0
  174. package/skills/strategy/competitive-landscape.md +2 -0
  175. package/skills/strategy/jobs-to-be-done.md +38 -0
  176. package/skills/strategy/market-research-methods.md +2 -0
  177. package/skills/strategy/narrative-arc.md +2 -0
  178. package/skills/strategy/pricing-positioning.md +2 -0
  179. package/skills/utility/clean-code.md +2 -0
  180. package/specialists/prompts/cx-engineer.md +1 -1
  181. package/specialists/registry.json +18 -9
  182. package/specialists/role-manifests.json +1 -1
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: devops-monorepo
3
3
  description: Use this skill when selecting monorepo tooling, structuring packages, or optimizing affected-only builds.
4
+ inputs: [repo, pipeline-config]
5
+ artifactType: guidance
4
6
  ---
5
7
  # Monorepo
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: devops-observability
3
3
  description: Use this skill when designing logging, tracing, metrics, or alerting systems.
4
+ inputs: [service, metrics]
5
+ artifactType: observability-plan
4
6
  ---
5
7
  # Observability
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: devops-performance
3
3
  description: Use this skill when profiling, load testing, or optimizing application and infrastructure performance.
4
+ inputs: [service, metrics]
5
+ artifactType: performance-plan
4
6
  ---
5
7
  # Performance Engineering
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: devops-testing
3
3
  description: Use this skill when planning test coverage, selecting test types, or establishing testing practices.
4
+ inputs: [repo, task-context]
5
+ artifactType: test-plan
4
6
  ---
5
7
  # Testing Strategy
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-adr-workflow
3
3
  description: "Use when: an architectural decision is made that affects the system structure, data model, API contracts, or technology choices."
4
+ inputs: [decision-context]
5
+ artifactType: adr
4
6
  ---
5
7
  # ADR Workflow
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-backlog-proposal-workflow
3
3
  description: "Use when: product evidence should create or update Jira, Linear, GitHub Issues, or another tracker."
4
+ inputs: [evidence-brief, prd, signal]
5
+ artifactType: backlog-proposal
4
6
  ---
5
7
  # Backlog Proposal Workflow
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-customer-profile-workflow
3
3
  description: "Use when: customer evidence should update durable product memory."
4
+ inputs: [signal, customer-profile]
5
+ artifactType: customer-profile
4
6
  ---
5
7
  # Customer Profile Workflow
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-document-ingest-workflow
3
3
  description: "Use when: the user points at a PDF, Word doc, spreadsheet, slide deck, export, or mixed document folder and wants a markdown version that Construct can search efficiently later."
4
+ inputs: [document]
5
+ artifactType: ingested-markdown
4
6
  ---
5
7
  # Document Ingest Workflow
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-evidence-ingest-workflow
3
3
  description: "Use when: the user pastes customer notes, Slack threads, support tickets, sales notes, research snippets, RFCs, analytics summaries, or competitor signals."
4
+ inputs: [signal, document]
5
+ artifactType: evidence-brief
4
6
  ---
5
7
  # Evidence Ingest Workflow
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-init-docs
3
3
  description: "`init docs`, `create docs structure`, `set up documentation`, `docs scaffold`, `documentation init`. Use when the task matches the trigger conditions described in the body."
4
+ inputs: [task-context]
5
+ artifactType: docs-scaffold
4
6
  ---
5
7
  # Skill: init-docs: Initialize Project Documentation Structure
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-init-project
3
3
  description: "Use when: starting work on a new project or joining an existing one without doc structure."
4
+ inputs: [repo]
5
+ artifactType: docs-scaffold
4
6
  ---
5
7
  # Project Initialization
6
8
 
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: docs-memo-and-decision-capture
3
+ description: "Use when: a decision, status update, or announcement needs to be captured as a short, durable memo that states the decision, its rationale, and what changes."
4
+ inputs: [decision-context]
5
+ artifactType: memo
6
+ ---
7
+ # Memo & Decision Capture
8
+
9
+ Use this skill when a decision, status update, or announcement needs to be captured as a short, durable memo.
10
+
11
+ A good memo is short and load-bearing: a reader six months later should understand what was decided, why, and what it changed — without attending the meeting. Length is not value; a memo that buries the decision under context has failed.
12
+
13
+ ## Steps
14
+
15
+ 1. **Lead with the decision or update** in the first sentence. The reader should not have to hunt for it.
16
+ 2. **State the context** in 2–4 sentences: what prompted this, what problem it addresses.
17
+ 3. **Record the rationale** — why this option over the alternatives actually considered. If alternatives were weighed, name them and why they lost.
18
+ 4. **State what changes** as a result: who does what differently, what is now in or out of scope.
19
+ 5. **List action items** with owners, if any.
20
+ 6. **Date and attribute** the memo. A memo without a date is not durable.
21
+
22
+ ## Output shape
23
+
24
+ ```
25
+ # Memo: <subject>
26
+ _<date> · <author>_
27
+
28
+ **Decision/Update:** <one sentence>
29
+
30
+ ## Context
31
+ <2–4 sentences>
32
+
33
+ ## Rationale
34
+ <why this, over what alternatives>
35
+
36
+ ## What changes
37
+ - <change> — owner: <name>
38
+ ```
39
+
40
+ ## Verification bar
41
+
42
+ - The decision/update is stated in the first sentence, unhedged where the decision is firm.
43
+ - Rationale references only alternatives actually considered — no invented options.
44
+ - The memo is dated and attributed.
45
+ - Nothing load-bearing is asserted that the source context does not support; unknowns are written as `unknown`.
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-prd-workflow
3
3
  description: "Use when: the user asks to create a PRD, platform spec, business case, RFC, or requirements document."
4
+ inputs: [research-question, evidence-brief]
5
+ artifactType: prd
4
6
  ---
5
7
  # PRD Workflow
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-prfaq-workflow
3
3
  description: "Use when: the user asks for a PRFAQ, working-backwards doc, launch narrative, or FAQ grounded in product evidence."
4
+ inputs: [prd, evidence-brief]
5
+ artifactType: prfaq
4
6
  ---
5
7
  # PRFAQ Workflow
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-product-intelligence-review
3
3
  description: "Use when: reviewing PRDs, Meta PRDs, PRFAQs, evidence briefs, signal briefs, customer profiles, or backlog proposals."
4
+ inputs: [prd, evidence-brief]
5
+ artifactType: review
4
6
  ---
5
7
  # Product Intelligence Review
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-product-intelligence-workflow
3
3
  description: "Use when: the request involves customer evidence, PM synthesis, product requirements, PRDs, PRFAQs, customer profiles, product signals, or backlog proposals."
4
+ inputs: [signal, evidence-brief]
5
+ artifactType: prd
4
6
  ---
5
7
  # Product Intelligence Workflow
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-product-signal-workflow
3
3
  description: "Use when: the user asks what customers are asking for, what themes are emerging, whether evidence is strong enough, or what should become a PRD."
4
+ inputs: [signal, evidence-brief]
5
+ artifactType: signal-brief
4
6
  ---
5
7
  # Product Signal Workflow
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-research-workflow
3
3
  description: "Use when: the user asks to research a topic, investigate a question, or gather evidence for a decision."
4
+ inputs: [research-question]
5
+ artifactType: research-brief
4
6
  ---
5
7
  # Research Workflow
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-runbook-workflow
3
3
  description: "Use when: creating operational procedures for services, alerts, or recurring operations."
4
+ inputs: [service, incident]
5
+ artifactType: runbook
4
6
  ---
5
7
  # Runbook Workflow
6
8
 
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: docs-strategy-workflow
3
3
  description: "Use when: the user asks about product direction, strategic bets, what to prioritize, whether a signal aligns with strategy, or wants to update the strategy."
4
+ inputs: [signal, decision-context]
5
+ artifactType: strategy
4
6
  ---
5
7
  # Strategy Workflow
6
8
 
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: docs-transcript-synthesis
3
+ description: "Use when: a meeting, call, or interview transcript needs to be turned into a summary, the decisions made, and concrete action items with owners."
4
+ inputs: [transcript-text]
5
+ artifactType: meeting-summary
6
+ ---
7
+ # Transcript Synthesis
8
+
9
+ Use this skill when a meeting, call, or interview transcript needs to be turned into a structured summary with decisions and action items.
10
+
11
+ A raw transcript is a low-signal artifact: speaker turns, filler, and tangents bury the few load-bearing outcomes. The job is to extract those outcomes faithfully without inventing any that were not actually stated.
12
+
13
+ ## Steps
14
+
15
+ 1. **Read the whole transcript first.** Do not summarize incrementally — a decision late in the call often reverses an earlier one.
16
+ 2. **Identify participants and roles** if stated. Note who owns what. If unstated, write `owner: unassigned` rather than guessing.
17
+ 3. **Extract decisions.** A decision is an explicit commitment ("we'll ship X", "we're not doing Y"). Quote or tightly paraphrase the line that establishes it. Do not promote a musing ("maybe we could…") to a decision.
18
+ 4. **Extract action items** as `{ action, owner, due? }`. Only include items someone actually committed to. Mark `due` only if a date was stated.
19
+ 5. **Extract open questions** — anything raised and left unresolved.
20
+ 6. **Write a 3–6 sentence summary** of what the conversation was about and what changed as a result.
21
+ 7. **Flag low-confidence sections** — crosstalk, inaudible markers, ambiguous antecedents — as `[unclear]` rather than smoothing them over.
22
+
23
+ ## Output shape
24
+
25
+ ```
26
+ ## Summary
27
+ <3–6 sentences>
28
+
29
+ ## Decisions
30
+ - <decision> — basis: "<quoted/paraphrased line>"
31
+
32
+ ## Action items
33
+ - [ ] <action> — owner: <name|unassigned>[, due: <date>]
34
+
35
+ ## Open questions
36
+ - <question>
37
+ ```
38
+
39
+ ## Verification bar
40
+
41
+ - Every decision and action item traces to an actual statement in the transcript — no invented commitments or owners.
42
+ - Tentative language stays tentative; do not sharpen "maybe" into "will".
43
+ - Unresolved or inaudible content is surfaced, not silently dropped.
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: exploration-dependency-graph-reading
3
3
  description: Use when assessing the risk surface of a project's dependencies, planning upgrades, or evaluating a new codebase's supply chain posture.
4
+ inputs: [dependency-manifest, repo]
5
+ artifactType: dependency-graph
4
6
  ---
5
7
  # Dependency Graph Reading
6
8
 
@@ -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