cc-codeconductor 0.5.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/README.md +387 -150
  2. package/dist/cli/errors.d.ts +65 -0
  3. package/dist/core/compilation/compile-checker.d.ts +53 -0
  4. package/dist/core/config/codeconductor-config.d.ts +42 -0
  5. package/dist/core/config/config-loader.d.ts +11 -0
  6. package/dist/core/filesystem/credential-guard.d.ts +18 -0
  7. package/dist/core/goal/goal-planner.d.ts +8 -0
  8. package/dist/core/goal/goal-state.d.ts +15 -0
  9. package/dist/core/loop/git-stats.d.ts +13 -0
  10. package/dist/core/loop/loop-engine.d.ts +82 -0
  11. package/dist/core/memory/episodic-store.d.ts +6 -0
  12. package/dist/core/memory/operational-state.d.ts +6 -0
  13. package/dist/core/orchestrator/runtime-orchestrator.d.ts +25 -0
  14. package/dist/core/planner/product-planner.d.ts +18 -0
  15. package/dist/core/presets/package-paths.d.ts +4 -0
  16. package/dist/core/product-graph/graph-store.d.ts +11 -0
  17. package/dist/core/product-graph/paths.d.ts +18 -0
  18. package/dist/core/verification/verification-runner.d.ts +57 -0
  19. package/dist/domain/loop/loop-state.d.ts +74 -0
  20. package/dist/domain/product/entities.d.ts +11 -0
  21. package/dist/index.d.ts +15 -0
  22. package/dist/index.js +24165 -15800
  23. package/dist/library.js +2744 -0
  24. package/dist/utils/result.d.ts +36 -0
  25. package/dist/validation/schemas.d.ts +4006 -0
  26. package/package.json +18 -2
  27. package/policy.yml +12 -11
  28. package/presets/agy/AGENTS.md +14 -5
  29. package/presets/agy/gates/pre-commit/GATE.md +137 -0
  30. package/presets/agy/skills/backlog/SKILL.md +91 -0
  31. package/presets/agy/skills/cc-fix/SKILL.md +2 -2
  32. package/presets/agy/skills/cc-tdd-cycle/SKILL.md +11 -0
  33. package/presets/agy/skills/openspec/SKILL.md +5 -1
  34. package/presets/agy/skills/security-ai-llm/SKILL.md +43 -0
  35. package/presets/agy/skills/security-blue-team/SKILL.md +43 -0
  36. package/presets/agy/skills/security-cloud/SKILL.md +43 -0
  37. package/presets/agy/skills/security-crypto/SKILL.md +43 -0
  38. package/presets/agy/skills/security-exploit-dev/SKILL.md +45 -0
  39. package/presets/agy/skills/security-grc/SKILL.md +43 -0
  40. package/presets/agy/skills/security-incident-response/SKILL.md +45 -0
  41. package/presets/agy/skills/security-log-analysis/SKILL.md +43 -0
  42. package/presets/agy/skills/security-malware-analysis/SKILL.md +44 -0
  43. package/presets/agy/skills/security-mobile/SKILL.md +43 -0
  44. package/presets/agy/skills/security-network/SKILL.md +43 -0
  45. package/presets/agy/skills/security-ot-ics/SKILL.md +43 -0
  46. package/presets/agy/skills/security-recon/SKILL.md +45 -0
  47. package/presets/agy/skills/security-red-team/SKILL.md +44 -0
  48. package/presets/agy/skills/security-reverse-engineering/SKILL.md +44 -0
  49. package/presets/agy/skills/security-soc-automation/SKILL.md +43 -0
  50. package/presets/agy/skills/security-threat-hunting/SKILL.md +43 -0
  51. package/presets/agy/skills/security-vuln-assessment/SKILL.md +45 -0
  52. package/presets/agy/skills/security-web/SKILL.md +44 -0
  53. package/presets/agy/workflows/cc-api-contract.md +12 -0
  54. package/presets/agy/workflows/cc-ask.md +56 -0
  55. package/presets/agy/workflows/cc-backlog.md +69 -0
  56. package/presets/agy/workflows/cc-clarify.md +33 -0
  57. package/presets/agy/workflows/cc-council.md +31 -7
  58. package/presets/agy/workflows/cc-db-migration.md +22 -9
  59. package/presets/agy/workflows/cc-explore.md +37 -0
  60. package/presets/agy/workflows/cc-feature.md +41 -19
  61. package/presets/agy/workflows/cc-fix.md +50 -23
  62. package/presets/agy/workflows/cc-handoff.md +42 -0
  63. package/presets/agy/workflows/cc-iterative.md +128 -0
  64. package/presets/agy/workflows/cc-openspec.md +16 -1
  65. package/presets/agy/workflows/cc-pagespeed.md +12 -0
  66. package/presets/agy/workflows/cc-prototype.md +39 -0
  67. package/presets/agy/workflows/cc-refactor.md +12 -0
  68. package/presets/agy/workflows/cc-review.md +12 -0
  69. package/presets/agy/workflows/cc-scorecard.md +12 -0
  70. package/presets/agy/workflows/cc-security.md +180 -0
  71. package/presets/agy/workflows/cc-tdd-cycle.md +24 -0
  72. package/presets/agy/workflows/cc-test-plan.md +12 -0
  73. package/presets/agy/workflows/cc-triage.md +35 -0
  74. package/presets/claude/CLAUDE.md +68 -0
  75. package/presets/claude/commands/cc/api-contract.md +12 -0
  76. package/presets/claude/commands/cc/ask.md +56 -0
  77. package/presets/claude/commands/cc/backlog.md +104 -0
  78. package/presets/claude/commands/cc/clarify.md +32 -0
  79. package/presets/claude/commands/cc/council.md +87 -0
  80. package/presets/claude/commands/cc/db-migration.md +22 -9
  81. package/presets/claude/commands/cc/explore.md +36 -0
  82. package/presets/claude/commands/cc/feature.md +49 -22
  83. package/presets/claude/commands/cc/fix.md +74 -20
  84. package/presets/claude/commands/cc/handoff.md +44 -0
  85. package/presets/claude/commands/cc/iterative.md +132 -0
  86. package/presets/claude/commands/cc/openspec.md +41 -1
  87. package/presets/claude/commands/cc/pagespeed.md +12 -0
  88. package/presets/claude/commands/cc/prototype.md +38 -0
  89. package/presets/claude/commands/cc/refactor.md +152 -1
  90. package/presets/claude/commands/cc/review.md +78 -16
  91. package/presets/claude/commands/cc/scorecard.md +12 -0
  92. package/presets/claude/commands/cc/security.md +179 -0
  93. package/presets/claude/commands/cc/tdd-cycle.md +53 -3
  94. package/presets/claude/commands/cc/test-plan.md +12 -0
  95. package/presets/claude/commands/cc/triage.md +34 -0
  96. package/presets/claude/gates/pre-commit/GATE.md +137 -0
  97. package/presets/claude/settings.json +8 -46
  98. package/presets/claude/skills/backlog/SKILL.md +91 -0
  99. package/presets/claude/skills/openspec/SKILL.md +5 -1
  100. package/presets/claude/skills/security/SKILL.md +382 -0
  101. package/presets/claude/skills/security-ai-llm/SKILL.md +43 -0
  102. package/presets/claude/skills/security-blue-team/SKILL.md +43 -0
  103. package/presets/claude/skills/security-cloud/SKILL.md +43 -0
  104. package/presets/claude/skills/security-crypto/SKILL.md +43 -0
  105. package/presets/claude/skills/security-exploit-dev/SKILL.md +45 -0
  106. package/presets/claude/skills/security-grc/SKILL.md +43 -0
  107. package/presets/claude/skills/security-incident-response/SKILL.md +45 -0
  108. package/presets/claude/skills/security-log-analysis/SKILL.md +43 -0
  109. package/presets/claude/skills/security-malware-analysis/SKILL.md +44 -0
  110. package/presets/claude/skills/security-mobile/SKILL.md +43 -0
  111. package/presets/claude/skills/security-network/SKILL.md +43 -0
  112. package/presets/claude/skills/security-ot-ics/SKILL.md +43 -0
  113. package/presets/claude/skills/security-recon/SKILL.md +45 -0
  114. package/presets/claude/skills/security-red-team/SKILL.md +44 -0
  115. package/presets/claude/skills/security-reverse-engineering/SKILL.md +44 -0
  116. package/presets/claude/skills/security-soc-automation/SKILL.md +43 -0
  117. package/presets/claude/skills/security-threat-hunting/SKILL.md +43 -0
  118. package/presets/claude/skills/security-vuln-assessment/SKILL.md +45 -0
  119. package/presets/claude/skills/security-web/SKILL.md +44 -0
  120. package/presets/codex/AGENTS.md +6 -6
  121. package/presets/codex/commands/cc-ask.md +56 -0
  122. package/presets/codex/gates/pre-commit/GATE.md +137 -0
  123. package/presets/cursor/AGENTS.md +8 -8
  124. package/presets/cursor/agents/business-agent.md +44 -0
  125. package/presets/cursor/agents/continuous-architect.md +37 -0
  126. package/presets/cursor/agents/docs.md +1 -0
  127. package/presets/cursor/agents/goal-planner.md +1 -1
  128. package/presets/cursor/agents/impact-analyst.md +43 -0
  129. package/presets/cursor/agents/orchestrator.md +6 -6
  130. package/presets/cursor/commands/cc/api-contract.md +12 -0
  131. package/presets/cursor/commands/cc/ask.md +56 -0
  132. package/presets/cursor/commands/cc/backlog.md +105 -0
  133. package/presets/cursor/commands/cc/clarify.md +32 -0
  134. package/presets/cursor/commands/cc/council.md +87 -0
  135. package/presets/cursor/commands/cc/db-migration.md +22 -9
  136. package/presets/cursor/commands/cc/explore.md +36 -0
  137. package/presets/cursor/commands/cc/feature.md +41 -19
  138. package/presets/cursor/commands/cc/fix.md +47 -20
  139. package/presets/cursor/commands/cc/handoff.md +41 -0
  140. package/presets/cursor/commands/cc/iterative.md +133 -0
  141. package/presets/cursor/commands/cc/openspec.md +38 -8
  142. package/presets/cursor/commands/cc/pagespeed.md +12 -0
  143. package/presets/cursor/commands/cc/prototype.md +38 -0
  144. package/presets/cursor/commands/cc/refactor.md +12 -0
  145. package/presets/cursor/commands/cc/review.md +12 -0
  146. package/presets/cursor/commands/cc/scorecard.md +12 -0
  147. package/presets/cursor/commands/cc/security.md +179 -0
  148. package/presets/cursor/commands/cc/tdd-cycle.md +24 -0
  149. package/presets/cursor/commands/cc/test-plan.md +12 -0
  150. package/presets/cursor/commands/cc/triage.md +34 -0
  151. package/presets/cursor/gates/pre-commit/GATE.md +137 -0
  152. package/presets/cursor/rules/orchestration.mdc +1 -1
  153. package/presets/cursor/skills/backlog/SKILL.md +91 -0
  154. package/presets/cursor/skills/openspec/SKILL.md +5 -1
  155. package/presets/cursor/skills/security-ai-llm/SKILL.md +43 -0
  156. package/presets/cursor/skills/security-blue-team/SKILL.md +43 -0
  157. package/presets/cursor/skills/security-cloud/SKILL.md +43 -0
  158. package/presets/cursor/skills/security-crypto/SKILL.md +43 -0
  159. package/presets/cursor/skills/security-exploit-dev/SKILL.md +45 -0
  160. package/presets/cursor/skills/security-grc/SKILL.md +43 -0
  161. package/presets/cursor/skills/security-incident-response/SKILL.md +45 -0
  162. package/presets/cursor/skills/security-log-analysis/SKILL.md +43 -0
  163. package/presets/cursor/skills/security-malware-analysis/SKILL.md +44 -0
  164. package/presets/cursor/skills/security-mobile/SKILL.md +43 -0
  165. package/presets/cursor/skills/security-network/SKILL.md +43 -0
  166. package/presets/cursor/skills/security-ot-ics/SKILL.md +43 -0
  167. package/presets/cursor/skills/security-recon/SKILL.md +45 -0
  168. package/presets/cursor/skills/security-red-team/SKILL.md +44 -0
  169. package/presets/cursor/skills/security-reverse-engineering/SKILL.md +44 -0
  170. package/presets/cursor/skills/security-soc-automation/SKILL.md +43 -0
  171. package/presets/cursor/skills/security-threat-hunting/SKILL.md +43 -0
  172. package/presets/cursor/skills/security-vuln-assessment/SKILL.md +45 -0
  173. package/presets/cursor/skills/security-web/SKILL.md +44 -0
  174. package/presets/opencode/agents/architect.md +22 -1
  175. package/presets/opencode/agents/complexity-auditor.md +16 -1
  176. package/presets/opencode/agents/contract-builder.md +17 -1
  177. package/presets/opencode/agents/devil.md +158 -0
  178. package/presets/opencode/agents/docs.md +19 -1
  179. package/presets/opencode/agents/goal-planner.md +32 -2
  180. package/presets/opencode/agents/implementer.md +32 -2
  181. package/presets/opencode/agents/orchestrator.md +79 -12
  182. package/presets/opencode/agents/planner.md +61 -0
  183. package/presets/opencode/agents/repo-explorer.md +16 -0
  184. package/presets/opencode/agents/reviewer.md +33 -3
  185. package/presets/opencode/agents/security-reviewer.md +31 -1
  186. package/presets/opencode/agents/task-coach.md +69 -1
  187. package/presets/opencode/agents/tester.md +18 -1
  188. package/presets/opencode/commands/cc-api-contract.md +12 -0
  189. package/presets/opencode/commands/cc-ask.md +56 -0
  190. package/presets/opencode/commands/cc-backlog.md +68 -0
  191. package/presets/opencode/commands/cc-clarify.md +31 -0
  192. package/presets/opencode/commands/cc-council.md +87 -0
  193. package/presets/opencode/commands/cc-db-migration.md +22 -9
  194. package/presets/opencode/commands/cc-explore.md +35 -0
  195. package/presets/opencode/commands/cc-feature.md +41 -19
  196. package/presets/opencode/commands/cc-fix.md +50 -23
  197. package/presets/opencode/commands/cc-handoff.md +40 -0
  198. package/presets/opencode/commands/cc-iterative.md +127 -0
  199. package/presets/opencode/commands/cc-openspec.md +16 -1
  200. package/presets/opencode/commands/cc-pagespeed.md +12 -0
  201. package/presets/opencode/commands/cc-prototype.md +37 -0
  202. package/presets/opencode/commands/cc-refactor.md +12 -0
  203. package/presets/opencode/commands/cc-review.md +12 -0
  204. package/presets/opencode/commands/cc-scorecard.md +12 -0
  205. package/presets/opencode/commands/cc-security.md +179 -0
  206. package/presets/opencode/commands/cc-tdd-cycle.md +24 -0
  207. package/presets/opencode/commands/cc-test-plan.md +12 -0
  208. package/presets/opencode/commands/cc-triage.md +33 -0
  209. package/presets/opencode/gates/pre-commit/GATE.md +137 -0
  210. package/presets/opencode/prompts/v0.1.0/DEPRECATED.md +11 -0
  211. package/presets/opencode/prompts/v0.2.0/DEPRECATED.md +11 -0
  212. package/presets/opencode/prompts/v0.3.0/DEPRECATED.md +11 -0
  213. package/presets/opencode/prompts/v0.4.0/DEPRECATED.md +11 -0
  214. package/presets/opencode/prompts/v0.5.0/goal-planner.md +1 -1
  215. package/presets/opencode/prompts/v0.5.0/orchestrator.md +6 -6
  216. package/presets/opencode/prompts/v0.6.0/implementer.md +35 -0
  217. package/presets/opencode/prompts/v0.6.0/planner.md +36 -0
  218. package/presets/opencode/prompts/v0.6.0/reviewer.md +40 -0
  219. package/presets/opencode/prompts/v1.0.0/README.md +47 -0
  220. package/presets/opencode/prompts/v1.0.0/architect.md +259 -0
  221. package/presets/opencode/prompts/v1.0.0/complexity-auditor.md +116 -0
  222. package/presets/opencode/prompts/v1.0.0/contract-builder.md +120 -0
  223. package/presets/opencode/prompts/v1.0.0/devil.md +169 -0
  224. package/presets/opencode/prompts/v1.0.0/docs.md +229 -0
  225. package/presets/opencode/prompts/v1.0.0/goal-planner.md +123 -0
  226. package/presets/opencode/prompts/v1.0.0/implementer.md +228 -0
  227. package/presets/opencode/prompts/v1.0.0/orchestrator.md +474 -0
  228. package/presets/opencode/prompts/v1.0.0/planner.md +72 -0
  229. package/presets/opencode/prompts/v1.0.0/repo-explorer.md +147 -0
  230. package/presets/opencode/prompts/v1.0.0/reviewer.md +295 -0
  231. package/presets/opencode/prompts/v1.0.0/security-reviewer.md +170 -0
  232. package/presets/opencode/prompts/v1.0.0/task-coach.md +235 -0
  233. package/presets/opencode/prompts/v1.0.0/tester.md +298 -0
  234. package/presets/opencode/skills/backlog/SKILL.md +91 -0
  235. package/presets/opencode/skills/openspec/SKILL.md +5 -1
  236. package/presets/opencode/skills/security-ai-llm/SKILL.md +43 -0
  237. package/presets/opencode/skills/security-blue-team/SKILL.md +43 -0
  238. package/presets/opencode/skills/security-cloud/SKILL.md +43 -0
  239. package/presets/opencode/skills/security-crypto/SKILL.md +43 -0
  240. package/presets/opencode/skills/security-exploit-dev/SKILL.md +45 -0
  241. package/presets/opencode/skills/security-grc/SKILL.md +43 -0
  242. package/presets/opencode/skills/security-incident-response/SKILL.md +45 -0
  243. package/presets/opencode/skills/security-log-analysis/SKILL.md +43 -0
  244. package/presets/opencode/skills/security-malware-analysis/SKILL.md +44 -0
  245. package/presets/opencode/skills/security-mobile/SKILL.md +43 -0
  246. package/presets/opencode/skills/security-network/SKILL.md +43 -0
  247. package/presets/opencode/skills/security-ot-ics/SKILL.md +43 -0
  248. package/presets/opencode/skills/security-recon/SKILL.md +45 -0
  249. package/presets/opencode/skills/security-red-team/SKILL.md +44 -0
  250. package/presets/opencode/skills/security-reverse-engineering/SKILL.md +44 -0
  251. package/presets/opencode/skills/security-soc-automation/SKILL.md +43 -0
  252. package/presets/opencode/skills/security-threat-hunting/SKILL.md +43 -0
  253. package/presets/opencode/skills/security-vuln-assessment/SKILL.md +45 -0
  254. package/presets/opencode/skills/security-web/SKILL.md +44 -0
  255. package/presets/seo-hotel/settings.json +0 -17
  256. package/src/presets/council/council.yml +12 -0
  257. package/src/presets/manifests/agy.yml +2 -2
  258. package/src/presets/manifests/claude.yml +2 -2
  259. package/src/presets/manifests/codex.yml +2 -2
  260. package/src/presets/manifests/cursor.yml +2 -2
  261. package/src/presets/manifests/gemini.yml +2 -2
  262. package/src/presets/manifests/opencode.yml +2 -2
  263. package/src/presets/models/agy.yml +93 -66
  264. package/src/presets/models/claude.yml +79 -53
  265. package/src/presets/models/codex.yml +79 -54
  266. package/src/presets/models/cursor.yml +72 -58
  267. package/src/presets/models/gemini.yml +79 -53
  268. package/src/presets/models/opencode.yml +72 -46
