claude-flow-novice 2.8.1 → 2.9.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 (755) hide show
  1. package/.claude/agents/{coordinators → cfn-dev-team/coordinators}/README.md +2 -2
  2. package/.claude/agents/{coordinators → cfn-dev-team/coordinators}/cfn-v3-coordinator.md +1 -1
  3. package/.claude/agents/{coordinators → cfn-dev-team/coordinators}/cto-agent.md +1 -1
  4. package/.claude/agents/{coordinators → cfn-dev-team/coordinators}/product-owner-agent.md +1 -1
  5. package/.claude/agents/{coordinators → cfn-dev-team/coordinators}/product-owner.md +2 -2
  6. package/.claude/agents/{developers → cfn-dev-team/developers}/README.md +1 -1
  7. package/.claude/agents/{developers → cfn-dev-team/developers}/coder.md +1 -1
  8. package/.claude/agents/{reviewers → cfn-dev-team/reviewers}/code-quality-validator.md +1 -1
  9. package/.claude/agents/{reviewers → cfn-dev-team/reviewers}/reviewer.md +1 -1
  10. package/.claude/agents/{testers → cfn-dev-team/testers}/e2e/playwright-agent.md +1 -1
  11. package/.claude/agents/{testers → cfn-dev-team/testers}/interaction-tester.md +1 -1
  12. package/.claude/agents/{testers → cfn-dev-team/testers}/unit/tdd-london-swarm.md +1 -1
  13. package/.claude/agents/{testers → cfn-dev-team/testers}/validation/production-validator.md +1 -1
  14. package/.claude/commands/{CFN_COORDINATOR_PARAMETERS.md → cfn/CFN_COORDINATOR_PARAMETERS.md} +15 -15
  15. package/.claude/commands/{cfn-loop-epic.md → cfn/cfn-loop-epic.md} +4 -4
  16. package/.claude/commands/{cfn-loop-single.md → cfn/cfn-loop-single.md} +7 -7
  17. package/.claude/commands/{cfn-loop-sprints.md → cfn/cfn-loop-sprints.md} +1 -1
  18. package/.claude/commands/{cfn-loop.md → cfn/cfn-loop.md} +7 -7
  19. package/.claude/commands/{cfn-optimize-agents.md → cfn/cfn-optimize-agents.md} +1 -1
  20. package/.claude/commands/{context-curate.md → cfn/context-curate.md} +2 -2
  21. package/.claude/commands/{context-inject.md → cfn/context-inject.md} +3 -3
  22. package/.claude/commands/{context-reflect.md → cfn/context-reflect.md} +1 -1
  23. package/.claude/commands/{context-stats.md → cfn/context-stats.md} +1 -1
  24. package/.claude/commands/{list-agents-rebuild.md → cfn/list-agents-rebuild.md} +12 -12
  25. package/{CLAUDE.md → CFN-CLAUDE.md} +19 -19
  26. package/dist/cli/config-manager.js +91 -109
  27. package/dist/cli/config-manager.js.map +1 -1
  28. package/dist/cli/init-command.js +20 -0
  29. package/dist/cli/init-command.js.map +1 -0
  30. package/package.json +13 -7
  31. package/scripts/init-project.js +148 -0
  32. package/scripts/restructure-cfn-namespace.sh +161 -0
  33. package/.claude/SLASH-COMMANDS-READY.md +0 -53
  34. package/.claude/WORKING-SETUP.md +0 -67
  35. package/.claude/ace-system-overview.md +0 -524
  36. package/.claude/adaptive-context/cfn-v3-reflection.json +0 -21
  37. package/.claude/agent-principles/agent-template.md +0 -96
  38. package/.claude/agents/AGENT_LIFECYCLE.md +0 -495
  39. package/.claude/agents/CLAUDE.md +0 -1002
  40. package/.claude/agents/README-VALIDATION.md +0 -243
  41. package/.claude/agents/accessibility-advocate.md +0 -457
  42. package/.claude/agents/agent-principles/README.md +0 -226
  43. package/.claude/agents/agent-principles/agent-type-guidelines.md +0 -475
  44. package/.claude/agents/agent-principles/format-selection.md +0 -234
  45. package/.claude/agents/agent-principles/phase4-template-optimization.md +0 -502
  46. package/.claude/agents/agent-principles/prompt-engineering.md +0 -509
  47. package/.claude/agents/agent-principles/quality-metrics.md +0 -383
  48. package/.claude/agents/analysis/code-analyzer.md +0 -182
  49. package/.claude/agents/analysis/code-review/analyze-code-quality.md +0 -31
  50. package/.claude/agents/analysis/perf-analyzer.md +0 -36
  51. package/.claude/agents/context/context-curator.md +0 -78
  52. package/.claude/agents/context/context-reflector.md +0 -27
  53. package/.claude/agents/core-agents/reviewer.md +0 -121
  54. package/.claude/agents/custom/agent-builder.md +0 -637
  55. package/.claude/agents/development/backend/dev-backend-api.md +0 -110
  56. package/.claude/agents/development/npm-package-specialist.md +0 -355
  57. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +0 -106
  58. package/.claude/agents/documentation/api-docs.md +0 -111
  59. package/.claude/agents/frontend/README.md +0 -640
  60. package/.claude/agents/github/github-commit-agent.md +0 -126
  61. package/.claude/agents/goal/goal-planner.md +0 -191
  62. package/.claude/agents/infrastructure/README.md +0 -100
  63. package/.claude/agents/infrastructure/devops-engineer.md +0 -131
  64. package/.claude/agents/planners/README.md +0 -94
  65. package/.claude/agents/planners/analyst.md +0 -149
  66. package/.claude/agents/planners/api-designer-persona.md +0 -155
  67. package/.claude/agents/planners/architect.md +0 -187
  68. package/.claude/agents/planners/planner.md +0 -153
  69. package/.claude/agents/planners/security-architect-persona.md +0 -170
  70. package/.claude/agents/planners/system-architect-persona.md +0 -158
  71. package/.claude/agents/planners/system-architect.md +0 -156
  72. package/.claude/agents/product-owner-team/accessibility-advocate-persona.md +0 -132
  73. package/.claude/agents/product-owner-team/power-user-persona.md +0 -149
  74. package/.claude/agents/retrospective-analyst.md +0 -84
  75. package/.claude/agents/sparc/architecture.md +0 -130
  76. package/.claude/agents/sparc/pseudocode.md +0 -165
  77. package/.claude/agents/sparc/refinement.md +0 -112
  78. package/.claude/agents/sparc/specification.md +0 -158
  79. package/.claude/agents/specialists/README.md +0 -60
  80. package/.claude/agents/specialists/base-template-generator.md +0 -175
  81. package/.claude/agents/specialists/cli-agent-optimizer.md +0 -122
  82. package/.claude/agents/specialists/code-booster.md +0 -144
  83. package/.claude/agents/specialists/consensus-builder.md +0 -143
  84. package/.claude/agents/specialists/crdt-synchronizer.md +0 -192
  85. package/.claude/agents/specialists/mobile-dev.md +0 -190
  86. package/.claude/agents/specialists/performance-benchmarker.md +0 -134
  87. package/.claude/agents/specialists/quorum-manager.md +0 -168
  88. package/.claude/agents/specialists/raft-manager.md +0 -106
  89. package/.claude/agents/specialists/rust-developer.md +0 -147
  90. package/.claude/agents/specialists/rust-enterprise-developer.md +0 -125
  91. package/.claude/agents/specialists/rust-mvp-developer.md +0 -123
  92. package/.claude/agents/specialists/security-manager.md +0 -91
  93. package/.claude/agents/specialists/security-specialist-existing.md +0 -103
  94. package/.claude/agents/specialists/security-specialist.md +0 -161
  95. package/.claude/agents/specialists/spec-mobile-react-native.md +0 -172
  96. package/.claude/agents/validate-agent.js +0 -841
  97. package/.claude/agents-ignore/cfn-coordinator-enterprise.md +0 -1303
  98. package/.claude/agents-ignore/cfn-coordinator-mvp.md +0 -942
  99. package/.claude/agents-ignore/cfn-coordinator-standard.md +0 -1062
  100. package/.claude/agents-ignore/cfn-loop-coordinator.md +0 -157
  101. package/.claude/agents-ignore/cfn-loop-coordinator.md.backup +0 -156
  102. package/.claude/agents-ignore/coordinator.md +0 -182
  103. package/.claude/agents-ignore/coordinator.md.backup +0 -182
  104. package/.claude/agents-ignore/cost-savings-cfn-loop-coordinator.md +0 -760
  105. package/.claude/agents-ignore/cost-savings-coordinator.md +0 -173
  106. package/.claude/agents-ignore/cost-savings-coordinator.md.backup +0 -167
  107. package/.claude/agents-ignore/deprecated-coordinators/adaptive-coordinator-enhanced.md +0 -145
  108. package/.claude/agents-ignore/deprecated-coordinators/adaptive-coordinator.md +0 -161
  109. package/.claude/agents-ignore/deprecated-coordinators/blocking-coordinator-example.md +0 -732
  110. package/.claude/agents-ignore/deprecated-coordinators/byzantine-coordinator.md +0 -94
  111. package/.claude/agents-ignore/deprecated-coordinators/cfn-coordinator-enterprise.md +0 -323
  112. package/.claude/agents-ignore/deprecated-coordinators/cfn-coordinator-mvp.md +0 -157
  113. package/.claude/agents-ignore/deprecated-coordinators/cfn-coordinator-standard.md +0 -229
  114. package/.claude/agents-ignore/deprecated-coordinators/cfn-coordinator-unified.md +0 -149
  115. package/.claude/agents-ignore/deprecated-coordinators/coordinator-hybrid.md +0 -231
  116. package/.claude/agents-ignore/deprecated-coordinators/gossip-coordinator.md +0 -165
  117. package/.claude/agents-ignore/deprecated-coordinators/hierarchical-coordinator.md +0 -91
  118. package/.claude/agents-ignore/deprecated-coordinators/mesh-coordinator.md +0 -131
  119. package/.claude/agents-ignore/deprecated-coordinators/task-coordinator.md +0 -105
  120. package/.claude/agents-ignore/deprecated-coordinators/test-coordinator.md +0 -141
  121. package/.claude/architecture/mesh-get-polling-design.md +0 -87
  122. package/.claude/architecture/mesh-get-polling-implementation.md +0 -89
  123. package/.claude/architecture/typescript-microservices.md +0 -50
  124. package/.claude/artifacts/ace-reflections/REFLECT-001-summary.json +0 -39
  125. package/.claude/artifacts/ace-reflections/sprint-7_$(date -u +/"%Y%m%d_%H%M%S/").json" +0 -47
  126. package/.claude/artifacts/reflection-merge-logs/cli-agent-spawning-v2.5.2-merge-report.md +0 -61
  127. package/.claude/cfn-loop-rules.md +0 -73
  128. package/.claude/cfn-mode-patterns.md +0 -571
  129. package/.claude/claude-md-backup-pre-skills.md +0 -15
  130. package/.claude/commands/agents/README.md +0 -10
  131. package/.claude/commands/agents/agent-capabilities.md +0 -21
  132. package/.claude/commands/agents/agent-coordination.md +0 -28
  133. package/.claude/commands/agents/agent-spawning.md +0 -28
  134. package/.claude/commands/agents/agent-types.md +0 -26
  135. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
  136. package/.claude/commands/analysis/README.md +0 -9
  137. package/.claude/commands/analysis/bottleneck-detect.md +0 -162
  138. package/.claude/commands/analysis/performance-bottlenecks.md +0 -59
  139. package/.claude/commands/analysis/performance-report.md +0 -25
  140. package/.claude/commands/analysis/token-efficiency.md +0 -45
  141. package/.claude/commands/analysis/token-usage.md +0 -25
  142. package/.claude/commands/automation/README.md +0 -9
  143. package/.claude/commands/automation/auto-agent.md +0 -122
  144. package/.claude/commands/automation/self-healing.md +0 -106
  145. package/.claude/commands/automation/session-memory.md +0 -90
  146. package/.claude/commands/automation/smart-agents.md +0 -73
  147. package/.claude/commands/automation/smart-spawn.md +0 -25
  148. package/.claude/commands/automation/workflow-select.md +0 -25
  149. package/.claude/commands/claude-md.js +0 -237
  150. package/.claude/commands/claude-soul.js +0 -28
  151. package/.claude/commands/cli-integration.js +0 -216
  152. package/.claude/commands/coordination/README.md +0 -9
  153. package/.claude/commands/coordination/agent-spawn.md +0 -25
  154. package/.claude/commands/coordination/coordination-system.md +0 -88
  155. package/.claude/commands/coordination/init.md +0 -44
  156. package/.claude/commands/coordination/orchestrate.md +0 -43
  157. package/.claude/commands/coordination/spawn.md +0 -45
  158. package/.claude/commands/coordination/swarm-init.md +0 -85
  159. package/.claude/commands/coordination/task-orchestrate.md +0 -25
  160. package/.claude/commands/github/README.md +0 -11
  161. package/.claude/commands/github/code-review-swarm.md +0 -514
  162. package/.claude/commands/github/code-review.md +0 -25
  163. package/.claude/commands/github/github-modes.md +0 -147
  164. package/.claude/commands/github/github-swarm.md +0 -121
  165. package/.claude/commands/github/issue-tracker.md +0 -292
  166. package/.claude/commands/github/issue-triage.md +0 -25
  167. package/.claude/commands/github/multi-repo-swarm.md +0 -519
  168. package/.claude/commands/github/pr-enhance.md +0 -26
  169. package/.claude/commands/github/pr-manager.md +0 -170
  170. package/.claude/commands/github/project-board-sync.md +0 -471
  171. package/.claude/commands/github/release-manager.md +0 -338
  172. package/.claude/commands/github/release-swarm.md +0 -544
  173. package/.claude/commands/github/repo-analyze.md +0 -25
  174. package/.claude/commands/github/repo-architect.md +0 -367
  175. package/.claude/commands/github/swarm-issue.md +0 -482
  176. package/.claude/commands/github/swarm-pr.md +0 -285
  177. package/.claude/commands/github/sync-coordinator.md +0 -301
  178. package/.claude/commands/github/workflow-automation.md +0 -442
  179. package/.claude/commands/github.js +0 -638
  180. package/.claude/commands/hive-mind/README.md +0 -17
  181. package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -8
  182. package/.claude/commands/hive-mind/hive-mind-init.md +0 -18
  183. package/.claude/commands/hive-mind/hive-mind-memory.md +0 -8
  184. package/.claude/commands/hive-mind/hive-mind-metrics.md +0 -8
  185. package/.claude/commands/hive-mind/hive-mind-resume.md +0 -8
  186. package/.claude/commands/hive-mind/hive-mind-sessions.md +0 -8
  187. package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -21
  188. package/.claude/commands/hive-mind/hive-mind-status.md +0 -8
  189. package/.claude/commands/hive-mind/hive-mind-stop.md +0 -8
  190. package/.claude/commands/hive-mind/hive-mind-wizard.md +0 -8
  191. package/.claude/commands/hive-mind/hive-mind.md +0 -27
  192. package/.claude/commands/hooks/README.md +0 -11
  193. package/.claude/commands/hooks/overview.md +0 -58
  194. package/.claude/commands/hooks/post-edit.md +0 -117
  195. package/.claude/commands/hooks/post-task.md +0 -112
  196. package/.claude/commands/hooks/pre-edit.md +0 -113
  197. package/.claude/commands/hooks/pre-task.md +0 -111
  198. package/.claude/commands/hooks/session-end.md +0 -118
  199. package/.claude/commands/hooks/session-start.md +0 -9
  200. package/.claude/commands/hooks/setup.md +0 -103
  201. package/.claude/commands/hooks.js +0 -651
  202. package/.claude/commands/index.js +0 -119
  203. package/.claude/commands/memory/README.md +0 -9
  204. package/.claude/commands/memory/memory-bank.md +0 -58
  205. package/.claude/commands/memory/memory-persist.md +0 -25
  206. package/.claude/commands/memory/memory-search.md +0 -25
  207. package/.claude/commands/memory/memory-usage.md +0 -25
  208. package/.claude/commands/memory/neural.md +0 -47
  209. package/.claude/commands/memory/usage.md +0 -46
  210. package/.claude/commands/monitoring/README.md +0 -9
  211. package/.claude/commands/monitoring/agent-metrics.md +0 -25
  212. package/.claude/commands/monitoring/agents.md +0 -44
  213. package/.claude/commands/monitoring/real-time-view.md +0 -25
  214. package/.claude/commands/monitoring/status.md +0 -46
  215. package/.claude/commands/monitoring/swarm-monitor.md +0 -25
  216. package/.claude/commands/neural.js +0 -572
  217. package/.claude/commands/optimization/README.md +0 -9
  218. package/.claude/commands/optimization/auto-topology.md +0 -62
  219. package/.claude/commands/optimization/cache-manage.md +0 -25
  220. package/.claude/commands/optimization/parallel-execute.md +0 -25
  221. package/.claude/commands/optimization/parallel-execution.md +0 -50
  222. package/.claude/commands/optimization/topology-optimize.md +0 -25
  223. package/.claude/commands/pair/README.md +0 -261
  224. package/.claude/commands/pair/commands.md +0 -546
  225. package/.claude/commands/pair/config.md +0 -510
  226. package/.claude/commands/pair/examples.md +0 -512
  227. package/.claude/commands/pair/modes.md +0 -348
  228. package/.claude/commands/pair/session.md +0 -407
  229. package/.claude/commands/pair/start.md +0 -209
  230. package/.claude/commands/parse-epic.js +0 -180
  231. package/.claude/commands/performance.js +0 -582
  232. package/.claude/commands/register-all-commands.js +0 -320
  233. package/.claude/commands/register-claude-md.js +0 -82
  234. package/.claude/commands/register-claude-soul.js +0 -80
  235. package/.claude/commands/sparc/analyzer.md +0 -52
  236. package/.claude/commands/sparc/architect.md +0 -53
  237. package/.claude/commands/sparc/batch-executor.md +0 -54
  238. package/.claude/commands/sparc/coder.md +0 -54
  239. package/.claude/commands/sparc/debugger.md +0 -54
  240. package/.claude/commands/sparc/designer.md +0 -53
  241. package/.claude/commands/sparc/documenter.md +0 -54
  242. package/.claude/commands/sparc/innovator.md +0 -54
  243. package/.claude/commands/sparc/memory-manager.md +0 -54
  244. package/.claude/commands/sparc/optimizer.md +0 -54
  245. package/.claude/commands/sparc/orchestrator.md +0 -132
  246. package/.claude/commands/sparc/researcher.md +0 -54
  247. package/.claude/commands/sparc/reviewer.md +0 -54
  248. package/.claude/commands/sparc/sparc-modes.md +0 -174
  249. package/.claude/commands/sparc/swarm-coordinator.md +0 -54
  250. package/.claude/commands/sparc/tdd.md +0 -54
  251. package/.claude/commands/sparc/tester.md +0 -54
  252. package/.claude/commands/sparc/workflow-manager.md +0 -54
  253. package/.claude/commands/sparc.js +0 -110
  254. package/.claude/commands/stream-chain/pipeline.md +0 -121
  255. package/.claude/commands/stream-chain/run.md +0 -70
  256. package/.claude/commands/swarm/README.md +0 -15
  257. package/.claude/commands/swarm/analysis.md +0 -95
  258. package/.claude/commands/swarm/development.md +0 -96
  259. package/.claude/commands/swarm/examples.md +0 -168
  260. package/.claude/commands/swarm/maintenance.md +0 -102
  261. package/.claude/commands/swarm/optimization.md +0 -117
  262. package/.claude/commands/swarm/research.md +0 -136
  263. package/.claude/commands/swarm/swarm-analysis.md +0 -8
  264. package/.claude/commands/swarm/swarm-background.md +0 -8
  265. package/.claude/commands/swarm/swarm-init.md +0 -19
  266. package/.claude/commands/swarm/swarm-modes.md +0 -8
  267. package/.claude/commands/swarm/swarm-monitor.md +0 -8
  268. package/.claude/commands/swarm/swarm-spawn.md +0 -19
  269. package/.claude/commands/swarm/swarm-status.md +0 -8
  270. package/.claude/commands/swarm/swarm-strategies.md +0 -8
  271. package/.claude/commands/swarm/swarm.md +0 -27
  272. package/.claude/commands/swarm/testing.md +0 -131
  273. package/.claude/commands/swarm.js +0 -423
  274. package/.claude/commands/testing/playwright-e2e.md +0 -288
  275. package/.claude/commands/training/README.md +0 -9
  276. package/.claude/commands/training/model-update.md +0 -25
  277. package/.claude/commands/training/neural-patterns.md +0 -74
  278. package/.claude/commands/training/neural-train.md +0 -25
  279. package/.claude/commands/training/pattern-learn.md +0 -25
  280. package/.claude/commands/training/specialization.md +0 -63
  281. package/.claude/commands/truth/start.md +0 -143
  282. package/.claude/commands/validate-commands.js +0 -223
  283. package/.claude/commands/verify/check.md +0 -50
  284. package/.claude/commands/verify/start.md +0 -128
  285. package/.claude/commands/workflow.js +0 -606
  286. package/.claude/commands/workflows/README.md +0 -9
  287. package/.claude/commands/workflows/development.md +0 -78
  288. package/.claude/commands/workflows/research.md +0 -63
  289. package/.claude/commands/workflows/workflow-create.md +0 -25
  290. package/.claude/commands/workflows/workflow-execute.md +0 -25
  291. package/.claude/commands/workflows/workflow-export.md +0 -25
  292. package/.claude/coordinator-feedback-pattern.md +0 -326
  293. package/.claude/coordinator-patterns.md +0 -126
  294. package/.claude/core/agent-manager.js +0 -80
  295. package/.claude/core/agent-manager.js.map +0 -1
  296. package/.claude/core/config.js +0 -1221
  297. package/.claude/core/config.js.map +0 -1
  298. package/.claude/core/event-bus.js +0 -136
  299. package/.claude/core/event-bus.js.map +0 -1
  300. package/.claude/core/index.js +0 -6
  301. package/.claude/core/index.js.map +0 -1
  302. package/.claude/core/json-persistence.js +0 -112
  303. package/.claude/core/json-persistence.js.map +0 -1
  304. package/.claude/core/logger.js +0 -245
  305. package/.claude/core/logger.js.map +0 -1
  306. package/.claude/core/orchestrator-fixed.js +0 -236
  307. package/.claude/core/orchestrator-fixed.js.map +0 -1
  308. package/.claude/core/orchestrator.js +0 -1136
  309. package/.claude/core/orchestrator.js.map +0 -1
  310. package/.claude/core/persistence.js +0 -185
  311. package/.claude/core/persistence.js.map +0 -1
  312. package/.claude/core/project-manager.js +0 -80
  313. package/.claude/core/project-manager.js.map +0 -1
  314. package/.claude/core/slash-command.js +0 -24
  315. package/.claude/core/version.js +0 -35
  316. package/.claude/core/version.js.map +0 -1
  317. package/.claude/helpers/checkpoint-manager.sh +0 -251
  318. package/.claude/helpers/github-safe.js +0 -106
  319. package/.claude/helpers/github-setup.sh +0 -28
  320. package/.claude/helpers/quick-start.sh +0 -19
  321. package/.claude/helpers/setup-mcp.sh +0 -18
  322. package/.claude/helpers/standard-checkpoint-hooks.sh +0 -179
  323. package/.claude/hooks.json +0 -21
  324. package/.claude/logs/sprint1-hybrid-routing-v2-decision.json +0 -18
  325. package/.claude/prompts/cfn-loop-context.md +0 -115
  326. package/.claude/prompts/loop-specific/loop2.md +0 -50
  327. package/.claude/prompts/loop-specific/loop3.md +0 -43
  328. package/.claude/prompts/loop-specific/loop4.md +0 -54
  329. package/.claude/redis-agent-dependencies.md +0 -494
  330. package/.claude/root-claude-distribute/CLAUDE.md +0 -502
  331. package/.claude/settings.json +0 -129
  332. package/.claude/settings.local.json +0 -33
  333. package/.claude/skills/CFN-LOOP-VALIDATION.md +0 -202
  334. package/.claude/skills/REDIS-COORDINATION.md +0 -187
  335. package/.claude/skills/SKILL.md +0 -229
  336. package/.claude/skills/ace-system/SKILL.md +0 -364
  337. package/.claude/skills/ace-system/add-bullet.sh +0 -145
  338. package/.claude/skills/ace-system/invoke-context-curate.sh +0 -192
  339. package/.claude/skills/ace-system/invoke-context-inject.sh +0 -166
  340. package/.claude/skills/ace-system/invoke-context-query.sh +0 -127
  341. package/.claude/skills/ace-system/invoke-context-reflect.sh +0 -98
  342. package/.claude/skills/ace-system/invoke-context-stats.sh +0 -188
  343. package/.claude/skills/ace-system/log-merge.sh +0 -67
  344. package/.claude/skills/ace-system/query-reflections.sh +0 -35
  345. package/.claude/skills/ace-system/sprint-7-lessons.json +0 -46
  346. package/.claude/skills/ace-system/store-reflection.sh +0 -46
  347. package/.claude/skills/ace-system/test-ace-skill.sh +0 -312
  348. package/.claude/skills/ace-system/update-reflection.sh +0 -41
  349. package/.claude/skills/agent-discovery/SKILL.md +0 -40
  350. package/.claude/skills/agent-discovery/agents-registry-clean.json +0 -0
  351. package/.claude/skills/agent-discovery/agents-registry-fixed.json +0 -19
  352. package/.claude/skills/agent-discovery/agents-registry.json +0 -718
  353. package/.claude/skills/agent-discovery/discover-agents.py +0 -175
  354. package/.claude/skills/agent-discovery/discover-agents.sh +0 -87
  355. package/.claude/skills/agent-discovery/invoke-registry.sh +0 -11
  356. package/.claude/skills/agent-discovery/temp_script.py +0 -0
  357. package/.claude/skills/agent-execution/execute-agent.sh +0 -126
  358. package/.claude/skills/agent-output-processing/SKILL.md +0 -359
  359. package/.claude/skills/agent-selector/SKILL.md +0 -90
  360. package/.claude/skills/agent-selector/select-agents.sh +0 -96
  361. package/.claude/skills/agent-spawning/SKILL.md +0 -135
  362. package/.claude/skills/agent-spawning/agent-selection-guide.md +0 -814
  363. package/.claude/skills/agent-spawning/check-dependencies.sh +0 -30
  364. package/.claude/skills/agent-spawning/spawn-agent.sh +0 -263
  365. package/.claude/skills/agent-spawning/spawn-templates.sh +0 -613
  366. package/.claude/skills/agent-swap/SKILL.md +0 -36
  367. package/.claude/skills/agent-swap/recommend-swap.sh +0 -60
  368. package/.claude/skills/analytics/description-refinement-guide.md +0 -164
  369. package/.claude/skills/analytics/log-skill-invocation.js +0 -122
  370. package/.claude/skills/analytics/run-production-criteria-tests.sh +0 -126
  371. package/.claude/skills/analytics/skill-analytics-dashboard.js +0 -113
  372. package/.claude/skills/analytics/skill-invocation-hook.sh +0 -28
  373. package/.claude/skills/analytics/skill-invocations.sql +0 -58
  374. package/.claude/skills/analytics/test-corpus.json +0 -32
  375. package/.claude/skills/analytics/test-data-generator.js +0 -115
  376. package/.claude/skills/analytics/test-manual-override-rate.js +0 -285
  377. package/.claude/skills/analytics/validate-skill-selection.js +0 -188
  378. package/.claude/skills/api-validation/test-endpoints.sh +0 -54
  379. package/.claude/skills/automatic-memory-persistence/SKILL.md +0 -73
  380. package/.claude/skills/automatic-memory-persistence/persist-agent-output.sh +0 -49
  381. package/.claude/skills/automatic-memory-persistence/query-agent-history.sh +0 -35
  382. package/.claude/skills/automatic-memory-persistence/test-memory-persistence.sh +0 -235
  383. package/.claude/skills/cfn-loop-orchestration/SKILL.md +0 -299
  384. package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +0 -228
  385. package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +0 -84
  386. package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +0 -71
  387. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +0 -90
  388. package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +0 -87
  389. package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +0 -51
  390. package/.claude/skills/cfn-loop-orchestration/inject-loop-context.sh +0 -41
  391. package/.claude/skills/cfn-loop-orchestration/monitor-execution.sh +0 -156
  392. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +0 -840
  393. package/.claude/skills/cfn-loop-orchestration/security_utils.sh +0 -99
  394. package/.claude/skills/cfn-loop-orchestration/test-cfn-orchestration.sh +0 -281
  395. package/.claude/skills/cfn-loop-orchestration/test-edge-cases.sh +0 -188
  396. package/.claude/skills/cfn-loop-validation/SKILL.md +0 -353
  397. package/.claude/skills/cfn-loop-validation/check-dependencies.sh +0 -31
  398. package/.claude/skills/cfn-loop-validation/config.json +0 -161
  399. package/.claude/skills/cfn-loop-validation/consensus-calculator.js +0 -477
  400. package/.claude/skills/cfn-loop-validation/evidence-chain.sql +0 -163
  401. package/.claude/skills/cfn-loop-validation/examples/README.md +0 -453
  402. package/.claude/skills/cfn-loop-validation/examples/coordinator-full-cfn-loop.sh +0 -234
  403. package/.claude/skills/cfn-loop-validation/examples/coordinator-loop2-consensus.sh +0 -132
  404. package/.claude/skills/cfn-loop-validation/examples/coordinator-loop3-gate.sh +0 -115
  405. package/.claude/skills/cfn-loop-validation/examples/coordinator-redis-integration.sh +0 -186
  406. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +0 -252
  407. package/.claude/skills/cfn-loop-validation/validate-iteration.sh +0 -134
  408. package/.claude/skills/cfn-loop-validation.sh +0 -70
  409. package/.claude/skills/complexity-estimator/SKILL.md +0 -96
  410. package/.claude/skills/complexity-estimator/estimate-complexity.sh +0 -144
  411. package/.claude/skills/config-management/SKILL.md +0 -34
  412. package/.claude/skills/config-management/check-dependencies.sh +0 -56
  413. package/.claude/skills/config-management/config.json +0 -32
  414. package/.claude/skills/config-management/manage-config.sh +0 -113
  415. package/.claude/skills/consensus-calculator.js +0 -45
  416. package/.claude/skills/context-pruner/SKILL.md +0 -75
  417. package/.claude/skills/context-pruner/prune-context.sh +0 -73
  418. package/.claude/skills/defense-in-depth/SKILL.md +0 -133
  419. package/.claude/skills/dependency-extractor/SKILL.md +0 -35
  420. package/.claude/skills/dependency-extractor/extract-dependencies.sh +0 -66
  421. package/.claude/skills/epic-decomposer/SKILL.md +0 -44
  422. package/.claude/skills/epic-decomposer/decompose-epic.sh +0 -104
  423. package/.claude/skills/event-bus/SKILL.md +0 -412
  424. package/.claude/skills/event-bus/config.json +0 -111
  425. package/.claude/skills/event-bus/eventbus-wrapper.cjs +0 -69
  426. package/.claude/skills/event-bus/invoke-event-publish.sh +0 -147
  427. package/.claude/skills/event-bus/invoke-event-subscribe.sh +0 -171
  428. package/.claude/skills/event-bus/invoke-lifecycle-track.sh +0 -201
  429. package/.claude/skills/event-bus/test-event-bus.sh +0 -280
  430. package/.claude/skills/evidence-chain.sql +0 -66
  431. package/.claude/skills/fleet-manager/SKILL.md +0 -412
  432. package/.claude/skills/fleet-manager/config.json +0 -60
  433. package/.claude/skills/fleet-manager/invoke-fleet-allocate.sh +0 -182
  434. package/.claude/skills/fleet-manager/invoke-fleet-balance.sh +0 -239
  435. package/.claude/skills/fleet-manager/invoke-fleet-metrics.sh +0 -193
  436. package/.claude/skills/fleet-manager/invoke-fleet-register.sh +0 -124
  437. package/.claude/skills/fleet-manager/test-fleet-manager.sh +0 -345
  438. package/.claude/skills/hook-pipeline/SKILL.md +0 -148
  439. package/.claude/skills/hook-pipeline/auto-resolve.sh +0 -66
  440. package/.claude/skills/hook-pipeline/check-dependencies.sh +0 -40
  441. package/.claude/skills/hook-pipeline/feedback-resolver.sh +0 -452
  442. package/.claude/skills/hook-pipeline/post-edit-handler.sh +0 -154
  443. package/.claude/skills/hook-pipeline/security-scan.json +0 -60
  444. package/.claude/skills/hook-pipeline/security-scanner.sh +0 -121
  445. package/.claude/skills/hook-pipeline/test-root-warning-resolution.sh +0 -148
  446. package/.claude/skills/hybrid-routing/SKILL.md +0 -46
  447. package/.claude/skills/hybrid-routing/check-dependencies.sh +0 -52
  448. package/.claude/skills/hybrid-routing/config.json +0 -26
  449. package/.claude/skills/hybrid-routing/spawn-worker.sh +0 -44
  450. package/.claude/skills/improvement-recommender/SKILL.md +0 -33
  451. package/.claude/skills/improvement-recommender/recommend-improvements.sh +0 -92
  452. package/.claude/skills/intervention-detector/SKILL.md +0 -39
  453. package/.claude/skills/intervention-detector/detect-intervention.sh +0 -111
  454. package/.claude/skills/intervention-orchestrator/SKILL.md +0 -43
  455. package/.claude/skills/intervention-orchestrator/execute-intervention.sh +0 -59
  456. package/.claude/skills/loop2-output-processing/SKILL.md +0 -163
  457. package/.claude/skills/loop2-output-processing/execute-and-extract.sh +0 -77
  458. package/.claude/skills/loop2-output-processing/execute-and-extract.sh.backup +0 -36
  459. package/.claude/skills/loop2-output-processing/parse-feedback.sh +0 -147
  460. package/.claude/skills/loop2-output-processing/process-validator-output.sh +0 -275
  461. package/.claude/skills/loop2-output-processing/test-bug27-fix.sh +0 -200
  462. package/.claude/skills/loop2-output-processing/test-loop2-processing.sh +0 -113
  463. package/.claude/skills/loop3-output-processing/AGENT_COMPLETION_PROTOCOL.md +0 -206
  464. package/.claude/skills/loop3-output-processing/SKILL.md +0 -421
  465. package/.claude/skills/loop3-output-processing/calculate-confidence.sh +0 -28
  466. package/.claude/skills/loop3-output-processing/execute-and-extract.sh +0 -85
  467. package/.claude/skills/loop3-output-processing/parse-confidence.sh +0 -31
  468. package/.claude/skills/loop3-output-processing/test-agent-timeout.sh +0 -327
  469. package/.claude/skills/loop3-output-processing/test-loop3-processing.sh +0 -155
  470. package/.claude/skills/loop3-output-processing/verify-deliverables.sh +0 -42
  471. package/.claude/skills/pattern-extraction/SKILL.md +0 -30
  472. package/.claude/skills/pattern-extraction/extract-patterns.sh +0 -80
  473. package/.claude/skills/playbook/SKILL.md +0 -113
  474. package/.claude/skills/playbook/init-playbook.sh +0 -54
  475. package/.claude/skills/playbook/playbook.db +0 -0
  476. package/.claude/skills/playbook/query-playbook.sh +0 -79
  477. package/.claude/skills/playbook/update-playbook.sh +0 -69
  478. package/.claude/skills/playbook-auto-update/SKILL.md +0 -29
  479. package/.claude/skills/playbook-auto-update/auto-update-playbook.sh +0 -86
  480. package/.claude/skills/process-lifecycle/SKILL.md +0 -39
  481. package/.claude/skills/process-lifecycle/check-dependencies.sh +0 -58
  482. package/.claude/skills/process-lifecycle/config.json +0 -39
  483. package/.claude/skills/process-lifecycle/process-manager.sh +0 -144
  484. package/.claude/skills/product-owner-decision/SKILL.md +0 -332
  485. package/.claude/skills/product-owner-decision/execute-decision.sh +0 -176
  486. package/.claude/skills/product-owner-decision/parse-decision.sh +0 -66
  487. package/.claude/skills/product-owner-decision/validate-deliverables.sh +0 -82
  488. package/.claude/skills/redis-coordination/AGENT_LOGGING.md +0 -280
  489. package/.claude/skills/redis-coordination/BZPOPMIN_FIX_SUMMARY.md +0 -209
  490. package/.claude/skills/redis-coordination/HEARTBEAT.md +0 -57
  491. package/.claude/skills/redis-coordination/HEARTBEAT_MONITORING.md +0 -267
  492. package/.claude/skills/redis-coordination/LOGGING.md +0 -260
  493. package/.claude/skills/redis-coordination/SECURITY_REVIEW.md +0 -25
  494. package/.claude/skills/redis-coordination/SHUTDOWN_HANDLING.md +0 -164
  495. package/.claude/skills/redis-coordination/SKILL.md +0 -720
  496. package/.claude/skills/redis-coordination/agent-log.sh +0 -124
  497. package/.claude/skills/redis-coordination/agent-recovery.sh +0 -75
  498. package/.claude/skills/redis-coordination/analyze-task-complexity.sh +0 -277
  499. package/.claude/skills/redis-coordination/cancel-swarm.sh +0 -221
  500. package/.claude/skills/redis-coordination/cfn-loop-exec.sh +0 -468
  501. package/.claude/skills/redis-coordination/cfn-loop-relaunch.sh +0 -29
  502. package/.claude/skills/redis-coordination/check-dependencies.sh +0 -32
  503. package/.claude/skills/redis-coordination/collect-confidence-scores.sh +0 -179
  504. package/.claude/skills/redis-coordination/collect-results.sh +0 -75
  505. package/.claude/skills/redis-coordination/complete-swarm.sh +0 -75
  506. package/.claude/skills/redis-coordination/config.json +0 -61
  507. package/.claude/skills/redis-coordination/data/cfn-loop.db +0 -0
  508. package/.claude/skills/redis-coordination/demos/phase4-wake-queue-test-report.md +0 -82
  509. package/.claude/skills/redis-coordination/demos/test-bzpopmin-fix.sh +0 -274
  510. package/.claude/skills/redis-coordination/demos/test-cancel-swarm.sh +0 -276
  511. package/.claude/skills/redis-coordination/demos/test-dlq.sh +0 -129
  512. package/.claude/skills/redis-coordination/demos/test-iteration-feedback.sh +0 -320
  513. package/.claude/skills/redis-coordination/demos/test-orchestrator.sh +0 -249
  514. package/.claude/skills/redis-coordination/demos/test-priority-wake-phase4-unix.sh +0 -148
  515. package/.claude/skills/redis-coordination/demos/test-priority-wake-phase4.sh +0 -163
  516. package/.claude/skills/redis-coordination/demos/test-priority-wake.sh +0 -138
  517. package/.claude/skills/redis-coordination/demos/test-quick-fix.sh +0 -81
  518. package/.claude/skills/redis-coordination/demos/test-quorum-absolute.sh +0 -45
  519. package/.claude/skills/redis-coordination/demos/test-quorum-fallback.sh +0 -68
  520. package/.claude/skills/redis-coordination/demos/test-quorum-percentage.sh +0 -56
  521. package/.claude/skills/redis-coordination/demos/test-quorum-with-retry.sh +0 -81
  522. package/.claude/skills/redis-coordination/demos/test-quorum.sh +0 -57
  523. package/.claude/skills/redis-coordination/demos/test-shutdown-handling.sh +0 -187
  524. package/.claude/skills/redis-coordination/demos/test-shutdown.sh +0 -160
  525. package/.claude/skills/redis-coordination/demos/test-utils-unix.sh +0 -97
  526. package/.claude/skills/redis-coordination/demos/test-utils.sh +0 -97
  527. package/.claude/skills/redis-coordination/demos/test-waiting-mode.sh +0 -59
  528. package/.claude/skills/redis-coordination/examples/README.md +0 -73
  529. package/.claude/skills/redis-coordination/examples/grafana-dashboard.json +0 -352
  530. package/.claude/skills/redis-coordination/examples/hierarchical-pattern.sh +0 -127
  531. package/.claude/skills/redis-coordination/examples/mesh-pattern.sh +0 -171
  532. package/.claude/skills/redis-coordination/examples/timeout-handling.sh +0 -227
  533. package/.claude/skills/redis-coordination/examples/waiting-mode-pattern.sh +0 -239
  534. package/.claude/skills/redis-coordination/execute-product-owner-decision.sh +0 -258
  535. package/.claude/skills/redis-coordination/get-agent-timeout.sh +0 -177
  536. package/.claude/skills/redis-coordination/heartbeat-functions.sh +0 -137
  537. package/.claude/skills/redis-coordination/heartbeat-protocol.md +0 -106
  538. package/.claude/skills/redis-coordination/heartbeat.sh +0 -126
  539. package/.claude/skills/redis-coordination/init-swarm.sh +0 -148
  540. package/.claude/skills/redis-coordination/invoke-redis-pattern.sh +0 -220
  541. package/.claude/skills/redis-coordination/invoke-waiting-mode.sh +0 -283
  542. package/.claude/skills/redis-coordination/invoke-waiting-mode.sh.backup-p7 +0 -423
  543. package/.claude/skills/redis-coordination/list-active-swarms.sh +0 -147
  544. package/.claude/skills/redis-coordination/log-event.sh +0 -109
  545. package/.claude/skills/redis-coordination/metrics-export.sh +0 -674
  546. package/.claude/skills/redis-coordination/metrics-schema.json +0 -66
  547. package/.claude/skills/redis-coordination/metrics-storage.md +0 -31
  548. package/.claude/skills/redis-coordination/monitor-cfn-violations.sh +0 -391
  549. package/.claude/skills/redis-coordination/monitor-heartbeats.sh +0 -101
  550. package/.claude/skills/redis-coordination/orchestrate-cfn-loop-v3.sh +0 -141
  551. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh +0 -31
  552. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup +0 -38
  553. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-1761167675 +0 -1672
  554. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-p5 +0 -1604
  555. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase1 +0 -1550
  556. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase2 +0 -1621
  557. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase3 +0 -1621
  558. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  559. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.broken +0 -1627
  560. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.corrupted +0 -80
  561. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.deprecated +0 -1864
  562. package/.claude/skills/redis-coordination/priority-wake-mechanism.md +0 -75
  563. package/.claude/skills/redis-coordination/priority_wake.py +0 -134
  564. package/.claude/skills/redis-coordination/query-dlq.sh +0 -162
  565. package/.claude/skills/redis-coordination/query-logs.sh +0 -103
  566. package/.claude/skills/redis-coordination/redis-pattern.sh +0 -619
  567. package/.claude/skills/redis-coordination/retrieve-context.sh +0 -58
  568. package/.claude/skills/redis-coordination/select-specialist-agent.sh +0 -371
  569. package/.claude/skills/redis-coordination/semantic-match-tfidf.py +0 -252
  570. package/.claude/skills/redis-coordination/send-heartbeat.sh +0 -165
  571. package/.claude/skills/redis-coordination/signal.sh +0 -38
  572. package/.claude/skills/redis-coordination/store-context.sh +0 -86
  573. package/.claude/skills/redis-coordination/store-epic-context.sh +0 -123
  574. package/.claude/skills/redis-coordination/test-context-injection.sh +0 -354
  575. package/.claude/skills/redis-coordination/test-timeout-enforcement.sh +0 -513
  576. package/.claude/skills/redis-coordination/tests/convert-line-endings.sh +0 -15
  577. package/.claude/skills/redis-coordination/tests/dlq-functionality-test.sh +0 -102
  578. package/.claude/skills/redis-coordination/tests/edge-cases-test.sh +0 -99
  579. package/.claude/skills/redis-coordination/tests/integration-test.sh +0 -170
  580. package/.claude/skills/redis-coordination/tests/retry-mechanism-test.sh +0 -82
  581. package/.claude/skills/redis-coordination/tests/run-test-suite.sh +0 -92
  582. package/.claude/skills/redis-coordination/tests/run-tests.sh +0 -4
  583. package/.claude/skills/redis-coordination/tests/test-heartbeat-monitoring.sh +0 -418
  584. package/.claude/skills/redis-coordination/tests/test-heartbeat-simple.sh +0 -124
  585. package/.claude/skills/redis-coordination/tests/test-primitives.sh +0 -166
  586. package/.claude/skills/redis-coordination/tests/test-utils.sh +0 -54
  587. package/.claude/skills/redis-coordination/tests/test_coordination_primitives.sh.deprecated +0 -20
  588. package/.claude/skills/redis-coordination/tests/test_utils.sh +0 -49
  589. package/.claude/skills/redis-coordination/v2_modularization/core_orchestration.sh +0 -76
  590. package/.claude/skills/redis-coordination/validate-parameters.sh +0 -492
  591. package/.claude/skills/retrospective-report/SKILL.md +0 -31
  592. package/.claude/skills/retrospective-report/generate-report.sh +0 -101
  593. package/.claude/skills/run-all-skill-tests.sh +0 -124
  594. package/.claude/skills/scope-simplifier/SKILL.md +0 -37
  595. package/.claude/skills/scope-simplifier/simplify-scope.sh +0 -68
  596. package/.claude/skills/simplified-agent-lifecycle/COST_ANALYSIS.md +0 -49
  597. package/.claude/skills/simplified-agent-lifecycle/DESIGN.md +0 -98
  598. package/.claude/skills/simplified-agent-lifecycle/MIGRATION_PLAN.md +0 -74
  599. package/.claude/skills/skill-builder/SKILL.md +0 -910
  600. package/.claude/skills/specialist-injection/SKILL.md +0 -41
  601. package/.claude/skills/specialist-injection/recommend-specialist.sh +0 -57
  602. package/.claude/skills/sprint-execution/SKILL.md +0 -27
  603. package/.claude/skills/sprint-execution/execute-sprint-task.sh +0 -59
  604. package/.claude/skills/sprint-execution/execute-sprint.sh +0 -65
  605. package/.claude/skills/sprint-planner/SKILL.md +0 -37
  606. package/.claude/skills/sprint-planner/plan-sprint.sh +0 -85
  607. package/.claude/skills/sqlite-memory/IMPLEMENTATION_REPORT.md +0 -393
  608. package/.claude/skills/sqlite-memory/QUICK_REFERENCE.md +0 -204
  609. package/.claude/skills/sqlite-memory/SKILL.md +0 -415
  610. package/.claude/skills/sqlite-memory/acl-queries.sql +0 -452
  611. package/.claude/skills/sqlite-memory/check-dependencies.sh +0 -36
  612. package/.claude/skills/sqlite-memory/config.json +0 -45
  613. package/.claude/skills/sqlite-memory/memory-cli.sh +0 -88
  614. package/.claude/skills/sqlite-memory/test-state-persistence.js +0 -187
  615. package/.claude/skills/sqlite-memory/ttl-cleanup.sh +0 -274
  616. package/.claude/skills/standardized-error-handling/SKILL.md +0 -56
  617. package/.claude/skills/standardized-error-handling/capture-agent-error.sh +0 -87
  618. package/.claude/skills/standardized-error-handling/test-error-handling.sh +0 -166
  619. package/.claude/skills/task-classifier/SKILL.md +0 -94
  620. package/.claude/skills/task-classifier/classify-task.sh +0 -115
  621. package/.claude/skills/test-execution/SKILL.md +0 -128
  622. package/.claude/skills/test-execution/check-dependencies.sh +0 -36
  623. package/.claude/skills/test-execution/test-cache-reader.sh +0 -134
  624. package/.claude/skills/test-execution/test-concurrent-conflicts.sh +0 -115
  625. package/.claude/skills/test-execution/test-coordinator-pattern.sh +0 -109
  626. package/.claude/skills/test-execution-coordinator-pattern.md +0 -228
  627. package/.claude/skills/transparency-middleware/Cargo.toml +0 -18
  628. package/.claude/skills/transparency-middleware/SECURITY.md +0 -41
  629. package/.claude/skills/transparency-middleware/SKILL.md +0 -91
  630. package/.claude/skills/transparency-middleware/TEST_RESULTS.md +0 -174
  631. package/.claude/skills/transparency-middleware/config.json +0 -31
  632. package/.claude/skills/transparency-middleware/examples/basic-usage.ts +0 -39
  633. package/.claude/skills/transparency-middleware/examples/batch-processing.ts +0 -52
  634. package/.claude/skills/transparency-middleware/examples/custom-filtering.ts +0 -61
  635. package/.claude/skills/transparency-middleware/invoke-transparency-filter.sh +0 -98
  636. package/.claude/skills/transparency-middleware/invoke-transparency-init.sh +0 -224
  637. package/.claude/skills/transparency-middleware/invoke-transparency-level.sh +0 -333
  638. package/.claude/skills/transparency-middleware/invoke-transparency-metrics.sh +0 -345
  639. package/.claude/skills/transparency-middleware/invoke-transparency-observe.sh +0 -140
  640. package/.claude/skills/transparency-middleware/invoke-transparency-stop.sh +0 -235
  641. package/.claude/skills/transparency-middleware/memory_query.rs +0 -85
  642. package/.claude/skills/transparency-middleware/memory_repository.rs +0 -140
  643. package/.claude/skills/transparency-middleware/memory_schema.rs +0 -64
  644. package/.claude/skills/transparency-middleware/middleware-config.sh +0 -29
  645. package/.claude/skills/transparency-middleware/performance-benchmark.sh +0 -79
  646. package/.claude/skills/transparency-middleware/test-e2e.sh +0 -406
  647. package/.claude/skills/transparency-middleware/test-integration.sh +0 -162
  648. package/.claude/skills/transparency-middleware/test-transparency-skill.sh +0 -368
  649. package/.claude/skills/transparency-middleware/test-transparency-skill.sh.unix +0 -126
  650. package/.claude/skills/transparency-middleware/tests/input-validation.sh +0 -93
  651. package/.claude/skills/transparency-middleware/wrap-agent.sh +0 -132
  652. package/.claude/skills/validation-templates/SKILL.md +0 -47
  653. package/.claude/skills/validation-templates/content.json +0 -38
  654. package/.claude/skills/validation-templates/data.json +0 -38
  655. package/.claude/skills/validation-templates/design.json +0 -38
  656. package/.claude/skills/validation-templates/infrastructure.json +0 -38
  657. package/.claude/skills/validation-templates/research.json +0 -38
  658. package/.claude/skills/validation-templates/software.json +0 -38
  659. package/.claude/skills/web-portal/DESIGN.md +0 -117
  660. package/.claude/skills/web-portal/SKILL.md +0 -679
  661. package/.claude/skills/web-portal/invoke-portal-agents.sh +0 -129
  662. package/.claude/skills/web-portal/invoke-portal-dashboard.sh +0 -85
  663. package/.claude/skills/web-portal/invoke-portal-events.sh +0 -125
  664. package/.claude/skills/web-portal/invoke-portal-metrics.sh +0 -112
  665. package/.claude/skills/web-portal/invoke-portal-start.sh +0 -135
  666. package/.claude/skills/web-portal/invoke-portal-stop.sh +0 -121
  667. package/.claude/skills/web-portal/test-web-portal-skill.sh +0 -51
  668. package/.claude/skills/web-portal/validate-deployment.sh +0 -85
  669. package/.claude/skills/webapp-testing/SCREENSHOT_NAMING_CONVENTION.md +0 -547
  670. package/.claude/skills/webapp-testing/SKILL.md +0 -877
  671. package/.claude/skills/webapp-testing/capture-screenshot.sh +0 -238
  672. package/.claude/skills/webapp-testing/cfn-loop-integration.sh +0 -265
  673. package/.claude/skills/webapp-testing/compare-screenshots.sh +0 -199
  674. package/.claude/skills/webapp-testing/init-storage.sh +0 -150
  675. package/.claude/skills/webapp-testing/set-baseline.sh +0 -196
  676. package/.claude/skills/webapp-testing/test-webapp-testing.sh +0 -233
  677. package/.claude/slash-commands.json +0 -92
  678. package/.claude/spawn-pattern-examples.md +0 -500
  679. package/.claude/sprint-configs/cfn-naming-standardization.json +0 -729
  680. package/.claude/sprint-reports/sprint-1.4-self-correction-monitoring.json +0 -64
  681. package/.claude/swarm-memory.db +0 -0
  682. package/.claude/templates/agent-optimization-plan.md +0 -439
  683. package/.claude/templates/bulk-optimization-strategy.md +0 -367
  684. package/.claude/templates/cfn-loop-mechanics.md +0 -80
  685. package/.claude/templates/coordinator-patterns.md +0 -75
  686. package/.claude/templates/memory-operations.md +0 -200
  687. package/.claude/templates/post-edit-validation.md +0 -109
  688. package/.claude/templates/redis-coordination.md +0 -140
  689. package/.claude/templates/remaining-agent-analysis.md +0 -121
  690. package/.claude/templates/swarm-coordination.md +0 -103
  691. package/.claude/templates/team-dynamics.md +0 -82
  692. package/readme/CLAUDE.md +0 -429
  693. /package/.claude/agents/{coordinators → cfn-dev-team/coordinators}/multi-sprint-coordinator.md +0 -0
  694. /package/.claude/agents/{developers → cfn-dev-team/developers}/backend-dev.md +0 -0
  695. /package/.claude/agents/{developers → cfn-dev-team/developers}/react-frontend-engineer.md +0 -0
  696. /package/.claude/agents/{developers → cfn-dev-team/developers}/researcher.md +0 -0
  697. /package/.claude/agents/{developers → cfn-dev-team/developers}/state-architect.md +0 -0
  698. /package/.claude/agents/{developers → cfn-dev-team/developers}/ui-designer.md +0 -0
  699. /package/.claude/agents/{reviewers → cfn-dev-team/reviewers}/README.md +0 -0
  700. /package/.claude/agents/{testers → cfn-dev-team/testers}/README.md +0 -0
  701. /package/.claude/agents/{testers → cfn-dev-team/testers}/playwright-tester.md +0 -0
  702. /package/.claude/agents/{testers → cfn-dev-team/testers}/tester.md +0 -0
  703. /package/.claude/{data → cfn-data}/cfn-loop.db +0 -0
  704. /package/.claude/{data → cfn-data}/cfn_loop_logs.db +0 -0
  705. /package/.claude/commands/{README.md → cfn/README.md} +0 -0
  706. /package/.claude/commands/{auto-compact.md → cfn/auto-compact.md} +0 -0
  707. /package/.claude/commands/{cfn-claude-sync.md → cfn/cfn-claude-sync.md} +0 -0
  708. /package/.claude/commands/{cfn-loop-document.md → cfn/cfn-loop-document.md} +0 -0
  709. /package/.claude/commands/{cfn-mode.md → cfn/cfn-mode.md} +0 -0
  710. /package/.claude/commands/{claude-md.md → cfn/claude-md.md} +0 -0
  711. /package/.claude/commands/{claude-soul.md → cfn/claude-soul.md} +0 -0
  712. /package/.claude/commands/{context-query.md → cfn/context-query.md} +0 -0
  713. /package/.claude/commands/{cost-savings-off.md → cfn/cost-savings-off.md} +0 -0
  714. /package/.claude/commands/{cost-savings-on.md → cfn/cost-savings-on.md} +0 -0
  715. /package/.claude/commands/{cost-savings-status.md → cfn/cost-savings-status.md} +0 -0
  716. /package/.claude/commands/{custom-routing-activate.md → cfn/custom-routing-activate.md} +0 -0
  717. /package/.claude/commands/{custom-routing-deactivate.md → cfn/custom-routing-deactivate.md} +0 -0
  718. /package/.claude/commands/{dependency-recommendations.md → cfn/dependency-recommendations.md} +0 -0
  719. /package/.claude/commands/{fullstack.md → cfn/fullstack.md} +0 -0
  720. /package/.claude/commands/{github-commit.md → cfn/github-commit.md} +0 -0
  721. /package/.claude/commands/{github.md → cfn/github.md} +0 -0
  722. /package/.claude/commands/{hello-world-tests.md → cfn/hello-world-tests.md} +0 -0
  723. /package/.claude/commands/{hooks.md → cfn/hooks.md} +0 -0
  724. /package/.claude/commands/{launch-web-dashboard.md → cfn/launch-web-dashboard.md} +0 -0
  725. /package/.claude/commands/{metrics-summary.md → cfn/metrics-summary.md} +0 -0
  726. /package/.claude/commands/{neural.md → cfn/neural.md} +0 -0
  727. /package/.claude/commands/{parse-epic.md → cfn/parse-epic.md} +0 -0
  728. /package/.claude/commands/{performance.md → cfn/performance.md} +0 -0
  729. /package/.claude/commands/{sparc.md → cfn/sparc.md} +0 -0
  730. /package/.claude/commands/{suggest-improvements.md → cfn/suggest-improvements.md} +0 -0
  731. /package/.claude/commands/{suggest-templates.md → cfn/suggest-templates.md} +0 -0
  732. /package/.claude/commands/{swarm.md → cfn/swarm.md} +0 -0
  733. /package/.claude/commands/{switch-api.md → cfn/switch-api.md} +0 -0
  734. /package/.claude/commands/{workflow.md → cfn/workflow.md} +0 -0
  735. /package/.claude/commands/{write-plan.md → cfn/write-plan.md} +0 -0
  736. /package/.claude/hooks/{BACKUP_USAGE.md → cfn-BACKUP_USAGE.md} +0 -0
  737. /package/.claude/hooks/{invoke-post-edit.sh → cfn-invoke-post-edit.sh} +0 -0
  738. /package/.claude/hooks/{post-edit-cfn-retrospective.sh → cfn-post-edit-cfn-retrospective.sh} +0 -0
  739. /package/.claude/hooks/{post-edit.config.json → cfn-post-edit.config.json} +0 -0
  740. /package/.claude/hooks/{post-edit.sh → cfn-post-edit.sh} +0 -0
  741. /package/.claude/hooks/{pre-edit-backup.sh → cfn-pre-edit-backup.sh} +0 -0
  742. /package/.claude/hooks/{restore-from-backup.sh → cfn-restore-from-backup.sh} +0 -0
  743. /package/.claude/skills/{agent-spawning → cfn-agent-spawning}/README.md +0 -0
  744. /package/.claude/skills/{analytics → cfn-analytics}/README.md +0 -0
  745. /package/.claude/skills/{config-management → cfn-config-management}/README.md +0 -0
  746. /package/.claude/skills/{event-bus → cfn-event-bus}/README.md +0 -0
  747. /package/.claude/skills/{fleet-manager → cfn-fleet-manager}/README.md +0 -0
  748. /package/.claude/skills/{hook-pipeline → cfn-hook-pipeline}/README.md +0 -0
  749. /package/.claude/skills/{hybrid-routing → cfn-hybrid-routing}/README.md +0 -0
  750. /package/.claude/skills/{process-lifecycle → cfn-process-lifecycle}/README.md +0 -0
  751. /package/.claude/skills/{redis-coordination → cfn-redis-coordination}/README.md +0 -0
  752. /package/.claude/skills/{sqlite-memory → cfn-sqlite-memory}/README.md +0 -0
  753. /package/.claude/skills/{test-execution → cfn-test-execution}/README.md +0 -0
  754. /package/.claude/skills/{transparency-middleware → cfn-transparency-middleware}/README.md +0 -0
  755. /package/.claude/skills/{webapp-testing → cfn-webapp-testing}/README.md +0 -0
