@geraldmaron/construct 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/agents/prompts/cx-accessibility.md +3 -3
- package/agents/prompts/cx-ai-engineer.md +7 -7
- package/agents/prompts/cx-architect.md +6 -6
- package/agents/prompts/cx-business-strategist.md +6 -6
- package/agents/prompts/cx-data-analyst.md +7 -7
- package/agents/prompts/cx-data-engineer.md +3 -3
- package/agents/prompts/cx-debugger.md +6 -6
- package/agents/prompts/cx-designer.md +5 -5
- package/agents/prompts/cx-devil-advocate.md +4 -4
- package/agents/prompts/cx-docs-keeper.md +5 -5
- package/agents/prompts/cx-engineer.md +5 -5
- package/agents/prompts/cx-evaluator.md +2 -2
- package/agents/prompts/cx-explorer.md +8 -8
- package/agents/prompts/cx-legal-compliance.md +2 -2
- package/agents/prompts/cx-operations.md +5 -5
- package/agents/prompts/cx-orchestrator.md +10 -10
- package/agents/prompts/cx-platform-engineer.md +5 -5
- package/agents/prompts/cx-product-manager.md +4 -4
- package/agents/prompts/cx-qa.md +8 -8
- package/agents/prompts/cx-rd-lead.md +9 -9
- package/agents/prompts/cx-release-manager.md +5 -5
- package/agents/prompts/cx-researcher.md +22 -22
- package/agents/prompts/cx-reviewer.md +7 -7
- package/agents/prompts/cx-security.md +10 -10
- package/agents/prompts/cx-sre.md +7 -7
- package/agents/prompts/cx-test-automation.md +3 -3
- package/agents/prompts/cx-trace-reviewer.md +8 -8
- package/agents/prompts/cx-ux-researcher.md +3 -3
- package/bin/construct +235 -21
- package/commands/build/feature.md +4 -4
- package/commands/build/fix.md +8 -8
- package/commands/design/access.md +3 -3
- package/commands/design/flow.md +3 -3
- package/commands/design/ui.md +4 -4
- package/commands/measure/experiment.md +5 -5
- package/commands/measure/metrics.md +3 -3
- package/commands/measure/results.md +4 -4
- package/commands/plan/api.md +3 -3
- package/commands/plan/challenge.md +3 -3
- package/commands/plan/decide.md +3 -3
- package/commands/plan/feature.md +7 -7
- package/commands/plan/requirements.md +3 -3
- package/commands/remember/context.md +5 -5
- package/commands/remember/handoff.md +3 -3
- package/commands/remember/runbook.md +3 -3
- package/commands/review/code.md +8 -8
- package/commands/review/quality.md +4 -4
- package/commands/review/security.md +3 -3
- package/commands/ship/ready.md +3 -3
- package/commands/ship/release.md +3 -3
- package/commands/ship/status.md +4 -4
- package/commands/understand/docs.md +3 -3
- package/commands/understand/this.md +4 -4
- package/commands/understand/why.md +8 -8
- package/commands/work/clean.md +14 -14
- package/commands/work/drive.md +10 -10
- package/commands/work/optimize-prompts.md +9 -9
- package/commands/work/parallel-review.md +8 -8
- package/db/schema/006_graph.sql +24 -0
- package/examples/provider-plugin/README.md +7 -7
- package/examples/seed-observations/README.md +6 -6
- package/examples/seed-observations/anti-patterns.md +14 -14
- package/examples/seed-observations/decisions.md +4 -4
- package/examples/seed-observations/patterns.md +14 -14
- package/lib/auto-docs.mjs +8 -3
- package/lib/cli-commands.mjs +2 -2
- package/lib/flavors/loader.mjs +1 -1
- package/lib/knowledge/graph.mjs +213 -0
- package/lib/mcp/server.mjs +187 -1
- package/lib/mcp/tools/profile.mjs +270 -0
- package/package.json +1 -1
- package/platforms/claude/CLAUDE.md +6 -6
- package/rules/common/agents.md +2 -2
- package/rules/common/beads-hygiene.md +11 -11
- package/rules/common/code-review.md +1 -1
- package/rules/common/coding-style.md +1 -1
- package/rules/common/comments.md +8 -8
- package/rules/common/commit-approval.md +4 -4
- package/rules/common/cx-agent-routing.md +2 -2
- package/rules/common/cx-skill-routing.md +2 -2
- package/rules/common/development-workflow.md +1 -1
- package/rules/common/doc-ownership.md +2 -2
- package/rules/common/efficiency.md +3 -3
- package/rules/common/framing.md +1 -1
- package/rules/common/git-workflow.md +1 -1
- package/rules/common/patterns.md +1 -1
- package/rules/common/performance.md +1 -1
- package/rules/common/release-gates.md +7 -7
- package/rules/common/research.md +4 -4
- package/rules/common/security.md +1 -1
- package/rules/common/skill-composition.md +8 -8
- package/rules/common/testing.md +1 -1
- package/rules/golang/coding-style.md +2 -2
- package/rules/golang/hooks.md +1 -1
- package/rules/golang/patterns.md +1 -1
- package/rules/golang/security.md +1 -1
- package/rules/golang/testing.md +1 -1
- package/rules/python/coding-style.md +1 -1
- package/rules/python/hooks.md +1 -1
- package/rules/python/patterns.md +1 -1
- package/rules/python/security.md +1 -1
- package/rules/python/testing.md +1 -1
- package/rules/swift/coding-style.md +3 -3
- package/rules/swift/hooks.md +2 -2
- package/rules/swift/patterns.md +2 -2
- package/rules/swift/security.md +4 -4
- package/rules/swift/testing.md +2 -2
- package/rules/typescript/coding-style.md +1 -1
- package/rules/typescript/hooks.md +1 -1
- package/rules/typescript/patterns.md +1 -1
- package/rules/typescript/security.md +1 -1
- package/rules/typescript/testing.md +1 -1
- package/rules/web/coding-style.md +1 -1
- package/rules/web/design-quality.md +1 -1
- package/rules/web/hooks.md +1 -1
- package/rules/web/patterns.md +1 -1
- package/rules/web/performance.md +1 -1
- package/rules/web/security.md +1 -1
- package/rules/web/testing.md +1 -1
- package/skills/ai/agent-dev.md +1 -1
- package/skills/ai/llm-security.md +1 -1
- package/skills/ai/ml-ops.md +6 -6
- package/skills/ai/orchestration-workflow.md +1 -1
- package/skills/ai/prompt-and-eval.md +1 -1
- package/skills/ai/prompt-optimizer.md +13 -13
- package/skills/ai/rag-system.md +1 -1
- package/skills/architecture/api-design.md +1 -1
- package/skills/architecture/caching.md +1 -1
- package/skills/architecture/cloud-native.md +1 -1
- package/skills/architecture/message-queue.md +1 -1
- package/skills/architecture/security-arch.md +1 -1
- package/skills/compliance/ai-disclosure.md +1 -1
- package/skills/compliance/data-privacy.md +1 -1
- package/skills/compliance/license-audit.md +2 -2
- package/skills/compliance/regulatory-review.md +1 -1
- package/skills/development/cpp.md +1 -1
- package/skills/development/go.md +1 -1
- package/skills/development/java.md +1 -1
- package/skills/development/kotlin.md +9 -9
- package/skills/development/mobile-crossplatform.md +13 -13
- package/skills/development/python.md +1 -1
- package/skills/development/rust.md +1 -1
- package/skills/development/shell.md +1 -1
- package/skills/development/swift.md +6 -6
- package/skills/development/typescript.md +1 -1
- package/skills/devops/ci-cd.md +5 -5
- package/skills/devops/containerization.md +9 -9
- package/skills/devops/cost-optimization.md +1 -1
- package/skills/devops/data-engineering.md +2 -2
- package/skills/devops/database.md +1 -1
- package/skills/devops/dependency-management.md +3 -3
- package/skills/devops/devsecops.md +1 -1
- package/skills/devops/git-workflow.md +1 -1
- package/skills/devops/incident-response.md +18 -18
- package/skills/devops/monorepo.md +5 -5
- package/skills/devops/observability.md +1 -1
- package/skills/devops/performance.md +1 -1
- package/skills/devops/testing.md +1 -1
- package/skills/docs/adr-workflow.md +2 -2
- package/skills/docs/backlog-proposal-workflow.md +1 -1
- package/skills/docs/customer-profile-workflow.md +1 -1
- package/skills/docs/document-ingest-workflow.md +1 -1
- package/skills/docs/evidence-ingest-workflow.md +1 -1
- package/skills/docs/init-docs.md +15 -15
- package/skills/docs/init-project.md +1 -1
- package/skills/docs/prd-workflow.md +3 -3
- package/skills/docs/prfaq-workflow.md +1 -1
- package/skills/docs/product-intelligence-review.md +1 -1
- package/skills/docs/product-intelligence-workflow.md +1 -1
- package/skills/docs/product-signal-workflow.md +9 -9
- package/skills/docs/research-workflow.md +10 -10
- package/skills/docs/runbook-workflow.md +2 -2
- package/skills/docs/strategy-workflow.md +3 -3
- package/skills/exploration/repo-map.md +11 -11
- package/skills/frameworks/django.md +15 -15
- package/skills/frameworks/nextjs.md +16 -16
- package/skills/frameworks/react.md +12 -12
- package/skills/frameworks/spring-boot.md +12 -12
- package/skills/frontend-design/accessibility.md +6 -6
- package/skills/frontend-design/component-patterns.md +1 -1
- package/skills/frontend-design/engineering.md +1 -1
- package/skills/frontend-design/state-management.md +1 -1
- package/skills/frontend-design/ui-aesthetics.md +1 -1
- package/skills/frontend-design/ux-principles.md +1 -1
- package/skills/operating/orchestration-reference.md +27 -27
- package/skills/quality-gates/review-work.md +3 -3
- package/skills/quality-gates/verify-change.md +1 -1
- package/skills/quality-gates/verify-module.md +1 -1
- package/skills/quality-gates/verify-quality.md +1 -1
- package/skills/quality-gates/verify-security.md +1 -1
- package/skills/routing.md +14 -14
- package/skills/security/blue-team.md +1 -1
- package/skills/security/code-audit.md +1 -1
- package/skills/security/pentest.md +1 -1
- package/skills/security/red-team.md +1 -1
- package/skills/security/threat-intel.md +1 -1
- package/skills/security/vuln-research.md +1 -1
- package/skills/utility/clean-code.md +2 -2
- package/templates/docs/changelog-entry.md +1 -1
- package/templates/docs/construct_guide.md +13 -13
- package/templates/docs/meta-prd.md +16 -16
- package/templates/docs/one-pager.md +1 -1
- package/templates/docs/prd-business.md +1 -1
- package/templates/docs/prd-platform.md +1 -1
- package/templates/docs/prd.md +17 -17
- package/templates/docs/research-brief.md +8 -8
- package/templates/docs/rfc.md +1 -1
- package/templates/docs/strategy.md +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/frontend-design/state-management.md
|
|
2
|
+
skills/frontend-design/state-management.md (Frontend State Management) Use this skill when choosing state management tools, structuring application sta
|
|
3
3
|
|
|
4
4
|
Use this skill when choosing state management tools, structuring application state, or debugging state issues. ## State Categories
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/frontend-design/ui-aesthetics.md
|
|
2
|
+
skills/frontend-design/ui-aesthetics.md (UI Aesthetics) Use this skill when making visual design decisions: color, typography, layout, s
|
|
3
3
|
|
|
4
4
|
Use this skill when making visual design decisions: color, typography, layout, spacing, and visual hierarchy. ## Color
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/frontend-design/ux-principles.md
|
|
2
|
+
skills/frontend-design/ux-principles.md (UX Principles) Use this skill when designing user flows, evaluating usability, or planning info
|
|
3
3
|
|
|
4
4
|
Use this skill when designing user flows, evaluating usability, or planning information architecture. ## Core Heuristics
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/operating/orchestration-reference.md
|
|
2
|
+
skills/operating/orchestration-reference.md: detailed orchestration reference loaded on demand.
|
|
3
3
|
|
|
4
4
|
Holds the execution contract, handoff template, intent and work-category
|
|
5
5
|
classification, parallel dispatch, horizontal routing, and efficiency
|
|
@@ -12,7 +12,7 @@ stay in sharedGuidance so they load every turn.
|
|
|
12
12
|
|
|
13
13
|
Loaded on demand via `get_skill("operating/orchestration-reference")`.
|
|
14
14
|
|
|
15
|
-
This is the detailed reference for Construct's orchestration contract. The short essentials (session resumption, loop guard, terminal states, tool naming, observability) live in the per-agent prompt. Everything below is situational
|
|
15
|
+
This is the detailed reference for Construct's orchestration contract. The short essentials (session resumption, loop guard, terminal states, tool naming, observability) live in the per-agent prompt. Everything below is situational: load it when you hit a case it addresses.
|
|
16
16
|
|
|
17
17
|
## System model
|
|
18
18
|
|
|
@@ -20,14 +20,14 @@ Construct is the underlying orchestration system for the **current project**. Tr
|
|
|
20
20
|
|
|
21
21
|
The two task-shaped surfaces are siblings, not duplicates:
|
|
22
22
|
|
|
23
|
-
- **`.cx/workflow.json
|
|
24
|
-
- **`.cx/task-graphs/<id>.json
|
|
23
|
+
- **`.cx/workflow.json`**: single project-wide workflow file. Holds the cross-cutting task ledger and intent / category metadata. Drives `workflow_status` and `project_context` MCP tools.
|
|
24
|
+
- **`.cx/task-graphs/<id>.json`**: per-incoming-signal plan generated by `construct graph from-intake <intake-id>`. One graph per triaged inbox file, one node per persona in the recommendedChain, evidence records gating `done`. See [Concepts → Intake and triage](/concepts/intake-and-triage).
|
|
25
25
|
|
|
26
26
|
A signal that becomes durable cross-session work crosses over: the graph nodes are executed, the resulting work is tracked in `.cx/workflow.json` and in beads. The intake queue and task graphs are how new signals enter the loop; the workflow ledger and beads are how durable work is carried.
|
|
27
27
|
|
|
28
28
|
## Perspective architecture
|
|
29
29
|
|
|
30
|
-
Each specialist carries a distinct cognitive profile shaped by professional prior, characteristic suspicion, and productive tension with adjacent roles. When you dispatch specialists, you are not delegating tasks
|
|
30
|
+
Each specialist carries a distinct cognitive profile shaped by professional prior, characteristic suspicion, and productive tension with adjacent roles. When you dispatch specialists, you are not delegating tasks (you are assembling perspectives. The value is not parallelism; it is forcing the same problem through genuinely different cognitive lenses in sequence. A plan challenged by cx-devil-advocate and reviewed by cx-reviewer is not slower) it is more likely to survive contact with reality.
|
|
31
31
|
|
|
32
32
|
## Execution contract
|
|
33
33
|
|
|
@@ -35,11 +35,11 @@ For every non-trivial task: classify intent, create or update `.cx/workflow.json
|
|
|
35
35
|
|
|
36
36
|
### Intent classes
|
|
37
37
|
|
|
38
|
-
- `research
|
|
39
|
-
- `implementation
|
|
40
|
-
- `investigation
|
|
41
|
-
- `evaluation
|
|
42
|
-
- `fix
|
|
38
|
+
- `research`: read-only investigation
|
|
39
|
+
- `implementation`: code changes
|
|
40
|
+
- `investigation`: debugging, tracing
|
|
41
|
+
- `evaluation`: quality gates, review
|
|
42
|
+
- `fix`: bug repair
|
|
43
43
|
|
|
44
44
|
Tag every workflow task with its intent class. Let intent drive agent selection and depth of work.
|
|
45
45
|
|
|
@@ -69,24 +69,24 @@ Do not duplicate skill internals inside agent prompts. Reference the relevant sk
|
|
|
69
69
|
|
|
70
70
|
Every producer→consumer pair has an explicit contract in `agents/contracts.json`, loaded via `lib/agent-contracts.mjs`. Specialists call the MCP tool `agent_contract` at the start of a handoff to see:
|
|
71
71
|
|
|
72
|
-
- `input.mustContain
|
|
73
|
-
- `input.schema
|
|
74
|
-
- `preconditions
|
|
75
|
-
- `output.schema` / `output.shape
|
|
76
|
-
- `postconditions
|
|
72
|
+
- `input.mustContain`: fields the packet must carry
|
|
73
|
+
- `input.schema`: JSON schema (when applicable) from `lib/schemas/`
|
|
74
|
+
- `preconditions`: what must be true before work starts
|
|
75
|
+
- `output.schema` / `output.shape`: expected return shape
|
|
76
|
+
- `postconditions`: what must be true before marking DONE
|
|
77
77
|
|
|
78
78
|
Examples of contracts (full list in `agents/contracts.json`):
|
|
79
79
|
|
|
80
|
-
- `researcher-to-architect
|
|
81
|
-
- `product-manager-to-architect
|
|
82
|
-
- `architect-to-devil-advocate
|
|
83
|
-
- `architect-to-engineer
|
|
84
|
-
- `engineer-to-reviewer
|
|
85
|
-
- `engineer-to-qa
|
|
86
|
-
- `reviewer-to-security
|
|
87
|
-
- `any-to-docs-keeper
|
|
80
|
+
- `researcher-to-architect`: research brief with ≥2 primary sources → decision
|
|
81
|
+
- `product-manager-to-architect`: PRD handoff → decision with Rejected alternatives
|
|
82
|
+
- `architect-to-devil-advocate`: framing proposal → challenge report (blocks if framing is weak)
|
|
83
|
+
- `architect-to-engineer`: decision → implementation
|
|
84
|
+
- `engineer-to-reviewer`: implementation → review verdict
|
|
85
|
+
- `engineer-to-qa`: implementation → test report
|
|
86
|
+
- `reviewer-to-security`: review with auth/secrets scope → specialized security review
|
|
87
|
+
- `any-to-docs-keeper`: any DONE mutation that changed core docs → doc sync
|
|
88
88
|
|
|
89
|
-
`routeRequest` returns a `contractChain` that enumerates which of these fire for a given request. Honor the chain
|
|
89
|
+
`routeRequest` returns a `contractChain` that enumerates which of these fire for a given request. Honor the chain: missing a contract stage is the signal a handoff is incomplete.
|
|
90
90
|
|
|
91
91
|
## Legacy handoff contract (fallback)
|
|
92
92
|
|
|
@@ -120,7 +120,7 @@ When your output directly feeds another specialist (e.g. security findings → c
|
|
|
120
120
|
These are enforced by hooks, not advisory:
|
|
121
121
|
|
|
122
122
|
- `context-watch` hook (UserPromptSubmit) injects compaction guidance at ~60% / ~80% of the context window.
|
|
123
|
-
- `repeated-read-guard` hook (PreToolUse on Read) blocks broad re-reads of files already read twice in this session
|
|
123
|
+
- `repeated-read-guard` hook (PreToolUse on Read) blocks broad re-reads of files already read twice in this session: steers to Grep or offset+limit.
|
|
124
124
|
- `bash-output-logger` hook (PostToolUse on Bash) persists outputs >4KB to `~/.cx/bash-logs/` and tells the model to grep the log rather than re-run.
|
|
125
125
|
|
|
126
126
|
Advisory companions:
|
|
@@ -136,11 +136,11 @@ If you reason about the same decision across two consecutive turns without a new
|
|
|
136
136
|
|
|
137
137
|
## Speculation rule
|
|
138
138
|
|
|
139
|
-
When choosing between named options (SDK vs SDK, library vs library, pattern vs pattern), the answer comes from `context7_query-docs`, `WebFetch`, the user, or an explicit default
|
|
139
|
+
When choosing between named options (SDK vs SDK, library vs library, pattern vs pattern), the answer comes from `context7_query-docs`, `WebFetch`, the user, or an explicit default: never from internal reasoning rounds alone.
|
|
140
140
|
|
|
141
141
|
## Dispatch-first test
|
|
142
142
|
|
|
143
|
-
If work touches 3+ files across 2+ modules, or introduces a new contract/dependency/SDK, the persona must not produce the implementation plan itself
|
|
143
|
+
If work touches 3+ files across 2+ modules, or introduces a new contract/dependency/SDK, the persona must not produce the implementation plan itself: dispatch cx-architect. In-persona implementation planning for complex work is the primary failure mode this rule exists to prevent.
|
|
144
144
|
|
|
145
145
|
## Executive communication
|
|
146
146
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/quality-gates/review-work.md
|
|
2
|
+
skills/quality-gates/review-work.md (Parallel Adversarial Review) Use this methodology when a change needs rigorous pre-merge validation. Five ind
|
|
3
3
|
|
|
4
4
|
Use this methodology when a change needs rigorous pre-merge validation. Five independent review roles run concurrently. All must pass. ## When to use
|
|
5
5
|
-->
|
|
@@ -46,13 +46,13 @@ Use this methodology when a change needs rigorous pre-merge validation. Five ind
|
|
|
46
46
|
|
|
47
47
|
### 5. Quality (cx-accessibility for UI; cx-trace-reviewer for non-UI)
|
|
48
48
|
|
|
49
|
-
**UI changes
|
|
49
|
+
**UI changes: cx-accessibility:**
|
|
50
50
|
- Keyboard navigation
|
|
51
51
|
- Screen reader compatibility
|
|
52
52
|
- Color contrast and focus visibility
|
|
53
53
|
- Reduced motion support
|
|
54
54
|
|
|
55
|
-
**Non-UI changes
|
|
55
|
+
**Non-UI changes: cx-trace-reviewer:**
|
|
56
56
|
- N+1 queries or unbounded loops
|
|
57
57
|
- Memory or connection leaks
|
|
58
58
|
- Missing caching for expensive operations
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/quality-gates/verify-change.md
|
|
2
|
+
skills/quality-gates/verify-change.md (Verify Change) Use this skill to analyze the impact of code changes and verify documentation an
|
|
3
3
|
|
|
4
4
|
Use this skill to analyze the impact of code changes and verify documentation and tests are in sync. ## Change Inventory
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/quality-gates/verify-module.md
|
|
2
|
+
skills/quality-gates/verify-module.md (Verify Module) Use this skill to check that a module or package is structurally complete and re
|
|
3
3
|
|
|
4
4
|
Use this skill to check that a module or package is structurally complete and ready for use. ## Exports
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/quality-gates/verify-quality.md
|
|
2
|
+
skills/quality-gates/verify-quality.md (Verify Quality) Use this skill to check code quality, complexity, and maintainability after chan
|
|
3
3
|
|
|
4
4
|
Use this skill to check code quality, complexity, and maintainability after changes. ## Complexity
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/quality-gates/verify-security.md
|
|
2
|
+
skills/quality-gates/verify-security.md (Verify Security) Use this skill to scan code for security vulnerabilities before commits or relea
|
|
3
3
|
|
|
4
4
|
Use this skill to scan code for security vulnerabilities before commits or releases. ## Scan Scope
|
|
5
5
|
-->
|
package/skills/routing.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/routing.md
|
|
2
|
+
skills/routing.md (Construct AI Agent) Skill Routing: Read the matching skill file before responding when the user's request matches t
|
|
3
3
|
|
|
4
4
|
Read the matching skill file before responding when the user's request matches trigger keywords below. ## Exploration Domain
|
|
5
5
|
-->
|
|
6
|
-
# Construct AI Agent
|
|
6
|
+
# Construct AI Agent: Skill Routing
|
|
7
7
|
|
|
8
8
|
Read the matching skill file before responding when the user's request matches trigger keywords below.
|
|
9
9
|
|
|
@@ -11,7 +11,7 @@ Read the matching skill file before responding when the user's request matches t
|
|
|
11
11
|
|
|
12
12
|
| Trigger Keywords | Skill File | Description |
|
|
13
13
|
|---|---|---|
|
|
14
|
-
| explore repo, map codebase, understand codebase, unfamiliar codebase, slog through, get oriented, codebase map, how is this structured, how does this work, where is X, entry point, hot path, code map | `skills/exploration/repo-map.md` | Systematic repo exploration
|
|
14
|
+
| explore repo, map codebase, understand codebase, unfamiliar codebase, slog through, get oriented, codebase map, how is this structured, how does this work, where is X, entry point, hot path, code map | `skills/exploration/repo-map.md` | Systematic repo exploration: produce .cx/codebase-map.md |
|
|
15
15
|
|
|
16
16
|
## Quality Gates
|
|
17
17
|
|
|
@@ -120,15 +120,15 @@ Read the matching skill file before responding when the user's request matches t
|
|
|
120
120
|
| Trigger Keywords | Skill File | Description |
|
|
121
121
|
|---|---|---|
|
|
122
122
|
| init docs, create docs structure, set up documentation, docs scaffold, documentation init | `skills/docs/init-docs.md` | Initialize required project-state docs and documentation structure |
|
|
123
|
-
| research X, investigate X, find evidence, gather evidence | `skills/docs/research-workflow.md` | Research workflow
|
|
124
|
-
| product intelligence, customer notes, field notes, product signals, customer profile, evidence brief, signal brief, backlog proposal | `skills/docs/product-intelligence-workflow.md` | Product Intelligence workflow
|
|
125
|
-
| strategy, product strategy, strategic bet, non-bet, north star, time horizon, competitive positioning | `skills/docs/strategy-workflow.md` | Product strategy
|
|
126
|
-
| ingest evidence, ingest customer notes, ingest Slack thread, ingest support ticket, normalize field notes | `skills/docs/evidence-ingest-workflow.md` | Evidence ingest workflow
|
|
127
|
-
| write a PRD, create requirements, spec out, requirements document, Meta PRD, platform PRD | `skills/docs/prd-workflow.md` | PRD workflow
|
|
128
|
-
| write a PRFAQ, working backwards doc, press release FAQ | `skills/docs/prfaq-workflow.md` | PRFAQ workflow
|
|
129
|
-
| create Jira proposal, update Linear, backlog proposal, issue proposal | `skills/docs/backlog-proposal-workflow.md` | Backlog proposal workflow
|
|
130
|
-
| record this decision, create an ADR, architecture decision | `skills/docs/adr-workflow.md` | ADR workflow
|
|
131
|
-
| write a runbook, document this operation, operational procedure | `skills/docs/runbook-workflow.md` | Runbook workflow
|
|
123
|
+
| research X, investigate X, find evidence, gather evidence | `skills/docs/research-workflow.md` | Research workflow: question to .cx/research/ file |
|
|
124
|
+
| product intelligence, customer notes, field notes, product signals, customer profile, evidence brief, signal brief, backlog proposal | `skills/docs/product-intelligence-workflow.md` | Product Intelligence workflow: evidence to product artifacts |
|
|
125
|
+
| strategy, product strategy, strategic bet, non-bet, north star, time horizon, competitive positioning | `skills/docs/strategy-workflow.md` | Product strategy: read, update, and reason about the strategy store |
|
|
126
|
+
| ingest evidence, ingest customer notes, ingest Slack thread, ingest support ticket, normalize field notes | `skills/docs/evidence-ingest-workflow.md` | Evidence ingest workflow: raw source to .cx/knowledge/ |
|
|
127
|
+
| write a PRD, create requirements, spec out, requirements document, Meta PRD, platform PRD | `skills/docs/prd-workflow.md` | PRD workflow: requirements to docs/prd/ or docs/meta-prd/ |
|
|
128
|
+
| write a PRFAQ, working backwards doc, press release FAQ | `skills/docs/prfaq-workflow.md` | PRFAQ workflow: launch narrative from PRD or evidence |
|
|
129
|
+
| create Jira proposal, update Linear, backlog proposal, issue proposal | `skills/docs/backlog-proposal-workflow.md` | Backlog proposal workflow: approval-gated issue tracker changes |
|
|
130
|
+
| record this decision, create an ADR, architecture decision | `skills/docs/adr-workflow.md` | ADR workflow: decision to docs/adr/ file |
|
|
131
|
+
| write a runbook, document this operation, operational procedure | `skills/docs/runbook-workflow.md` | Runbook workflow: operation to docs/runbooks/ file |
|
|
132
132
|
| init project, new project setup, join project, set up doc structure | `skills/docs/init-project.md` | Project initialization via construct init-docs |
|
|
133
133
|
|
|
134
134
|
## Routing Rules
|
|
@@ -141,6 +141,6 @@ Read the matching skill file before responding when the user's request matches t
|
|
|
141
141
|
|
|
142
142
|
## Agent Roster Disambiguation
|
|
143
143
|
|
|
144
|
-
**cx-engineer vs cx-platform-engineer:** cx-engineer builds product features for end users. cx-platform-engineer builds the internal platform
|
|
144
|
+
**cx-engineer vs cx-platform-engineer:** cx-engineer builds product features for end users. cx-platform-engineer builds the internal platform: CI/CD, deployment tooling, developer environments, internal APIs, and reliability infrastructure. They operate in distinct domains with different quality bars (user-facing UX vs. developer ergonomics and system reliability). Use cx-platform-engineer when the subject is a platform service, internal tool, build pipeline, or infrastructure component that engineers consume, not end users.
|
|
145
145
|
|
|
146
|
-
**Platform domain overlays** (`roles/product-manager.platform`, `roles/architect.platform`, `roles/engineer.platform`) apply when the PRODUCT being designed or built is a platform
|
|
146
|
+
**Platform domain overlays** (`roles/product-manager.platform`, `roles/architect.platform`, `roles/engineer.platform`) apply when the PRODUCT being designed or built is a platform: an API, SDK, or developer surface consumed by other developers. These are skill overlays on PM/architect/engineer roles, not routing to cx-platform-engineer. Route to cx-platform-engineer only when the work is infra/ops, not product.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/security/blue-team.md
|
|
2
|
+
skills/security/blue-team.md (Blue Team) Use this skill when defending systems, responding to incidents, or building dete
|
|
3
3
|
|
|
4
4
|
Use this skill when defending systems, responding to incidents, or building detection and monitoring capabilities. ## Detection Engineering
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/security/code-audit.md
|
|
2
|
+
skills/security/code-audit.md (Code Audit) Use this skill when reviewing source code for security vulnerabilities through s
|
|
3
3
|
|
|
4
4
|
Use this skill when reviewing source code for security vulnerabilities through static analysis. ## Taint Analysis
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/security/pentest.md
|
|
2
|
+
skills/security/pentest.md (Penetration Testing) Use this skill when testing web applications or APIs for security vulnerabilitie
|
|
3
3
|
|
|
4
4
|
Use this skill when testing web applications or APIs for security vulnerabilities. ## OWASP Top 10 Checklist
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/security/red-team.md
|
|
2
|
+
skills/security/red-team.md (Red Team) Use this skill when planning or executing offensive security assessments, advers
|
|
3
3
|
|
|
4
4
|
Use this skill when planning or executing offensive security assessments, adversary emulation, or attack simulations. ## Reconnaissance
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/security/threat-intel.md
|
|
2
|
+
skills/security/threat-intel.md (Threat Intelligence) Use this skill when performing OSINT, threat modeling, or building threat intell
|
|
3
3
|
|
|
4
4
|
Use this skill when performing OSINT, threat modeling, or building threat intelligence programs. ## OSINT Collection
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/security/vuln-research.md
|
|
2
|
+
skills/security/vuln-research.md (Vulnerability Research) Use this skill when analyzing binaries, fuzzing software, or developing exploits
|
|
3
3
|
|
|
4
4
|
Use this skill when analyzing binaries, fuzzing software, or developing exploits for security research. ## Binary Analysis
|
|
5
5
|
-->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
skills/utility/clean-code.md
|
|
2
|
+
skills/utility/clean-code.md (AI Slop Removal) Patterns and heuristics for identifying and removing AI-generated code smells. U
|
|
3
3
|
|
|
4
4
|
Patterns and heuristics for identifying and removing AI-generated code smells. Use when cleaning up output from AI coding tools. ## Decision Tree
|
|
5
5
|
-->
|
|
@@ -160,6 +160,6 @@ async function getUserById(id: string): Promise<User> { ... }
|
|
|
160
160
|
## Rules
|
|
161
161
|
|
|
162
162
|
- Remove smell, nothing else. Do not refactor, reorganize, or add new abstractions.
|
|
163
|
-
- Keep diffs minimal
|
|
163
|
+
- Keep diffs minimal: one smell per change where possible.
|
|
164
164
|
- Never change behavior. If a removal would change behavior, flag it instead.
|
|
165
165
|
- Show before/after for every change.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Welcome to Construct
|
|
2
2
|
|
|
3
|
-
This file was generated by `construct init` to help you get oriented. It's safe to edit
|
|
3
|
+
This file was generated by `construct init` to help you get oriented. It's safe to edit: Construct only writes it once, then leaves it alone.
|
|
4
4
|
|
|
5
5
|
**Full docs:** [https://geraldmaron.github.io/construct/v2/](https://geraldmaron.github.io/construct/v2/)
|
|
6
6
|
|
|
@@ -12,7 +12,7 @@ You added Construct as a dev dependency. That gave you:
|
|
|
12
12
|
- **Hard gates.** Every code change runs through commit-time policy: no secrets, tests green, docs current, comments lint-clean. Bypass exists for every gate but leaves an audit trail.
|
|
13
13
|
- **Persistent state.** Your active work, decisions, and history survive across sessions and editor restarts.
|
|
14
14
|
|
|
15
|
-
You don't need to manage any of that
|
|
15
|
+
You don't need to manage any of that: it all runs locally.
|
|
16
16
|
|
|
17
17
|
## Files Construct created in your project
|
|
18
18
|
|
|
@@ -26,18 +26,18 @@ You'll see these in `git status`:
|
|
|
26
26
|
| `.claude/settings.json` | Hooks + MCP server config. Construct keys are managed; your additions are preserved. | Carefully |
|
|
27
27
|
| `.cx/` | Per-project session state (active work, recent decisions). Construct writes here. | Read-mostly |
|
|
28
28
|
| `.beads/` | Issue tracker data. Use `bd <cmd>` to interact. | Via CLI |
|
|
29
|
-
| `AGENTS.md` | Operating rules the agent reads at session start. | Yes
|
|
30
|
-
| `plan.md` | Active work plan. Local-only (gitignored). | Yes
|
|
31
|
-
| `docs/` | Documentation lanes (ADRs, PRDs, memos, …). | Yes
|
|
32
|
-
| `construct_guide.md` | This file. Friendly orientation. | Yes
|
|
29
|
+
| `AGENTS.md` | Operating rules the agent reads at session start. | Yes: your house rules go here |
|
|
30
|
+
| `plan.md` | Active work plan. Local-only (gitignored). | Yes: your current focus |
|
|
31
|
+
| `docs/` | Documentation lanes (ADRs, PRDs, memos, …). | Yes: this is your team's docs |
|
|
32
|
+
| `construct_guide.md` | This file. Friendly orientation. | Yes: adapt to your team |
|
|
33
33
|
|
|
34
34
|
## Where to drop information you want Construct to use
|
|
35
35
|
|
|
36
36
|
Three intake paths, ordered by formality:
|
|
37
37
|
|
|
38
|
-
1. **`.cx/inbox/`**
|
|
39
|
-
2. **`docs/intake
|
|
40
|
-
3. **`AGENTS.md
|
|
38
|
+
1. **`.cx/inbox/`** (drop a file here (URL, screenshot, paste, anything). The embed daemon watches the directory; when a file lands, it ingests it into the local knowledge base within a second or two and writes a triage packet to `.cx/intake/pending/` describing the new content, its R&D classification (intake type, stage, owner persona, recommended chain), its suggested docs lane, and existing docs that overlap. The agent surfaces pending intake at the next session start and you can ask it to process them) propose updates to existing PRDs/RFCs/ADRs or scaffold new ones: based on the prepared context.
|
|
39
|
+
2. **`docs/intake/`**: for proper intake batches (research notes, evidence from a meeting, raw source material). Has a template. Survives in git history.
|
|
40
|
+
3. **`AGENTS.md`**: for rules and conventions you want the agent to follow every time. "We prefer functional components. Don't introduce new dependencies without flagging." Read at session start.
|
|
41
41
|
|
|
42
42
|
For URLs or quick notes, the easiest path is to drop a file into `~/Downloads` and run:
|
|
43
43
|
|
|
@@ -82,7 +82,7 @@ construct doctor # verify everything's healthy
|
|
|
82
82
|
|
|
83
83
|
If you ran `construct init` and have Docker, you have three things running locally on Construct's reserved port block (`54329-54339`, chosen to avoid colliding with Next.js, Postgres, Redis, etc.):
|
|
84
84
|
|
|
85
|
-
**Telemetry backend** (LLM observability
|
|
85
|
+
**Telemetry backend** (LLM observability: see your traces, costs, and quality scores)
|
|
86
86
|
|
|
87
87
|
- URL: <http://localhost:54330>
|
|
88
88
|
|
|
@@ -97,7 +97,7 @@ If you ran `construct init` and have Docker, you have three things running local
|
|
|
97
97
|
- Model auto-downloaded to `~/.construct/cache/embeddings/` on first use (~22 MB, one time)
|
|
98
98
|
- Run `construct search "your query"` to see it work
|
|
99
99
|
|
|
100
|
-
If you skipped Docker, Construct falls back to a local JSON vector index at `~/.construct/vector/index.json` and stops emitting traces
|
|
100
|
+
If you skipped Docker, Construct falls back to a local JSON vector index at `~/.construct/vector/index.json` and stops emitting traces: semantic search still works, just slower at scale, and the telemetry backend isn't available.
|
|
101
101
|
|
|
102
102
|
All ports bind to `127.0.0.1` only; nothing is reachable from other machines on your network.
|
|
103
103
|
|
|
@@ -115,7 +115,7 @@ All ports bind to `127.0.0.1` only; nothing is reachable from other machines on
|
|
|
115
115
|
| `construct graph from-intake <id>` | Generate a task graph from a triaged intake packet |
|
|
116
116
|
| `construct drop` | Ingest the most recent downloaded file |
|
|
117
117
|
| `construct search "..."` | Hybrid file + SQL + semantic search over project state |
|
|
118
|
-
| `construct uninstall` | Interactive teardown
|
|
118
|
+
| `construct uninstall` | Interactive teardown: never touches Docker or your code |
|
|
119
119
|
|
|
120
120
|
Full reference: <https://geraldmaron.github.io/construct/v2/docs/reference/cli>
|
|
121
121
|
|
|
@@ -140,7 +140,7 @@ Troubleshooting guide: <https://geraldmaron.github.io/construct/v2/docs/operatio
|
|
|
140
140
|
|
|
141
141
|
- [Connect your editor](https://geraldmaron.github.io/construct/v2/docs/start/connect-your-editor) if you haven't already.
|
|
142
142
|
- [Run your first task](https://geraldmaron.github.io/construct/v2/docs/start/first-task) to feel the flow.
|
|
143
|
-
- Skim [the architecture](https://geraldmaron.github.io/construct/v2/docs/concepts/architecture) when you have 10 minutes
|
|
143
|
+
- Skim [the architecture](https://geraldmaron.github.io/construct/v2/docs/concepts/architecture) when you have 10 minutes: it'll save you hours later.
|
|
144
144
|
|
|
145
145
|
If you'd rather have a teammate walk you through it, the persona itself can:
|
|
146
146
|
|
|
@@ -27,8 +27,8 @@ the org decides, documents, or evaluates work once this ships.
|
|
|
27
27
|
<!--
|
|
28
28
|
The current state of the operating system: which workflow, template, eval
|
|
29
29
|
loop, or governance process is in play today, and what's actually happening
|
|
30
|
-
when teams or agents use it. Cite real examples
|
|
31
|
-
trace evidence, support tickets
|
|
30
|
+
when teams or agents use it. Cite real examples: recent PRDs, prior decisions,
|
|
31
|
+
trace evidence, support tickets: not hypotheticals.
|
|
32
32
|
-->
|
|
33
33
|
|
|
34
34
|
## Problem
|
|
@@ -40,7 +40,7 @@ Examples of the right shape:
|
|
|
40
40
|
- "PRDs ship without rejected alternatives, so reviewers re-litigate decisions
|
|
41
41
|
three weeks in. Happens on ~40% of PRDs in the last quarter."
|
|
42
42
|
- "Postmortems are written by the on-call who shipped the bug, so the action
|
|
43
|
-
items reflect their proposals
|
|
43
|
+
items reflect their proposals: not independent review."
|
|
44
44
|
-->
|
|
45
45
|
|
|
46
46
|
## Goals
|
|
@@ -63,7 +63,7 @@ the doc enters review."
|
|
|
63
63
|
| | Description |
|
|
64
64
|
|---|---|
|
|
65
65
|
| **In scope** | <which templates, workflows, agents, gates, or evals are touched> |
|
|
66
|
-
| **Out of scope** | <related operating systems explicitly deferred
|
|
66
|
+
| **Out of scope** | <related operating systems explicitly deferred: name the reason> |
|
|
67
67
|
| **Adjacent (deferred)** | <natural follow-up changes not in this Meta PRD> |
|
|
68
68
|
|
|
69
69
|
## Principles
|
|
@@ -74,7 +74,7 @@ principle should be testable enough to guide tradeoffs when phases conflict.
|
|
|
74
74
|
|
|
75
75
|
## Inputs and evidence
|
|
76
76
|
<!--
|
|
77
|
-
What evidence the system consumes
|
|
77
|
+
What evidence the system consumes: customer notes, interviews, traces, Jira
|
|
78
78
|
issues, PRDs, research, analytics, support tickets, prior decisions. State
|
|
79
79
|
minimum evidence thresholds where useful (e.g. "two independent customer
|
|
80
80
|
interviews before a PRD enters review").
|
|
@@ -98,53 +98,53 @@ constraints, anti-patterns, rubric dimensions, pass/fail checks.
|
|
|
98
98
|
Status values: not started | in progress | shipped | deferred.
|
|
99
99
|
-->
|
|
100
100
|
|
|
101
|
-
### Phase 1
|
|
101
|
+
### Phase 1: <name>
|
|
102
102
|
|
|
103
103
|
- **Goal**: <what this phase delivers>
|
|
104
104
|
- **Status**: not started
|
|
105
105
|
|
|
106
106
|
**Workflow**
|
|
107
107
|
|
|
108
|
-
- **MR-1.1
|
|
108
|
+
- **MR-1.1**: <imperative statement of how the workflow must behave>
|
|
109
109
|
- *Acceptance*: <how a reviewer or trace verifies this without asking the author>
|
|
110
|
-
- **MR-1.2
|
|
110
|
+
- **MR-1.2**: <...>
|
|
111
111
|
- *Acceptance*: <...>
|
|
112
112
|
|
|
113
113
|
**Document + evaluation**
|
|
114
114
|
|
|
115
|
-
- **DR-1.1
|
|
115
|
+
- **DR-1.1**: <required section, evidence rule, citation rule, formatting constraint, or anti-pattern>
|
|
116
116
|
- *Acceptance*: <rubric dimension, pass/fail check, or trace signal that proves it>
|
|
117
117
|
|
|
118
|
-
### Phase 2
|
|
118
|
+
### Phase 2: <name>
|
|
119
119
|
|
|
120
120
|
- **Goal**: <what this phase delivers>
|
|
121
121
|
- **Status**: not started
|
|
122
122
|
|
|
123
123
|
**Workflow**
|
|
124
124
|
|
|
125
|
-
- **MR-2.1
|
|
125
|
+
- **MR-2.1**: <...>
|
|
126
126
|
- *Acceptance*: <...>
|
|
127
|
-
- **MR-2.2
|
|
127
|
+
- **MR-2.2**: <...>
|
|
128
128
|
- *Acceptance*: <...>
|
|
129
129
|
|
|
130
130
|
**Document + evaluation**
|
|
131
131
|
|
|
132
|
-
- **DR-2.1
|
|
132
|
+
- **DR-2.1**: <...>
|
|
133
133
|
- *Acceptance*: <...>
|
|
134
134
|
|
|
135
|
-
### Phase 3
|
|
135
|
+
### Phase 3: <name>
|
|
136
136
|
|
|
137
137
|
- **Goal**: <what this phase delivers>
|
|
138
138
|
- **Status**: not started
|
|
139
139
|
|
|
140
140
|
**Workflow**
|
|
141
141
|
|
|
142
|
-
- **MR-3.1
|
|
142
|
+
- **MR-3.1**: <...>
|
|
143
143
|
- *Acceptance*: <...>
|
|
144
144
|
|
|
145
145
|
**Document + evaluation**
|
|
146
146
|
|
|
147
|
-
- **DR-3.1
|
|
147
|
+
- **DR-3.1**: <...>
|
|
148
148
|
- *Acceptance*: <...>
|
|
149
149
|
|
|
150
150
|
## Human approval gates
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<!-- One paragraph. What we will do, at a level a non-specialist can understand. -->
|
|
13
13
|
|
|
14
14
|
## Why now
|
|
15
|
-
<!-- One paragraph. What makes this the right moment
|
|
15
|
+
<!-- One paragraph. What makes this the right moment: a trigger, a constraint, a window. -->
|
|
16
16
|
|
|
17
17
|
## Success measure
|
|
18
18
|
<!-- The single metric that tells us this worked. Numeric, time-bound. -->
|
|
@@ -22,7 +22,7 @@ Use prd-platform.md for internal platform and developer-facing capabilities.
|
|
|
22
22
|
<!-- The one-paragraph view of market shape, buyer behavior, and where value accrues. Every decision in this document links back here or challenges it. -->
|
|
23
23
|
|
|
24
24
|
## Problem and opportunity
|
|
25
|
-
<!-- What is broken in the market or business today? What does the opportunity look like at full scale? State the pain and the size of the prize
|
|
25
|
+
<!-- What is broken in the market or business today? What does the opportunity look like at full scale? State the pain and the size of the prize: with evidence. -->
|
|
26
26
|
|
|
27
27
|
## Strategic goals
|
|
28
28
|
<!-- What this decision achieves at the business level: position, revenue, defensibility, optionality. Tie to company objectives. -->
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
<!--
|
|
8
8
|
Use this for capabilities consumed by internal systems, developers, operators, or other
|
|
9
|
-
services
|
|
9
|
+
services: not directly by end users. Covers APIs, SDKs, admin surfaces, data contracts,
|
|
10
10
|
shared infrastructure, and operational tooling.
|
|
11
11
|
|
|
12
12
|
Use prd.md instead for customer-facing product capabilities.
|