@@ -17,6 +17,19 @@ Run `npx cc-codeconductor openspec validate`. If invalid, show errors and recomm
17
17
 
18
18
  ---
19
19
 
20
+ ## Step 0 — CCEP Bootstrap
21
+
22
+ Command: `openspec` (fixed for this workflow — do not infer from user text)
23
+
24
+ 1. Run: `npx cc-codeconductor ccep parse --command openspec "$ARGUMENTS" --output json`
25
+ 2. Run: `npx cc-codeconductor ccep resolve --command openspec "$ARGUMENTS" --output json`
26
+ 3. Run: `npx cc-codeconductor ccep profile openspec --output json`
27
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command openspec --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
28
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
29
+ Canonical delivery order is test-before-implement whenever both phases apply.
30
+
31
+ ---
32
+
20
33
  ## Step 1 — Scan
21
34
 
22
35
  Run `npx cc-codeconductor openspec scan`. Report new, modified, and closed items.
@@ -33,6 +46,8 @@ Use `$ARGUMENTS` BC-id or `npx cc-codeconductor openspec status` for next READY
33
46
 
34
47
  Run `npx cc-codeconductor openspec plan <BC-id>`. Show TaskCards and `openspec/changes/` path.
35
48
 
49
+ Drive status with CLI (do not edit openspec-state.json): `openspec start <cardId>`, `openspec done <cardId>`, `openspec block <cardId> --reason "…"`, `openspec archive <itemId>`.
50
+
36
51
  ---