@@ -1,841 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Agent Profile Validator
5
- *
6
- * Validates agent profiles against CLAUDE.md standards and design principles.
7
- * Checks frontmatter, prompt format, quality, and provides actionable recommendations.
8
- *
9
- * Usage:
10
- * node validate-agent.js <path-to-agent.md>
11
- * node validate-agent.js --all
12
- *
13
- * @module validate-agent
14
- */
15
-
16
- import { readFile, readdir } from 'fs/promises';
17
- import { resolve, dirname, basename, join } from 'path';
18
- import { fileURLToPath } from 'url';
19
-
20
- const __filename = fileURLToPath(import.meta.url);
21
- const __dirname = dirname(__filename);
22
-
23
- // ============================================================================
24
- // Configuration
25
- // ============================================================================
26
-
27
- const APPROVED_TOOLS = [
28
- 'Read', 'Write', 'Edit', 'MultiEdit', 'Bash', 'Glob', 'Grep', 'TodoWrite'
29
- ];
30
-
31
- const APPROVED_MODELS = [
32
- 'sonnet', 'haiku', 'opus', 'sonnet-3-5', 'sonnet-4-5', 'haiku'
33
- ];
34
-
35
- const VALID_COLOR_FORMATS = [
36
- /^[a-z]+$/i, // Named colors: "orange", "green"
37
- /^#[0-9A-F]{6}$/i, // Hex colors: "#FF9800"
38
- /^rgb\(\d+,\s*\d+,\s*\d+\)$/i // RGB colors: "rgb(255, 152, 0)"
39
- ];
40
-
41
- const AGENT_TYPES = [
42
- 'coder', 'reviewer', 'tester', 'planner', 'researcher', 'coordinator',
43
- 'backend-dev', 'api-docs', 'system-architect', 'code-analyzer',
44
- 'mobile-dev', 'tdd-london-swarm', 'production-validator',
45
- 'perf-analyzer', 'performance-benchmarker', 'task-orchestrator'
46
- ];
47
-
48
- // ============================================================================
49
- // YAML Parser (Simplified - handles basic YAML)
50
- // ============================================================================
51
-
52
- function parseYAML(yamlString) {
53
- const lines = yamlString.split('\n');
54
- const result = {};
55
- let currentKey = null;
56
- let currentArray = null;
57
- let inMultiline = false;
58
- let multilineKey = null;
59
- let multilineContent = [];
60
-
61
- for (const line of lines) {
62
- const trimmed = line.trim();
63
-
64
- // Skip empty lines and comments
65
- if (!trimmed || trimmed.startsWith('#')) continue;
66
-
67
- // Handle multiline blocks
68
- if (trimmed.endsWith('|') || trimmed.endsWith('>')) {
69
- multilineKey = trimmed.slice(0, -1).replace(':', '').trim();
70
- inMultiline = true;
71
- multilineContent = [];
72
- continue;
73
- }
74
-
75
- if (inMultiline) {
76
- if (line.startsWith(' ')) {
77
- multilineContent.push(line.slice(2));
78
- } else {
79
- result[multilineKey] = multilineContent.join('\n');
80
- inMultiline = false;
81
- multilineKey = null;
82
- }
83
- }
84
-
85
- // Handle array items
86
- if (trimmed.startsWith('- ')) {
87
- const value = trimmed.slice(2).trim();
88
- if (currentArray) {
89
- currentArray.push(value);
90
- }
91
- continue;
92
- }
93
-
94
- // Handle key-value pairs
95
- if (trimmed.includes(':')) {
96
- const [key, ...valueParts] = trimmed.split(':');
97
- const value = valueParts.join(':').trim();
98
-
99
- currentKey = key.trim();
100
-
101
- if (value === '') {
102
- // Start of array or object
103
- currentArray = [];
104
- result[currentKey] = currentArray;
105
- } else {
106
- // Simple value
107
- currentArray = null;
108
- // Try to parse as number or boolean
109
- if (value === 'true') result[currentKey] = true;
110
- else if (value === 'false') result[currentKey] = false;
111
- else if (!isNaN(value) && value !== '') result[currentKey] = Number(value);
112
- else result[currentKey] = value.replace(/^['"]|['"]$/g, ''); // Remove quotes
113
- }
114
- }
115
- }
116
-
117
- // Close any remaining multiline
118
- if (inMultiline && multilineKey) {
119
- result[multilineKey] = multilineContent.join('\n');
120
- }
121
-
122
- return result;
123
- }
124
-
125
- // ============================================================================
126
- // Format Detection & Classification
127
- // ============================================================================
128
-
129
- /**
130
- * Classifies agent prompt format based on content analysis
131
- */
132
- function classifyFormat(content, frontmatter) {
133
- const promptContent = content.split('---').slice(2).join('---');
134
- const lines = promptContent.split('\n').filter(line => line.trim());
135
- const wordCount = promptContent.split(/\s+/).length;
136
-
137
- // Count code blocks
138
- const codeBlockCount = (promptContent.match(/```/g) || []).length / 2;
139
-
140
- // Count structured sections
141
- const hasCapabilities = frontmatter.capabilities !== undefined;
142
- const hasHooks = frontmatter.hooks !== undefined;
143
- const hasLifecycle = frontmatter.lifecycle !== undefined;
144
-
145
- // Classification logic based on empirical findings
146
- const classification = {
147
- format: 'unknown',
148
- confidence: 0,
149
- characteristics: {},
150
- tokens: 0,
151
- words: wordCount
152
- };
153
-
154
- // CODE-HEAVY: 2000+ tokens, multiple code examples, implementation patterns
155
- if (codeBlockCount >= 3 && wordCount > 1500) {
156
- classification.format = 'code-heavy';
157
- classification.confidence = 0.9;
158
- classification.tokens = 2000 + Math.floor(wordCount * 0.75);
159
- classification.characteristics = {
160
- codeBlocks: codeBlockCount,
161
- hasExamples: true,
162
- hasImplementationPatterns: true,
163
- verbosity: 'high'
164
- };
165
- }
166
- // METADATA: 1000-1500 tokens, structured frontmatter, YAML/TS blocks
167
- else if ((hasCapabilities || hasHooks || hasLifecycle) && codeBlockCount >= 1) {
168
- classification.format = 'metadata';
169
- classification.confidence = 0.85;
170
- classification.tokens = 1000 + Math.floor(wordCount * 0.5);
171
- classification.characteristics = {
172
- codeBlocks: codeBlockCount,
173
- hasStructuredMetadata: true,
174
- hasCapabilities,
175
- hasHooks,
176
- hasLifecycle,
177
- verbosity: 'medium'
178
- };
179
- }
180
- // MINIMAL: 500-800 tokens, lean prompts, reasoning-focused
181
- else if (wordCount < 1000 && codeBlockCount <= 1) {
182
- classification.format = 'minimal';
183
- classification.confidence = 0.8;
184
- classification.tokens = 500 + Math.floor(wordCount * 0.33);
185
- classification.characteristics = {
186
- codeBlocks: codeBlockCount,
187
- reasoningFocused: true,
188
- verbosity: 'low'
189
- };
190
- }
191
- // METADATA as default middle ground
192
- else {
193
- classification.format = 'metadata';
194
- classification.confidence = 0.6;
195
- classification.tokens = 1000;
196
- classification.characteristics = {
197
- codeBlocks: codeBlockCount,
198
- verbosity: 'medium'
199
- };
200
- }
201
-
202
- return classification;
203
- }
204
-
205
- /**
206
- * Estimates task complexity based on agent type and description
207
- */
208
- function estimateComplexity(frontmatter, content) {
209
- const description = (frontmatter.description || '').toLowerCase();
210
- const promptContent = content.toLowerCase();
211
-
212
- const indicators = {
213
- basic: ['simple', 'basic', 'string', 'array', 'validation', 'parse', 'format', 'convert'],
214
- medium: ['multiple', 'integrate', 'refactor', 'concurrent', 'cache', 'queue', 'worker', 'pipeline'],
215
- complex: ['architecture', 'system', 'distributed', 'scalable', 'design', 'trade-off', 'performance-critical', 'zero-copy']
216
- };
217
-
218
- const scores = {
219
- basic: 0,
220
- medium: 0,
221
- complex: 0
222
- };
223
-
224
- // Score based on keywords
225
- for (const [level, keywords] of Object.entries(indicators)) {
226
- for (const keyword of keywords) {
227
- if (description.includes(keyword)) scores[level]++;
228
- if (promptContent.includes(keyword)) scores[level] += 0.5;
229
- }
230
- }
231
-
232
- // Determine complexity
233
- const maxScore = Math.max(...Object.values(scores));
234
- if (maxScore === 0) return { complexity: 'medium', confidence: 'low', scores };
235
-
236
- const complexity = Object.keys(scores).find(key => scores[key] === maxScore);
237
- const confidence = maxScore >= 2 ? 'high' : maxScore >= 1 ? 'medium' : 'low';
238
-
239
- return { complexity, confidence, scores };
240
- }
241
-
242
- /**
243
- * Recommends optimal format based on agent type and complexity
244
- */
245
- function recommendFormat(agentType, complexity) {
246
- // Always minimal for architectural reasoning
247
- if (agentType === 'architect' || agentType === 'system-architect') {
248
- return {
249
- recommended: 'minimal',
250
- reason: 'Architectural agents need reasoning freedom, not examples',
251
- confidence: 'high'
252
- };
253
- }
254
-
255
- // Always minimal for reviewers
256
- if (agentType === 'reviewer' || agentType === 'code-analyzer') {
257
- return {
258
- recommended: 'minimal',
259
- reason: 'Review agents need to reason about code, not follow patterns',
260
- confidence: 'high'
261
- };
262
- }
263
-
264
- // Always metadata for researchers
265
- if (agentType === 'researcher') {
266
- return {
267
- recommended: 'metadata',
268
- reason: 'Research needs structured output format',
269
- confidence: 'high'
270
- };
271
- }
272
-
273
- // Coder agents: complexity-based selection (validated)
274
- if (agentType === 'coder' || agentType === 'backend-dev' || agentType === 'mobile-dev') {
275
- if (complexity === 'basic') {
276
- return {
277
- recommended: 'code-heavy',
278
- reason: 'Basic tasks benefit from examples (+43% quality boost validated)',
279
- confidence: 'high',
280
- evidence: 'Empirically validated on Rust benchmarks'
281
- };
282
- }
283
- if (complexity === 'complex') {
284
- return {
285
- recommended: 'minimal',
286
- reason: 'Complex tasks need reasoning, examples constrain solution space',
287
- confidence: 'high',
288
- evidence: 'Validated: 0% quality gap between formats on complex tasks'
289
- };
290
- }
291
- return {
292
- recommended: 'metadata',
293
- reason: 'Medium complexity benefits from structure without over-constraining',
294
- confidence: 'medium'
295
- };
296
- }
297
-
298
- // Tester agents: similar to coders
299
- if (agentType === 'tester' || agentType === 'tdd-london-swarm') {
300
- if (complexity === 'basic') {
301
- return {
302
- recommended: 'code-heavy',
303
- reason: 'Test structure and patterns benefit from examples',
304
- confidence: 'medium'
305
- };
306
- }
307
- return {
308
- recommended: 'metadata',
309
- reason: 'Test organization needs structure',
310
- confidence: 'medium'
311
- };
312
- }
313
-
314
- // Default: metadata as safe middle ground
315
- return {
316
- recommended: 'metadata',
317
- reason: 'Balanced approach for general tasks',
318
- confidence: 'medium'
319
- };
320
- }
321
-
322
- // ============================================================================
323
- // Validation Functions
324
- // ============================================================================
325
-
326
- /**
327
- * Validates frontmatter structure and required fields
328
- */
329
- function validateFrontmatter(frontmatter) {
330
- const issues = [];
331
- const warnings = [];
332
-
333
- // Required fields
334
- if (!frontmatter.name) {
335
- issues.push({
336
- severity: 'error',
337
- field: 'name',
338
- message: 'Missing required field: name',
339
- fix: 'Add "name: agent-name" to frontmatter'
340
- });
341
- }
342
-
343
- if (!frontmatter.description) {
344
- issues.push({
345
- severity: 'error',
346
- field: 'description',
347
- message: 'Missing required field: description',
348
- fix: 'Add "description: ..." to frontmatter'
349
- });
350
- } else if (frontmatter.description.length < 50) {
351
- warnings.push({
352
- severity: 'warning',
353
- field: 'description',
354
- message: 'Description is too short (< 50 chars)',
355
- fix: 'Expand description to include key capabilities and use cases'
356
- });
357
- }
358
-
359
- // Tools validation
360
- if (!frontmatter.tools) {
361
- warnings.push({
362
- severity: 'warning',
363
- field: 'tools',
364
- message: 'Missing tools specification',
365
- fix: 'Add "tools: Read, Write, Edit, ..." to frontmatter'
366
- });
367
- } else {
368
- const tools = typeof frontmatter.tools === 'string'
369
- ? frontmatter.tools.split(',').map(t => t.trim())
370
- : frontmatter.tools;
371
-
372
- const invalidTools = tools.filter(tool => !APPROVED_TOOLS.includes(tool));
373
- if (invalidTools.length > 0) {
374
- issues.push({
375
- severity: 'error',
376
- field: 'tools',
377
- message: `Invalid tools: ${invalidTools.join(', ')}`,
378
- fix: `Use only approved tools: ${APPROVED_TOOLS.join(', ')}`
379
- });
380
- }
381
- }
382
-
383
- // Model validation
384
- if (!frontmatter.model) {
385
- warnings.push({
386
- severity: 'warning',
387
- field: 'model',
388
- message: 'Missing model specification',
389
- fix: 'Add "model: sonnet" (or haiku, opus) to frontmatter'
390
- });
391
- } else if (!APPROVED_MODELS.includes(frontmatter.model)) {
392
- warnings.push({
393
- severity: 'warning',
394
- field: 'model',
395
- message: `Uncommon model: ${frontmatter.model}`,
396
- fix: `Consider using: ${APPROVED_MODELS.slice(0, 3).join(', ')}`
397
- });
398
- }
399
-
400
- // Color validation
401
- if (!frontmatter.color) {
402
- warnings.push({
403
- severity: 'warning',
404
- field: 'color',
405
- message: 'Missing color specification',
406
- fix: 'Add "color: blue" (or hex "#0000FF") to frontmatter'
407
- });
408
- } else {
409
- const colorValid = VALID_COLOR_FORMATS.some(regex => regex.test(frontmatter.color));
410
- if (!colorValid) {
411
- issues.push({
412
- severity: 'error',
413
- field: 'color',
414
- message: `Invalid color format: ${frontmatter.color}`,
415
- fix: 'Use named color (e.g., "orange"), hex (e.g., "#FF9800"), or RGB (e.g., "rgb(255, 152, 0)")'
416
- });
417
- }
418
- }
419
-
420
- return { issues, warnings };
421
- }
422
-
423
- /**
424
- * Analyzes prompt quality and structure
425
- */
426
- function analyzePromptQuality(content) {
427
- const promptContent = content.split('---').slice(2).join('---');
428
- const recommendations = [];
429
-
430
- // Check for clear role definition
431
- const hasRoleDefinition = /you are|your role|you specialize in/i.test(promptContent.slice(0, 500));
432
- if (!hasRoleDefinition) {
433
- recommendations.push({
434
- category: 'role-clarity',
435
- message: 'Add clear role definition in first paragraph',
436
- example: 'Start with "You are a [Role] specialized in..."'
437
- });
438
- }
439
-
440
- // Check for specific responsibilities
441
- const hasResponsibilities = /responsibilities|duties|tasks|core functions/i.test(promptContent);
442
- if (!hasResponsibilities) {
443
- recommendations.push({
444
- category: 'structure',
445
- message: 'Add clear responsibilities section',
446
- example: '## Core Responsibilities\n1. [Responsibility 1]\n2. [Responsibility 2]'
447
- });
448
- }
449
-
450
- // Check for anti-patterns
451
- const negativeCount = (promptContent.match(/don't|never|avoid(?!\s+memory leaks)/gi) || []).length;
452
- if (negativeCount > 5) {
453
- recommendations.push({
454
- category: 'anti-pattern',
455
- message: `Excessive negative instructions (${negativeCount} found)`,
456
- fix: 'Rephrase as positive guidance: "Use X instead of Y"'
457
- });
458
- }
459
-
460
- return { recommendations };
461
- }
462
-
463
- /**
464
- * Checks format alignment with task complexity
465
- */
466
- function checkFormatAlignment(agentType, format, complexity) {
467
- const recommendation = recommendFormat(agentType, complexity.complexity);
468
- const alignment = {
469
- aligned: format.format === recommendation.recommended,
470
- currentFormat: format.format,
471
- recommendedFormat: recommendation.recommended,
472
- reason: recommendation.reason,
473
- confidence: recommendation.confidence,
474
- evidence: recommendation.evidence || 'Hypothesized from validated coder agent patterns'
475
- };
476
-
477
- if (!alignment.aligned) {
478
- alignment.impact = estimateImpact(format.format, recommendation.recommended, complexity.complexity);
479
- }
480
-
481
- return alignment;
482
- }
483
-
484
- /**
485
- * Estimates impact of format mismatch
486
- */
487
- function estimateImpact(currentFormat, recommendedFormat, complexity) {
488
- const impacts = {
489
- 'basic-minimal-to-code-heavy': '+43% quality boost (validated)',
490
- 'basic-metadata-to-code-heavy': '+10-15% quality improvement',
491
- 'complex-code-heavy-to-minimal': '0% quality gap, 10% faster response',
492
- 'complex-metadata-to-minimal': '0-3% quality gap, 5% faster response'
493
- };
494
-
495
- const key = `${complexity}-${currentFormat}-to-${recommendedFormat}`;
496
- return impacts[key] || 'Marginal impact expected';
497
- }
498
-
499
- // ============================================================================
500
- // Validation Orchestration
501
- // ============================================================================
502
-
503
- /**
504
- * Performs complete validation of an agent profile
505
- */
506
- async function validateAgent(filePath) {
507
- const content = await readFile(filePath, 'utf-8');
508
-
509
- // Parse frontmatter (handle both \n--- and ---\n endings)
510
- const frontmatterMatch = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
511
- if (!frontmatterMatch) {
512
- return {
513
- valid: false,
514
- file: filePath,
515
- agentType: 'unknown',
516
- complianceScore: 0,
517
- frontmatter: {
518
- valid: false,
519
- issues: [{
520
- severity: 'error',
521
- field: 'frontmatter',
522
- message: 'No frontmatter found',
523
- fix: 'Add YAML frontmatter at the beginning of the file'
524
- }],
525
- warnings: []
526
- },
527
- format: {
528
- classification: { format: 'unknown', confidence: 0, characteristics: {}, tokens: 0, words: 0 },
529
- complexity: { complexity: 'unknown', confidence: 'low', scores: { basic: 0, medium: 0, complex: 0 } },
530
- alignment: { aligned: false, currentFormat: 'unknown', recommendedFormat: 'minimal', reason: 'No frontmatter', confidence: 'low', evidence: 'N/A' }
531
- },
532
- quality: { recommendations: [] },
533
- summary: 'CRITICAL ERROR: No frontmatter found'
534
- };
535
- }
536
-
537
- let frontmatter;
538
- try {
539
- frontmatter = parseYAML(frontmatterMatch[1]);
540
- } catch (err) {
541
- return {
542
- valid: false,
543
- file: filePath,
544
- agentType: 'unknown',
545
- complianceScore: 0,
546
- frontmatter: {
547
- valid: false,
548
- issues: [{
549
- severity: 'error',
550
- field: 'frontmatter',
551
- message: `Invalid YAML syntax: ${err.message}`,
552
- fix: 'Fix YAML syntax errors in frontmatter'
553
- }],
554
- warnings: []
555
- },
556
- format: {
557
- classification: { format: 'unknown', confidence: 0, characteristics: {}, tokens: 0, words: 0 },
558
- complexity: { complexity: 'unknown', confidence: 'low', scores: { basic: 0, medium: 0, complex: 0 } },
559
- alignment: { aligned: false, currentFormat: 'unknown', recommendedFormat: 'minimal', reason: 'Invalid YAML', confidence: 'low', evidence: 'N/A' }
560
- },
561
- quality: { recommendations: [] },
562
- summary: `CRITICAL ERROR: Invalid YAML syntax`
563
- };
564
- }
565
-
566
- // Run validations
567
- const frontmatterValidation = validateFrontmatter(frontmatter);
568
- const formatClassification = classifyFormat(content, frontmatter);
569
- const complexityEstimate = estimateComplexity(frontmatter, content);
570
- const qualityAnalysis = analyzePromptQuality(content);
571
-
572
- // Determine agent type
573
- const agentType = frontmatter.name || 'unknown';
574
- const detectedType = AGENT_TYPES.find(type => agentType.toLowerCase().includes(type)) || 'unknown';
575
-
576
- const formatAlignment = checkFormatAlignment(detectedType, formatClassification, complexityEstimate);
577
-
578
- // Calculate compliance score
579
- const totalIssues = frontmatterValidation.issues.length;
580
- const totalWarnings = frontmatterValidation.warnings.length;
581
- const totalRecommendations = qualityAnalysis.recommendations.length;
582
-
583
- const complianceScore = Math.max(0, 100 - (totalIssues * 20) - (totalWarnings * 5) - (totalRecommendations * 2));
584
-
585
- return {
586
- valid: totalIssues === 0,
587
- file: filePath,
588
- agentType: detectedType || 'unknown',
589
- complianceScore,
590
- frontmatter: {
591
- valid: frontmatterValidation.issues.length === 0,
592
- issues: frontmatterValidation.issues,
593
- warnings: frontmatterValidation.warnings
594
- },
595
- format: {
596
- classification: formatClassification,
597
- complexity: complexityEstimate,
598
- alignment: formatAlignment
599
- },
600
- quality: qualityAnalysis,
601
- summary: generateSummary(complianceScore, formatAlignment, frontmatterValidation, qualityAnalysis)
602
- };
603
- }
604
-
605
- /**
606
- * Generates human-readable summary
607
- */
608
- function generateSummary(score, alignment, frontmatter, quality) {
609
- const status = score >= 90 ? 'Excellent' : score >= 75 ? 'Good' : score >= 60 ? 'Fair' : 'Needs Improvement';
610
-
611
- const summary = [`Agent Profile Status: ${status} (${score}/100)`];
612
-
613
- if (frontmatter.issues.length > 0) {
614
- summary.push(`⚠️ ${frontmatter.issues.length} critical issue(s) found`);
615
- }
616
-
617
- if (!alignment.aligned) {
618
- summary.push(`📊 Format mismatch: Using ${alignment.currentFormat}, recommend ${alignment.recommendedFormat}`);
619
- summary.push(` Reason: ${alignment.reason}`);
620
- summary.push(` Impact: ${alignment.impact || 'See recommendations'}`);
621
- } else {
622
- summary.push(`✅ Format aligned with best practices (${alignment.currentFormat})`);
623
- }
624
-
625
- if (quality.recommendations.length > 0) {
626
- summary.push(`💡 ${quality.recommendations.length} improvement recommendation(s)`);
627
- }
628
-
629
- return summary.join('\n');
630
- }
631
-
632
- // ============================================================================
633
- // CLI Interface
634
- // ============================================================================
635
-
636
- /**
637
- * Formats validation results for console output
638
- */
639
- function formatOutput(result) {
640
- const sections = [];
641
-
642
- // Header
643
- sections.push('═'.repeat(80));
644
- sections.push(`AGENT VALIDATION REPORT: ${basename(result.file)}`);
645
- sections.push('═'.repeat(80));
646
- sections.push('');
647
-
648
- // Summary
649
- sections.push('SUMMARY');
650
- sections.push('─'.repeat(80));
651
- sections.push(result.summary);
652
- sections.push('');
653
-
654
- // Format Analysis
655
- sections.push('FORMAT ANALYSIS');
656
- sections.push('─'.repeat(80));
657
- sections.push(`Detected Format: ${result.format.classification.format.toUpperCase()}`);
658
- sections.push(`Confidence: ${(result.format.classification.confidence * 100).toFixed(0)}%`);
659
- sections.push(`Estimated Tokens: ~${result.format.classification.tokens}`);
660
- sections.push(`Word Count: ${result.format.classification.words}`);
661
- sections.push('');
662
- sections.push('Characteristics:');
663
- for (const [key, value] of Object.entries(result.format.classification.characteristics)) {
664
- sections.push(` • ${key}: ${value}`);
665
- }
666
- sections.push('');
667
-
668
- // Complexity Estimate
669
- sections.push('COMPLEXITY ANALYSIS');
670
- sections.push('─'.repeat(80));
671
- sections.push(`Estimated Complexity: ${result.format.complexity.complexity.toUpperCase()}`);
672
- sections.push(`Confidence: ${result.format.complexity.confidence.toUpperCase()}`);
673
- sections.push('Indicator Scores:');
674
- for (const [level, score] of Object.entries(result.format.complexity.scores)) {
675
- sections.push(` • ${level}: ${score.toFixed(1)}`);
676
- }
677
- sections.push('');
678
-
679
- // Format Alignment
680
- sections.push('FORMAT RECOMMENDATION');
681
- sections.push('─'.repeat(80));
682
- sections.push(`Current Format: ${result.format.alignment.currentFormat.toUpperCase()}`);
683
- sections.push(`Recommended Format: ${result.format.alignment.recommendedFormat.toUpperCase()}`);
684
- sections.push(`Alignment: ${result.format.alignment.aligned ? '✅ ALIGNED' : '⚠️ MISALIGNED'}`);
685
- sections.push(`Confidence: ${result.format.alignment.confidence.toUpperCase()}`);
686
- sections.push(`Reason: ${result.format.alignment.reason}`);
687
- if (result.format.alignment.evidence) {
688
- sections.push(`Evidence: ${result.format.alignment.evidence}`);
689
- }
690
- if (result.format.alignment.impact) {
691
- sections.push(`Expected Impact: ${result.format.alignment.impact}`);
692
- }
693
- sections.push('');
694
-
695
- // Issues
696
- if (result.frontmatter.issues.length > 0) {
697
- sections.push('CRITICAL ISSUES');
698
- sections.push('─'.repeat(80));
699
- result.frontmatter.issues.forEach((issue, i) => {
700
- sections.push(`${i + 1}. [${issue.field}] ${issue.message}`);
701
- sections.push(` Fix: ${issue.fix}`);
702
- sections.push('');
703
- });
704
- }
705
-
706
- // Warnings
707
- if (result.frontmatter.warnings.length > 0) {
708
- sections.push('WARNINGS');
709
- sections.push('─'.repeat(80));
710
- result.frontmatter.warnings.forEach((warning, i) => {
711
- sections.push(`${i + 1}. [${warning.field}] ${warning.message}`);
712
- sections.push(` Fix: ${warning.fix}`);
713
- sections.push('');
714
- });
715
- }
716
-
717
- // Recommendations
718
- if (result.quality.recommendations.length > 0) {
719
- sections.push('IMPROVEMENT RECOMMENDATIONS');
720
- sections.push('─'.repeat(80));
721
- result.quality.recommendations.forEach((rec, i) => {
722
- sections.push(`${i + 1}. [${rec.category}] ${rec.message}`);
723
- if (rec.impact) sections.push(` Impact: ${rec.impact}`);
724
- if (rec.example) sections.push(` Example: ${rec.example}`);
725
- if (rec.fix) sections.push(` Fix: ${rec.fix}`);
726
- sections.push('');
727
- });
728
- }
729
-
730
- // Footer
731
- sections.push('═'.repeat(80));
732
- sections.push(`Compliance Score: ${result.complianceScore}/100`);
733
- sections.push('═'.repeat(80));
734
-
735
- return sections.join('\n');
736
- }
737
-
738
- /**
739
- * Find all agent markdown files recursively
740
- */
741
- async function findAgentFiles(dir, results = []) {
742
- const entries = await readdir(dir, { withFileTypes: true });
743
-
744
- for (const entry of entries) {
745
- const fullPath = join(dir, entry.name);
746
-
747
- if (entry.isDirectory() && entry.name !== 'node_modules') {
748
- await findAgentFiles(fullPath, results);
749
- } else if (entry.isFile() && entry.name.endsWith('.md')) {
750
- // Skip certain files
751
- if (!entry.name.includes('README') && !entry.name.includes('CLAUDE_AGENT_DESIGN_PRINCIPLES')) {
752
- results.push(fullPath);
753
- }
754
- }
755
- }
756
-
757
- return results;
758
- }
759
-
760
- /**
761
- * Main CLI entry point
762
- */
763
- async function main() {
764
- const args = process.argv.slice(2);
765
-
766
- if (args.length === 0) {
767
- console.error('Usage: node validate-agent.js <path-to-agent.md>');
768
- console.error(' node validate-agent.js --all');
769
- process.exit(1);
770
- }
771
-
772
- if (args[0] === '--all') {
773
- // Validate all agents
774
- const agentsDir = resolve(__dirname);
775
- const agentFiles = await findAgentFiles(agentsDir);
776
-
777
- console.log(`Found ${agentFiles.length} agent files to validate\n`);
778
-
779
- const results = [];
780
- for (const file of agentFiles) {
781
- try {
782
- const result = await validateAgent(file);
783
- results.push(result);
784
-
785
- // Print summary for each
786
- const relPath = file.replace(agentsDir + '/', '');
787
- console.log(`${relPath}: ${result.valid ? '✅' : '❌'} Score: ${result.complianceScore}/100`);
788
- } catch (err) {
789
- console.error(`Error validating ${file}: ${err.message}`);
790
- }
791
- }
792
-
793
- // Summary statistics
794
- console.log('\n' + '═'.repeat(80));
795
- console.log('VALIDATION SUMMARY');
796
- console.log('═'.repeat(80));
797
- console.log(`Total Agents: ${results.length}`);
798
- console.log(`Passed: ${results.filter(r => r.valid).length}`);
799
- console.log(`Failed: ${results.filter(r => !r.valid).length}`);
800
- console.log(`Average Score: ${(results.reduce((sum, r) => sum + r.complianceScore, 0) / results.length).toFixed(1)}/100`);
801
- console.log('');
802
-
803
- // Top performers
804
- const topPerformers = results.sort((a, b) => b.complianceScore - a.complianceScore).slice(0, 5);
805
- console.log('Top 5 Performers:');
806
- topPerformers.forEach((r, i) => {
807
- console.log(` ${i + 1}. ${basename(r.file)}: ${r.complianceScore}/100`);
808
- });
809
- console.log('');
810
-
811
- // Needs improvement
812
- const needsImprovement = results.filter(r => r.complianceScore < 75).length;
813
- if (needsImprovement > 0) {
814
- console.log(`⚠️ ${needsImprovement} agent(s) need improvement (score < 75)`);
815
- }
816
-
817
- } else {
818
- // Validate single agent
819
- const filePath = resolve(process.cwd(), args[0]);
820
-
821
- try {
822
- const result = await validateAgent(filePath);
823
- console.log(formatOutput(result));
824
-
825
- // Exit code based on validation result
826
- process.exit(result.valid ? 0 : 1);
827
- } catch (err) {
828
- console.error(`Error: ${err.message}`);
829
- console.error('Stack:', err.stack);
830
- process.exit(1);
831
- }
832
- }
833
- }
834
-
835
- // Run if called directly
836
- main().catch(err => {
837
- console.error('Fatal error:', err);
838
- process.exit(1);
839
- });
840
-
841
- export { validateAgent, classifyFormat, estimateComplexity, recommendFormat };