37
52
 
38
53
  ## Step 4 — Execute loop
@@ -57,6 +72,6 @@ Reviewer approves or rejects against acceptance criteria. Reject → `IN_PROGRES
57
72
 
58
73
  ## Step 6 — Update
59
74
 
60
- Mark DONE, move to Archive in BACKLOG.md, run `openspec scan`.
75
+ Mark DONE with `openspec archive <itemId>` (all cards must be done), then run `openspec scan`.
61
76
 
62
77
  Apply skill `openspec` for format and state rules.
@@ -11,6 +11,18 @@ Audit URL: $ARGUMENTS
11
11
 
12
12
  ---
13
13
 
14
+ ## Step 0 — CCEP Bootstrap
15
+
16
+ Command: `pagespeed` (fixed for this workflow — do not infer from user text)
17
+
18
+ 1. Run: `npx cc-codeconductor ccep parse --command pagespeed "$ARGUMENTS" --output json`
19
+ 2. Run: `npx cc-codeconductor ccep resolve --command pagespeed "$ARGUMENTS" --output json`
20
+ 3. Run: `npx cc-codeconductor ccep profile pagespeed --output json`
21
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command pagespeed --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
22
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
23
+
24
+ ---
25
+
14
26
  ## Step 1 — Pre-flight (pagespeed-perf skill)
15
27
 
16
28
  Invoke `pagespeed-perf` skill.
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: cc-prototype
3
+ description:
4
+ Disposable spike in an isolated worktree. Not a merge candidate.
5
+ ---
6
+
7
+ # Prototype Workflow
8
+
9
+ Prototype request: $ARGUMENTS
10
+
11
+ ## Step 0 — CCEP Bootstrap
12
+
13
+ Command: `prototype` (fixed for this workflow — do not infer from user text)
14
+
15
+ 1. Run: `npx cc-codeconductor ccep parse --command prototype "$ARGUMENTS" --output json`
16
+ 2. Run: `npx cc-codeconductor ccep resolve --command prototype "$ARGUMENTS" --output json`
17
+ 3. Run: `npx cc-codeconductor ccep profile prototype --output json`
18
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command prototype --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
19
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
20
+
21
+ ---
22
+
23
+ ## Step 1 — Bounds (architect)
24
+
25
+ Invoke `architect`. Define what the spike may touch, time-box, and what must not leak into main. Do not treat this as a production Technical Plan.
26
+
27
+ **STOP here. Wait for approval of the spike bounds.**
28
+
29
+ ---
30
+
31
+ ## Step 2 — Spike (implementer)
32
+
33
+ Invoke `implementer` in a Git worktree that is not a merge candidate. Label the Implementation Summary as disposable. Do not open a PR against protected branches.
34
+
35
+ ---
36
+
37
+ ## Completion
38
+
39
+ Report bounds, worktree path, and what was learned. Recommend `/cc:feature` or `/cc:fix` if the spike should become real work.
@@ -34,6 +34,18 @@ If coverage is insufficient:
34
34
 
35
35
  ---
36
36
 
37
+ ## Step 0 — CCEP Bootstrap
38
+
39
+ Command: `refactor` (fixed for this workflow — do not infer from user text)
40
+
41
+ 1. Run: `npx cc-codeconductor ccep parse --command refactor "$ARGUMENTS" --output json`
42
+ 2. Run: `npx cc-codeconductor ccep resolve --command refactor "$ARGUMENTS" --output json`
43
+ 3. Run: `npx cc-codeconductor ccep profile refactor --output json`
44
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command refactor --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
45
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
46
+
47
+ ---
48
+
37
49
  ## Step 1 — Architectural justification (architect)
38
50
 
39
51
  Always invoke `architect` first, regardless of risk level. A refactor without a
@@ -18,6 +18,18 @@ Specify what to review. Accepted formats:
18
18
 
19
19
  ---
20
20
 
21
+ ## Step 0 — CCEP Bootstrap
22
+
23
+ Command: `review` (fixed for this workflow — do not infer from user text)
24
+
25
+ 1. Run: `npx cc-codeconductor ccep parse --command review "$ARGUMENTS" --output json`
26
+ 2. Run: `npx cc-codeconductor ccep resolve --command review "$ARGUMENTS" --output json`
27
+ 3. Run: `npx cc-codeconductor ccep profile review --output json`
28
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command review --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
29
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
30
+
31
+ ---
32
+
21
33
  ## Step 1 — Diff collection
22
34
 
23
35
  Before invoking `reviewer`, collect the diff for the specified target.
@@ -8,6 +8,18 @@ description:
8
8
 
9
9
  Scope: $ARGUMENTS
10
10
 
11
+ ## Step 0 — CCEP Bootstrap
12
+
13
+ Command: `scorecard` (fixed for this workflow — do not infer from user text)
14
+
15
+ 1. Run: `npx cc-codeconductor ccep parse --command scorecard "$ARGUMENTS" --output json`
16
+ 2. Run: `npx cc-codeconductor ccep resolve --command scorecard "$ARGUMENTS" --output json`
17
+ 3. Run: `npx cc-codeconductor ccep profile scorecard --output json`
18
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command scorecard --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
19
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
20
+
21
+ ---
22
+
11
23
  1. `npx cc-codeconductor scorecard create --task <id> --from-diff`
12
24
  2. Complete criteria per docs/agent-scorecard.md
13
25
  3. `scorecard regression` if needed
@@ -0,0 +1,180 @@
1
+ ---
2
+ name: cc-security
3
+ description: >
4
+ Run the authorized defensive security workflow — domain security-* skills,
5
+ authorization gate, risk-based routing, hardening, and review.
6
+ ---
7
+
8
+ # Defensive Security Workflow
9
+
10
+ Security objective: $ARGUMENTS
11
+
12
+ Provide the following information in $ARGUMENTS:
13
+
14
+ - What must be reviewed or hardened, and why
15
+ - Domain: a `security-*` skill id (recon, vuln-assessment, web, cloud, IR,
16
+ hunting, GRC, …) or `web-app` / `api` / `cloud-config` /
17
+ `dependency-supply-chain` / `secrets`
18
+ - Authorization: who authorized this work on this target, and the scope boundary
19
+ - Risk classification (`low`, `medium`, or `high`), if known
20
+ - Scope: which files, modules, repos, or environments are in and out of bounds
21
+
22
+ ---
23
+
24
+ ## Scope and authorization
25
+
26
+ This workflow performs **authorized defensive security work only**: threat
27
+ modeling, hardening, secure configuration, dependency and supply-chain review,
28
+ secret hygiene, and detection coverage.
29
+
30
+ Refuse outright and offer the defensive equivalent instead (threat model,
31
+ hardening, detection coverage, dependency audit):
32
+
33
+ - Exploit or proof-of-concept development
34
+ - Malware authoring, or malware analysis intended for reuse
35
+ - Reverse engineering aimed at bypassing a control
36
+ - Red-team playbooks
37
+ - Any unauthorized-access procedure
38
+
39
+ Scope is limited to the repository under analysis. Do not scan, probe, or
40
+ perform reconnaissance against third-party hosts.
41
+
42
+ Do not proceed without an authorization statement. Do not produce exploit
43
+ payloads, malware, or attack procedures.
44
+
45
+ ---
46
+
47
+ ## Step 0 — CCEP Bootstrap
48
+
49
+ Command: `security` (fixed for this workflow — do not infer from user text)
50
+
51
+ 1. Run: `npx cc-codeconductor ccep parse --command security "$ARGUMENTS" --output json`
52
+ 2. Run: `npx cc-codeconductor ccep resolve --command security "$ARGUMENTS" --output json`
53
+ 3. Run: `npx cc-codeconductor ccep profile security --output json`
54
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command security --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
55
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
56
+ Canonical delivery order is test-before-implement whenever both phases apply.
57
+
58
+ ---
59
+
60
+ ## Step 1 — Wayfinding (repo-explorer)
61
+
62
+ If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"` (and
63
+ `graphify path` / `graphify explain` when needed). Then invoke `repo-explorer`
64
+ to map modules, conventions, and impact radius. Do not write code in this step.
65
+ Record a Repo Map artifact before intake. Load the matching `security-*` skill
66
+ for the named domain (see `.claude/skills/security-*/SKILL.md`). Keep the OWASP
67
+ `security` skill for application-security reviews.
68
+
69
+ ---
70
+
71
+ ## Step 2 — Task Card validation (task-coach)
72
+
73
+ Invoke `task-coach` with the security objective above.
74
+
75
+ task-coach must produce a Task Card that includes:
76
+
77
+ - Objective: what must be reviewed or hardened, in one sentence
78
+ - Domain: which `security-*` skill applies, or `web-app` / `api` /
79
+ `cloud-config` / `dependency-supply-chain` / `secrets`
80
+ - Authorization: who authorized this work on this target, and the scope boundary
81
+ - Risk classification: `low`, `medium`, or `high`
82
+ - Scope: which files or modules are likely affected
83
+
84
+ If authorization is absent, unclear, or names a system the requester does not
85
+ own or operate, **STOP and refuse. Do not route the task.**
86
+
87
+ Redact secrets, tokens, and credentials from any evidence before it enters the
88
+ Task Card. Summarize logs; do not paste env files.
89
+
90
+ **STOP here. Show the Task Card and wait for human confirmation.**
91
+
92
+ ---
93
+
94
+ ## Step 3 — Route by risk
95
+
96
+ Read the risk field from the Task Card and follow the corresponding route.
97
+
98
+ ### Low-risk route
99
+
100
+ Applies when: the weakness is isolated, not exploitable in the current
101
+ configuration, and no authentication, secret, or dependency boundary is
102
+ involved.
103
+
104
+ Route: `task-coach` → `tester` → `implementer`
105
+
106
+ Proceed directly to Step 4 (tests), then Step 5a.
107
+
108
+ ### Medium or high-risk route
109
+
110
+ Applies when: the work touches authentication, authorization, secrets,
111
+ cryptography, trust-boundary input validation, or a dependency upgrade.
112
+
113
+ Route: `task-coach` → `architect` → `tester` → `implementer` → `reviewer`
114
+
115
+ Invoke `architect` before implementation. architect must:
116
+
117
+ - Identify the weakness and the affected trust boundary
118
+ - Define the hardening approach and affected files
119
+ - Flag any regression risk to adjacent components
120
+ - Produce a Technical Plan
121
+
122
+ On **high** risk, also invoke `security-reviewer` before Reviewer.
123
+
124
+ **STOP here if high-risk. Show the Technical Plan and wait for human approval
125
+ before continuing.**
126
+
127
+ ---
128
+
129
+ ## Step 4 — Tests (tester)
130
+
131
+ Invoke `tester` for all risk levels.
132
+
133
+ tester must:
134
+
135
+ 1. Write a regression test that proves the weakness exists and confirm it fails
136
+ before any change (RED)
137
+ 2. Verify that existing tests still pass
138
+ 3. Produce a Coverage Summary: test added, case covered
139
+
140
+ ---
141
+
142
+ ## Step 5a — Implementation, low-risk (implementer)
143
+
144
+ Invoke `implementer` with the Task Card.
145
+ Implementer creates a Git Worktree before touching any file; all edits happen inside it.
146
+
147
+ implementer must:
148
+
149
+ 1. Apply the minimal hardening change — no unrelated changes
150
+ 2. Run the suite and make the RED regression test pass
151
+ 3. Produce an Implementation Summary: weakness, change applied, files changed
152
+
153
+ ---
154
+
155
+ ## Step 5b — Implementation, medium/high-risk (implementer)
156
+
157
+ Invoke `implementer` with the approved Technical Plan and the Task Card.
158
+ Implementer creates a Git Worktree before touching any file; all edits happen inside it.
159
+
160
+ implementer must follow the plan exactly. Any deviation requires a new Technical
161
+ Plan approval. After implementation, run the full test suite. No exploit code.
162
+
163
+ ---
164
+
165
+ ## Step 6 — Review (Reviewer role) — medium/high-risk only
166
+
167
+ Invoke `reviewer` with the diff and Task Card. The Reviewer must apply the OWASP
168
+ rules in the `security` skill.
169
+
170
+ reviewer produces a Review Report with CRITICAL / WARNING / SUGGESTION findings.
171
+ If any CRITICAL findings exist, **STOP**. Do not close the task until they are
172
+ resolved.
173
+
174
+ ---
175
+
176
+ ## Completion
177
+
178
+ Report: Task Card, Implementation Summary, regression test added, Review Report
179
+ (if applicable). The task is complete only when: the regression test passes, the
180
+ full suite passes, and no CRITICAL review findings remain.
@@ -18,6 +18,19 @@ Describe what behavior you want to implement. Include:
18
18
 
19
19
  ---
20
20
 
21
+ ## Step 0 — CCEP Bootstrap
22
+
23
+ Command: `tdd-cycle` (fixed for this workflow — do not infer from user text)
24
+
25
+ 1. Run: `npx cc-codeconductor ccep parse --command tdd-cycle "$ARGUMENTS" --output json`
26
+ 2. Run: `npx cc-codeconductor ccep resolve --command tdd-cycle "$ARGUMENTS" --output json`
27
+ 3. Run: `npx cc-codeconductor ccep profile tdd-cycle --output json`
28
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command tdd-cycle --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
29
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
30
+ Canonical delivery order is test-before-implement whenever both phases apply.
31
+
32
+ ---
33
+
21
34
  ## Before you begin — mandatory pre-check
22
35
 
23
36
  This command enforces strict TDD discipline. The three phases are sequential and
@@ -30,6 +43,17 @@ non-negotiable:
30
43
  Do not write implementation code during RED. Do not refactor during GREEN.
31
44
  Mixing phases invalidates the cycle.
32
45
 
46
+ ## Verifiable phase gates
47
+
48
+ RED → GREEN and GREEN → REFACTOR are enforced by `tddCycleStateMachine` in
49
+ `domain/loop`. Evidence must be captured with `captureTddSuiteEvidence` (verification
50
+ runner) — do not hand-edit JSON under `.codeconductor/evidence/`.
51
+
52
+ - RED→GREEN requires runner evidence that the suite **failed**.
53
+ - GREEN→REFACTOR requires runner evidence that the suite **passed**.
54
+
55
+ Do not advance phases until that evidence exists.
56
+
33
57
  ---
34
58
 
35
59
  ## Phase 1 — RED (Tester role)
@@ -21,6 +21,18 @@ If $ARGUMENTS is empty, describe the scope in your next message before invoking
21
21
 
22
22
  ---
23
23
 
24
+ ## Step 0 — CCEP Bootstrap
25
+
26
+ Command: `test-plan` (fixed for this workflow — do not infer from user text)
27
+
28
+ 1. Run: `npx cc-codeconductor ccep parse --command test-plan "$ARGUMENTS" --output json`
29
+ 2. Run: `npx cc-codeconductor ccep resolve --command test-plan "$ARGUMENTS" --output json`
30
+ 3. Run: `npx cc-codeconductor ccep profile test-plan --output json`
31
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command test-plan --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
32
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
33
+
34
+ ---
35
+
24
36
  ## Step 1 — Scope confirmation
25
37
 
26
38
  Before invoking `tester`, confirm the scope is well-defined.
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: cc-triage
3
+ description:
4
+ Classify a request into type, risk, and the destination CodeConductor command.
5
+ ---
6
+
7
+ # Triage Workflow
8
+
9
+ Triage request: $ARGUMENTS
10
+
11
+ ## Step 0 — CCEP Bootstrap
12
+
13
+ Command: `triage` (fixed for this workflow — do not infer from user text)
14
+
15
+ 1. Run: `npx cc-codeconductor ccep parse --command triage "$ARGUMENTS" --output json`
16
+ 2. Run: `npx cc-codeconductor ccep resolve --command triage "$ARGUMENTS" --output json`
17
+ 3. Run: `npx cc-codeconductor ccep profile triage --output json`
18
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command triage --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
19
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
20
+
21
+ ---
22
+
23
+ ## Step 1 — Classify (task-coach)
24
+
25
+ Invoke `task-coach`. Produce: title, type (`feature` | `fix` | `refactor` | `review` | `docs` | `test`), risk, named scope, and the destination command (`feature`, `fix`, `refactor`, `review`, `explore`, …).
26
+
27
+ Ask one question per unresolved branch. If the human is unavailable, emit a Markdown questionnaire and stop at ConfirmationGate.
28
+
29
+ **STOP here. Show the classification and wait for confirmation before running the destination workflow.**
30
+
31
+ ---
32
+
33
+ ## Completion
34
+
35
+ Do not implement. Hand the human a destination slash command and a partial Task Card.
@@ -384,6 +384,20 @@ contract tests. Does not write production code.
384
384
  - Cover three cases for every behavior: happy path, edge case, error case.
385
385
  - Test names must describe what is being tested and the expected outcome.
386
386
 
387
+ **Anti-pattern checklist** — before declaring tests ready, verify none of
388
+ these apply:
389
+
390
+ - **Implementation-coupled** — the test asserts internal implementation
391
+ details (private state, call order, mock invocations) instead of observable
392
+ behavior. It breaks when the implementation is refactored even if the
393
+ behavior is unchanged.
394
+ - **Tautological** — the test asserts something that cannot fail given the
395
+ test's own setup (e.g., asserting a value the test itself just hardcoded).
396
+ It always passes regardless of the code under test.
397
+ - **Horizontal slicing** — the test spans multiple unrelated behaviors or
398
+ layers in one assertion block instead of a single vertical slice of one
399
+ behavior.
400
+
387
401
  **Test types:**
388
402
 
389
403
  | Type | When to write |
@@ -494,6 +508,56 @@ _(none)_ if no suggestions
494
508
  - **Verdict justification**: [one sentence]
495
509
  ```
496
510
 
511
+
512
+ **Two-Axis Review Model (Standards + Spec)**
513
+
514
+ The Reviewer role executes two independent, parallel sub-agents without reranking between them:
515
+
516
+ 1.
517
+
518
+ _El modelo de dos ejes (Standards, Spec) es la estructura de ejecución de `/cc:review`; los review axes listados en la tabla anterior se aplican DENTRO de cada eje._ **Standards Axis** — Code smell detection against the Fowler baseline (Long Method, Large Class, Duplicated Code, Feature Envy, Shotgun Surgery, Primitive Obsession, Data Clumps, Switch Statements, Speculative Generality, Temporary Fields, Message Chains, Middle Man, Inappropriate Intimacy, Data Class, Comments-as-apology), with documented override allowed via repo standards documentation (e.g., CONTEXT.md or project norms).
519
+
520
+ 2. **Spec Axis** — Alignment with Task Card, acceptance criteria, and scope boundaries.
521
+
522
+ Each axis produces findings independently. **No reranking** occurs between axes — each axis is evaluated in parallel and its findings remain independent. After parallel execution, a **combined verdict** integrates findings from both axes:
523
+
524
+ - If either axis finds CRITICAL issues → verdict is `blocked`
525
+ - Else if either axis finds WARNING → verdict is `approved with warnings`
526
+ - Else → verdict is `approved`
527
+
528
+ **Two-Axis Review Report format:**
529
+
530
+ ```markdown
531
+ ## Review Report
532
+
533
+ **Task**: [objective from Task Card] **Verdict**: [approved | approved with warnings | blocked]
534
+
535
+ ---
536
+
537
+ ### Standards Axis
538
+
539
+ Applies Fowler code smell baseline with documented overrides.
540
+
541
+ - [ ] [S1] [file:line] — [code smell] | Override: [documented or N/A] | Required action: [what must change] (CRITICAL) or Recommended action: [what must change] (WARNING)
542
+
543
+ _(none)_ if no findings
544
+
545
+ ### Spec Axis
546
+
547
+ Validates Task Card, acceptance criteria, and scope alignment.
548
+
549
+ - [ ] [Sp1] [criterion number] — [description] | Evidence: [quote] | Required action: [what must change] (CRITICAL) or Recommended action: [what must change] (WARNING)
550
+
551
+ _(none)_ if no findings
552
+
553
+ ### Combined Summary
554
+
555
+ - Standards findings: [count] (X CRITICAL, Y WARNING, Z SUGGESTION)
556
+ - Spec findings: [count] (X CRITICAL, Y WARNING, Z SUGGESTION)
557
+ - **Combined Verdict**: [approved | approved with warnings | blocked]
558
+ - **Verdict justification**: [one sentence]
559
+ ```
560
+
497
561
  ---
498
562
 
499
563
  ### Complexity Auditor
@@ -674,6 +738,10 @@ apply `.claude/skills/php-pro/SKILL.md`.
674
738
  When the active task touches backend security, authorization, or data verification,
675
739
  apply `.claude/skills/security/SKILL.md`.
676
740
 
741
+ When the active task is authorized security work (recon, assessment, IR, hunting,
742
+ or a named domain), apply the matching `.claude/skills/security-*` skill (for example
743
+ `.claude/skills/security-web/SKILL.md`) and run `/cc-security`.
744
+
677
745
  When the active task requires debugging frontend interactions or accessibility (a11y) checks,
678
746
  apply `.claude/skills/a11y-debugging/SKILL.md` and `.claude/skills/modern-web-guidance/SKILL.md`.
679
747
 
@@ -8,6 +8,18 @@ description: >-
8
8
 
9
9
  API contract request: $ARGUMENTS
10
10
 
11
+ ## Step 0 — CCEP Bootstrap
12
+
13
+ Command: `api-contract` (fixed for this workflow — do not infer from user text)
14
+
15
+ 1. Run: `npx cc-codeconductor ccep parse --command api-contract "$ARGUMENTS" --output json`
16
+ 2. Run: `npx cc-codeconductor ccep resolve --command api-contract "$ARGUMENTS" --output json`
17
+ 3. Run: `npx cc-codeconductor ccep profile api-contract --output json`
18
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command api-contract --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
19
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
20
+
21
+ ---
22
+
11
23
  ## Step 1 — Task Card validation (Task Coach role)
12
24
 
13
25
  Adopt the **Task Coach** role as defined in `CLAUDE.md`.
@@ -0,0 +1,56 @@
1
+ ---
2
+ description: >-
3
+ [cc: alias] Recommend one CodeConductor slash command from a natural-language
4
+ problem. Does not start that workflow.
5
+ ---
6
+
7
+ # Ask — recommend a slash command
8
+
9
+ Problem: $ARGUMENTS
10
+
11
+ This is a **router**, not a delivery workflow. Recommend exactly one command.
12
+ Do **not** run the recommended `/cc:` command unless the human confirms.
13
+
14
+ ---
15
+
16
+ ## Step 1 — Recommend (deterministic)
17
+
18
+ Run (local repo: `bun run dev`; published package: `npx cc-codeconductor`):
19
+
20
+ ```bash
21
+ bun run dev ask "$ARGUMENTS" --output json
22
+ ```
23
+
24
+ or:
25
+
26
+ ```bash
27
+ npx cc-codeconductor ask "$ARGUMENTS" --output json
28
+ ```
29
+
30
+ The catalog is only:
31
+
32
+ | Slash | When |
33
+ | ----- | ---- |
34
+ | `/cc:feature` | new behavior |
35
+ | `/cc:fix` | bug / regression |
36
+ | `/cc:refactor` | structure, no behavior change |
37
+ | `/cc:review` | inspect a diff/PR |
38
+ | `/cc:tdd-cycle` | red → green → refactor |
39
+ | `/cc:backlog` | create or append BACKLOG.md / objectives |
40
+ | `/cc:openspec` | BACKLOG / BC-xxx delivery |
41
+
42
+ If the CLI is unavailable, apply the same catalog and the same priority:
43
+ backlog (author) vs openspec (deliver) → tdd-cycle → review → refactor → fix → feature (default).
44
+
45
+ ---
46
+
47
+ ## Step 2 — Show and stop
48
+
49
+ Print:
50
+
51
+ - **Recommended:** the slash command
52
+ - **Why:** one or two sentences from the CLI `reason` (or your matching)
53
+
54
+ **STOP.** Wait for the human. Do not invoke the recommended workflow.
55
+
56
+ For a full preset inventory (skills, commands on disk), use `/cc:help` / `cc-help`.