agentsys 5.0.2 → 5.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 (264) hide show
  1. package/.claude-plugin/marketplace.json +21 -14
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/AGENTS.md +2 -1
  4. package/CHANGELOG.md +24 -1
  5. package/README.md +7 -6
  6. package/adapters/codex/skills/agnix/SKILL.md +0 -1
  7. package/adapters/codex/skills/audit-project/SKILL.md +0 -1
  8. package/adapters/codex/skills/audit-project-agents/SKILL.md +0 -1
  9. package/adapters/codex/skills/audit-project-github/SKILL.md +0 -1
  10. package/adapters/codex/skills/consult/SKILL.md +133 -59
  11. package/adapters/codex/skills/debate/SKILL.md +214 -0
  12. package/adapters/codex/skills/delivery-approval/SKILL.md +0 -1
  13. package/adapters/codex/skills/deslop/SKILL.md +0 -1
  14. package/adapters/codex/skills/drift-detect/SKILL.md +0 -1
  15. package/adapters/codex/skills/enhance/SKILL.md +0 -1
  16. package/adapters/codex/skills/learn/SKILL.md +0 -1
  17. package/adapters/codex/skills/next-task/SKILL.md +0 -1
  18. package/adapters/codex/skills/perf/SKILL.md +0 -1
  19. package/adapters/codex/skills/repo-map/SKILL.md +0 -1
  20. package/adapters/codex/skills/ship/SKILL.md +0 -1
  21. package/adapters/codex/skills/ship-ci-review-loop/SKILL.md +0 -1
  22. package/adapters/codex/skills/ship-deployment/SKILL.md +0 -1
  23. package/adapters/codex/skills/ship-error-handling/SKILL.md +0 -1
  24. package/adapters/codex/skills/sync-docs/SKILL.md +0 -1
  25. package/adapters/opencode/agents/agent-enhancer.md +0 -1
  26. package/adapters/opencode/agents/agnix-agent.md +0 -1
  27. package/adapters/opencode/agents/ci-fixer.md +0 -1
  28. package/adapters/opencode/agents/ci-monitor.md +0 -1
  29. package/adapters/opencode/agents/claudemd-enhancer.md +0 -1
  30. package/adapters/opencode/agents/consult-agent.md +123 -31
  31. package/adapters/opencode/agents/cross-file-enhancer.md +0 -1
  32. package/adapters/opencode/agents/debate-orchestrator.md +169 -0
  33. package/adapters/opencode/agents/delivery-validator.md +0 -1
  34. package/adapters/opencode/agents/deslop-agent.md +0 -1
  35. package/adapters/opencode/agents/docs-enhancer.md +0 -1
  36. package/adapters/opencode/agents/exploration-agent.md +0 -1
  37. package/adapters/opencode/agents/hooks-enhancer.md +0 -1
  38. package/adapters/opencode/agents/implementation-agent.md +0 -1
  39. package/adapters/opencode/agents/learn-agent.md +0 -1
  40. package/adapters/opencode/agents/map-validator.md +0 -1
  41. package/adapters/opencode/agents/perf-analyzer.md +0 -1
  42. package/adapters/opencode/agents/perf-code-paths.md +0 -1
  43. package/adapters/opencode/agents/perf-investigation-logger.md +0 -1
  44. package/adapters/opencode/agents/perf-orchestrator.md +0 -1
  45. package/adapters/opencode/agents/perf-theory-gatherer.md +0 -1
  46. package/adapters/opencode/agents/perf-theory-tester.md +0 -1
  47. package/adapters/opencode/agents/plan-synthesizer.md +0 -1
  48. package/adapters/opencode/agents/planning-agent.md +0 -1
  49. package/adapters/opencode/agents/plugin-enhancer.md +0 -1
  50. package/adapters/opencode/agents/prompt-enhancer.md +0 -1
  51. package/adapters/opencode/agents/simple-fixer.md +0 -1
  52. package/adapters/opencode/agents/skills-enhancer.md +0 -1
  53. package/adapters/opencode/agents/sync-docs-agent.md +0 -1
  54. package/adapters/opencode/agents/task-discoverer.md +0 -1
  55. package/adapters/opencode/agents/test-coverage-checker.md +0 -1
  56. package/adapters/opencode/agents/worktree-manager.md +0 -1
  57. package/adapters/opencode/commands/agnix.md +0 -1
  58. package/adapters/opencode/commands/audit-project-agents.md +0 -1
  59. package/adapters/opencode/commands/audit-project-github.md +0 -1
  60. package/adapters/opencode/commands/audit-project.md +0 -1
  61. package/adapters/opencode/commands/consult.md +134 -59
  62. package/adapters/opencode/commands/debate.md +224 -0
  63. package/adapters/opencode/commands/delivery-approval.md +0 -1
  64. package/adapters/opencode/commands/deslop.md +0 -1
  65. package/adapters/opencode/commands/drift-detect.md +0 -1
  66. package/adapters/opencode/commands/enhance.md +0 -1
  67. package/adapters/opencode/commands/learn.md +0 -1
  68. package/adapters/opencode/commands/next-task.md +0 -1
  69. package/adapters/opencode/commands/perf.md +0 -1
  70. package/adapters/opencode/commands/repo-map.md +0 -1
  71. package/adapters/opencode/commands/ship-ci-review-loop.md +0 -1
  72. package/adapters/opencode/commands/ship-deployment.md +0 -1
  73. package/adapters/opencode/commands/ship-error-handling.md +0 -1
  74. package/adapters/opencode/commands/ship.md +0 -1
  75. package/adapters/opencode/commands/sync-docs.md +0 -1
  76. package/adapters/opencode/skills/agnix/SKILL.md +1 -2
  77. package/adapters/opencode/skills/consult/SKILL.md +41 -27
  78. package/adapters/opencode/skills/debate/SKILL.md +245 -0
  79. package/adapters/opencode/skills/deslop/SKILL.md +1 -2
  80. package/adapters/opencode/skills/discover-tasks/SKILL.md +1 -2
  81. package/adapters/opencode/skills/drift-analysis/SKILL.md +1 -2
  82. package/adapters/opencode/skills/enhance-agent-prompts/SKILL.md +1 -2
  83. package/adapters/opencode/skills/enhance-claude-memory/SKILL.md +1 -2
  84. package/adapters/opencode/skills/enhance-cross-file/SKILL.md +1 -2
  85. package/adapters/opencode/skills/enhance-docs/SKILL.md +1 -2
  86. package/adapters/opencode/skills/enhance-hooks/SKILL.md +1 -2
  87. package/adapters/opencode/skills/enhance-orchestrator/SKILL.md +1 -2
  88. package/adapters/opencode/skills/enhance-plugins/SKILL.md +1 -2
  89. package/adapters/opencode/skills/enhance-prompts/SKILL.md +1 -2
  90. package/adapters/opencode/skills/enhance-skills/SKILL.md +1 -2
  91. package/adapters/opencode/skills/learn/SKILL.md +1 -2
  92. package/adapters/opencode/skills/orchestrate-review/SKILL.md +0 -1
  93. package/adapters/opencode/skills/perf-analyzer/SKILL.md +1 -2
  94. package/adapters/opencode/skills/perf-baseline-manager/SKILL.md +1 -2
  95. package/adapters/opencode/skills/perf-benchmarker/SKILL.md +1 -2
  96. package/adapters/opencode/skills/perf-code-paths/SKILL.md +1 -2
  97. package/adapters/opencode/skills/perf-investigation-logger/SKILL.md +1 -2
  98. package/adapters/opencode/skills/perf-profiler/SKILL.md +1 -2
  99. package/adapters/opencode/skills/perf-theory-gatherer/SKILL.md +1 -2
  100. package/adapters/opencode/skills/perf-theory-tester/SKILL.md +1 -2
  101. package/adapters/opencode/skills/repo-mapping/SKILL.md +1 -2
  102. package/adapters/opencode/skills/sync-docs/SKILL.md +1 -2
  103. package/adapters/opencode/skills/validate-delivery/SKILL.md +1 -2
  104. package/lib/adapter-transforms.js +24 -4
  105. package/package.json +1 -1
  106. package/plugins/agnix/.claude-plugin/plugin.json +1 -1
  107. package/plugins/agnix/skills/agnix/SKILL.md +1 -1
  108. package/plugins/audit-project/.claude-plugin/plugin.json +1 -1
  109. package/plugins/audit-project/lib/adapter-transforms.js +24 -4
  110. package/plugins/consult/.claude-plugin/plugin.json +1 -1
  111. package/plugins/consult/agents/consult-agent.md +123 -30
  112. package/plugins/consult/commands/consult.md +136 -60
  113. package/plugins/consult/skills/consult/SKILL.md +39 -24
  114. package/plugins/debate/.claude-plugin/plugin.json +21 -0
  115. package/plugins/debate/agents/debate-orchestrator.md +175 -0
  116. package/plugins/debate/commands/debate.md +221 -0
  117. package/plugins/debate/lib/adapter-transforms.js +298 -0
  118. package/plugins/debate/lib/collectors/codebase.js +392 -0
  119. package/plugins/debate/lib/collectors/docs-patterns.js +713 -0
  120. package/plugins/debate/lib/collectors/documentation.js +219 -0
  121. package/plugins/debate/lib/collectors/github.js +330 -0
  122. package/plugins/debate/lib/collectors/index.js +126 -0
  123. package/plugins/debate/lib/config/index.js +14 -0
  124. package/plugins/debate/lib/cross-platform/index.js +539 -0
  125. package/plugins/debate/lib/discovery/index.js +352 -0
  126. package/plugins/debate/lib/drift-detect/collectors.js +37 -0
  127. package/plugins/debate/lib/enhance/agent-analyzer.js +421 -0
  128. package/plugins/debate/lib/enhance/agent-patterns.js +571 -0
  129. package/plugins/debate/lib/enhance/auto-suppression.js +622 -0
  130. package/plugins/debate/lib/enhance/benchmark.js +417 -0
  131. package/plugins/debate/lib/enhance/cross-file-analyzer.js +930 -0
  132. package/plugins/debate/lib/enhance/cross-file-patterns.js +370 -0
  133. package/plugins/debate/lib/enhance/docs-analyzer.js +325 -0
  134. package/plugins/debate/lib/enhance/docs-patterns.js +671 -0
  135. package/plugins/debate/lib/enhance/fixer.js +721 -0
  136. package/plugins/debate/lib/enhance/hook-analyzer.js +135 -0
  137. package/plugins/debate/lib/enhance/hook-patterns.js +40 -0
  138. package/plugins/debate/lib/enhance/index.js +127 -0
  139. package/plugins/debate/lib/enhance/plugin-analyzer.js +402 -0
  140. package/plugins/debate/lib/enhance/plugin-patterns.js +326 -0
  141. package/plugins/debate/lib/enhance/projectmemory-analyzer.js +551 -0
  142. package/plugins/debate/lib/enhance/projectmemory-patterns.js +617 -0
  143. package/plugins/debate/lib/enhance/prompt-analyzer.js +457 -0
  144. package/plugins/debate/lib/enhance/prompt-patterns.js +1484 -0
  145. package/plugins/debate/lib/enhance/reporter.js +1348 -0
  146. package/plugins/debate/lib/enhance/security-patterns.js +284 -0
  147. package/plugins/debate/lib/enhance/skill-analyzer.js +182 -0
  148. package/plugins/debate/lib/enhance/skill-patterns.js +147 -0
  149. package/plugins/debate/lib/enhance/suppression.js +352 -0
  150. package/plugins/debate/lib/enhance/tool-patterns.js +373 -0
  151. package/plugins/debate/lib/index.js +270 -0
  152. package/plugins/debate/lib/patterns/cli-enhancers.js +611 -0
  153. package/plugins/debate/lib/patterns/pipeline.js +948 -0
  154. package/plugins/debate/lib/patterns/review-patterns.js +558 -0
  155. package/plugins/debate/lib/patterns/slop-analyzers.js +2305 -0
  156. package/plugins/debate/lib/patterns/slop-patterns.js +1187 -0
  157. package/plugins/debate/lib/perf/analyzer/index.js +22 -0
  158. package/plugins/debate/lib/perf/argument-parser.js +105 -0
  159. package/plugins/debate/lib/perf/baseline-comparator.js +50 -0
  160. package/plugins/debate/lib/perf/baseline-store.js +127 -0
  161. package/plugins/debate/lib/perf/benchmark-runner.js +404 -0
  162. package/plugins/debate/lib/perf/breaking-point-finder.js +52 -0
  163. package/plugins/debate/lib/perf/breaking-point-runner.js +60 -0
  164. package/plugins/debate/lib/perf/checkpoint.js +123 -0
  165. package/plugins/debate/lib/perf/code-paths.js +86 -0
  166. package/plugins/debate/lib/perf/consolidation.js +37 -0
  167. package/plugins/debate/lib/perf/constraint-runner.js +71 -0
  168. package/plugins/debate/lib/perf/experiment-runner.js +32 -0
  169. package/plugins/debate/lib/perf/index.js +41 -0
  170. package/plugins/debate/lib/perf/investigation-state.js +874 -0
  171. package/plugins/debate/lib/perf/optimization-runner.js +79 -0
  172. package/plugins/debate/lib/perf/profilers/go.js +22 -0
  173. package/plugins/debate/lib/perf/profilers/index.js +46 -0
  174. package/plugins/debate/lib/perf/profilers/java.js +23 -0
  175. package/plugins/debate/lib/perf/profilers/node.js +27 -0
  176. package/plugins/debate/lib/perf/profilers/python.js +23 -0
  177. package/plugins/debate/lib/perf/profilers/rust.js +23 -0
  178. package/plugins/debate/lib/perf/profiling-runner.js +75 -0
  179. package/plugins/debate/lib/perf/schemas.js +140 -0
  180. package/plugins/debate/lib/platform/detect-platform.js +413 -0
  181. package/plugins/debate/lib/platform/detection-configs.js +93 -0
  182. package/plugins/debate/lib/platform/state-dir.js +132 -0
  183. package/plugins/debate/lib/platform/verify-tools.js +182 -0
  184. package/plugins/debate/lib/repo-map/cache.js +152 -0
  185. package/plugins/debate/lib/repo-map/concurrency.js +29 -0
  186. package/plugins/debate/lib/repo-map/index.js +222 -0
  187. package/plugins/debate/lib/repo-map/installer.js +212 -0
  188. package/plugins/debate/lib/repo-map/queries/go.js +27 -0
  189. package/plugins/debate/lib/repo-map/queries/index.js +100 -0
  190. package/plugins/debate/lib/repo-map/queries/java.js +38 -0
  191. package/plugins/debate/lib/repo-map/queries/javascript.js +55 -0
  192. package/plugins/debate/lib/repo-map/queries/python.js +24 -0
  193. package/plugins/debate/lib/repo-map/queries/rust.js +73 -0
  194. package/plugins/debate/lib/repo-map/queries/typescript.js +38 -0
  195. package/plugins/debate/lib/repo-map/runner.js +1364 -0
  196. package/plugins/debate/lib/repo-map/updater.js +562 -0
  197. package/plugins/debate/lib/repo-map/usage-analyzer.js +407 -0
  198. package/plugins/debate/lib/schemas/plugin-manifest.schema.json +57 -0
  199. package/plugins/debate/lib/schemas/validator.js +247 -0
  200. package/plugins/debate/lib/sources/custom-handler.js +199 -0
  201. package/plugins/debate/lib/sources/policy-questions.js +246 -0
  202. package/plugins/debate/lib/sources/source-cache.js +165 -0
  203. package/plugins/debate/lib/state/workflow-state.js +576 -0
  204. package/plugins/debate/lib/types/agent-frontmatter.d.ts +134 -0
  205. package/plugins/debate/lib/types/command-frontmatter.d.ts +107 -0
  206. package/plugins/debate/lib/types/hook-frontmatter.d.ts +115 -0
  207. package/plugins/debate/lib/types/index.d.ts +84 -0
  208. package/plugins/debate/lib/types/plugin-manifest.d.ts +102 -0
  209. package/plugins/debate/lib/types/skill-frontmatter.d.ts +89 -0
  210. package/plugins/debate/lib/utils/atomic-write.js +94 -0
  211. package/plugins/debate/lib/utils/cache-manager.js +159 -0
  212. package/plugins/debate/lib/utils/command-parser.js +0 -0
  213. package/plugins/debate/lib/utils/context-optimizer.js +300 -0
  214. package/plugins/debate/lib/utils/deprecation.js +37 -0
  215. package/plugins/debate/lib/utils/shell-escape.js +88 -0
  216. package/plugins/debate/lib/utils/state-helpers.js +61 -0
  217. package/plugins/debate/skills/debate/SKILL.md +264 -0
  218. package/plugins/deslop/.claude-plugin/plugin.json +1 -1
  219. package/plugins/deslop/lib/adapter-transforms.js +24 -4
  220. package/plugins/deslop/skills/deslop/SKILL.md +1 -1
  221. package/plugins/drift-detect/.claude-plugin/plugin.json +1 -1
  222. package/plugins/drift-detect/lib/adapter-transforms.js +24 -4
  223. package/plugins/drift-detect/skills/drift-analysis/SKILL.md +1 -1
  224. package/plugins/enhance/.claude-plugin/plugin.json +1 -1
  225. package/plugins/enhance/lib/adapter-transforms.js +24 -4
  226. package/plugins/enhance/skills/enhance-agent-prompts/SKILL.md +1 -1
  227. package/plugins/enhance/skills/enhance-claude-memory/SKILL.md +1 -1
  228. package/plugins/enhance/skills/enhance-cross-file/SKILL.md +1 -1
  229. package/plugins/enhance/skills/enhance-docs/SKILL.md +1 -1
  230. package/plugins/enhance/skills/enhance-hooks/SKILL.md +1 -1
  231. package/plugins/enhance/skills/enhance-orchestrator/SKILL.md +1 -1
  232. package/plugins/enhance/skills/enhance-plugins/SKILL.md +1 -1
  233. package/plugins/enhance/skills/enhance-prompts/SKILL.md +1 -1
  234. package/plugins/enhance/skills/enhance-skills/SKILL.md +1 -1
  235. package/plugins/learn/.claude-plugin/plugin.json +1 -1
  236. package/plugins/learn/agents/learn-agent.md +1 -1
  237. package/plugins/learn/lib/adapter-transforms.js +24 -4
  238. package/plugins/learn/skills/learn/SKILL.md +1 -1
  239. package/plugins/next-task/.claude-plugin/plugin.json +1 -1
  240. package/plugins/next-task/agents/exploration-agent.md +1 -1
  241. package/plugins/next-task/lib/adapter-transforms.js +24 -4
  242. package/plugins/next-task/skills/discover-tasks/SKILL.md +1 -1
  243. package/plugins/next-task/skills/validate-delivery/SKILL.md +1 -1
  244. package/plugins/perf/.claude-plugin/plugin.json +1 -1
  245. package/plugins/perf/lib/adapter-transforms.js +24 -4
  246. package/plugins/perf/skills/perf-analyzer/SKILL.md +1 -1
  247. package/plugins/perf/skills/perf-baseline-manager/SKILL.md +1 -1
  248. package/plugins/perf/skills/perf-benchmarker/SKILL.md +1 -1
  249. package/plugins/perf/skills/perf-code-paths/SKILL.md +1 -1
  250. package/plugins/perf/skills/perf-investigation-logger/SKILL.md +1 -1
  251. package/plugins/perf/skills/perf-profiler/SKILL.md +1 -1
  252. package/plugins/perf/skills/perf-theory-gatherer/SKILL.md +1 -1
  253. package/plugins/perf/skills/perf-theory-tester/SKILL.md +1 -1
  254. package/plugins/repo-map/.claude-plugin/plugin.json +1 -1
  255. package/plugins/repo-map/lib/adapter-transforms.js +24 -4
  256. package/plugins/ship/.claude-plugin/plugin.json +1 -1
  257. package/plugins/ship/lib/adapter-transforms.js +24 -4
  258. package/plugins/sync-docs/.claude-plugin/plugin.json +1 -1
  259. package/plugins/sync-docs/lib/adapter-transforms.js +24 -4
  260. package/plugins/sync-docs/skills/sync-docs/SKILL.md +1 -1
  261. package/scripts/gen-adapters.js +6 -7
  262. package/scripts/generate-docs.js +4 -2
  263. package/scripts/plugins.txt +1 -0
  264. package/site/content.json +6 -6
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agentsys",
3
- "description": "12 specialized plugins for AI workflow automation - task orchestration, PR workflow, slop detection, code review, drift detection, enhancement analysis, documentation sync, repo mapping, perf investigations, topic research, agent config linting, and cross-tool AI consultation",
4
- "version": "5.0.2",
3
+ "description": "13 specialized plugins for AI workflow automation - task orchestration, PR workflow, slop detection, code review, drift detection, enhancement analysis, documentation sync, repo mapping, perf investigations, topic research, agent config linting, cross-tool AI consultation, and structured AI debate",
4
+ "version": "5.1.0",
5
5
  "owner": {
6
6
  "name": "Avi Fenesh",
7
7
  "url": "https://github.com/avifenesh"
@@ -26,84 +26,91 @@
26
26
  "name": "next-task",
27
27
  "source": "./plugins/next-task",
28
28
  "description": "Master workflow orchestrator: autonomous workflow with model optimization (opus/sonnet/haiku), two-file state management, workflow enforcement gates, 14 specialist agents",
29
- "version": "5.0.2",
29
+ "version": "5.1.0",
30
30
  "category": "productivity"
31
31
  },
32
32
  {
33
33
  "name": "ship",
34
34
  "source": "./plugins/ship",
35
35
  "description": "Complete PR workflow: commit to production, skips review when called from next-task, removes task from registry on cleanup, automatic rollback",
36
- "version": "5.0.2",
36
+ "version": "5.1.0",
37
37
  "category": "deployment"
38
38
  },
39
39
  {
40
40
  "name": "deslop",
41
41
  "source": "./plugins/deslop",
42
42
  "description": "3-phase AI slop detection: regex patterns (HIGH), multi-pass analyzers (MEDIUM), CLI tools (LOW)",
43
- "version": "5.0.2",
43
+ "version": "5.1.0",
44
44
  "category": "development"
45
45
  },
46
46
  {
47
47
  "name": "audit-project",
48
48
  "source": "./plugins/audit-project",
49
49
  "description": "Multi-agent iterative code review until zero issues remain",
50
- "version": "5.0.2",
50
+ "version": "5.1.0",
51
51
  "category": "development"
52
52
  },
53
53
  {
54
54
  "name": "drift-detect",
55
55
  "source": "./plugins/drift-detect",
56
56
  "description": "Deep repository analysis to realign project plans with code reality - detects drift, gaps, and creates prioritized reconstruction plans",
57
- "version": "5.0.2",
57
+ "version": "5.1.0",
58
58
  "category": "productivity"
59
59
  },
60
60
  {
61
61
  "name": "enhance",
62
62
  "source": "./plugins/enhance",
63
63
  "description": "Master enhancement orchestrator: parallel analyzer execution for plugins, agents, docs, CLAUDE.md, and prompts with unified reporting",
64
- "version": "5.0.2",
64
+ "version": "5.1.0",
65
65
  "category": "development"
66
66
  },
67
67
  {
68
68
  "name": "sync-docs",
69
69
  "source": "./plugins/sync-docs",
70
70
  "description": "Standalone documentation sync: find outdated refs, update CHANGELOG, flag stale examples based on code changes",
71
- "version": "5.0.2",
71
+ "version": "5.1.0",
72
72
  "category": "development"
73
73
  },
74
74
  {
75
75
  "name": "repo-map",
76
76
  "source": "./plugins/repo-map",
77
77
  "description": "AST-based repository map generation using ast-grep with incremental updates for faster drift analysis",
78
- "version": "5.0.2",
78
+ "version": "5.1.0",
79
79
  "category": "development"
80
80
  },
81
81
  {
82
82
  "name": "perf",
83
83
  "source": "./plugins/perf",
84
84
  "description": "Rigorous performance investigation workflow with baselines, profiling, hypotheses, and evidence-backed decisions",
85
- "version": "5.0.2",
85
+ "version": "5.1.0",
86
86
  "category": "development"
87
87
  },
88
88
  {
89
89
  "name": "learn",
90
90
  "source": "./plugins/learn",
91
91
  "description": "Research topics online and create comprehensive learning guides with RAG-optimized indexes",
92
- "version": "5.0.2",
92
+ "version": "5.1.0",
93
93
  "category": "productivity"
94
94
  },
95
95
  {
96
96
  "name": "agnix",
97
97
  "source": "./plugins/agnix",
98
98
  "description": "Lint agent configuration files (SKILL.md, CLAUDE.md, hooks, MCP) against 155 rules across 10+ AI tools",
99
- "version": "5.0.2",
99
+ "version": "5.1.0",
100
100
  "category": "development"
101
101
  },
102
102
  {
103
103
  "name": "consult",
104
104
  "source": "./plugins/consult",
105
105
  "description": "Cross-tool AI consultation: get second opinions from Gemini CLI, Codex CLI, Claude Code, OpenCode, or Copilot CLI with model and thinking effort control",
106
- "version": "5.0.2",
106
+ "version": "5.1.0",
107
+ "category": "productivity"
108
+ },
109
+ {
110
+ "name": "debate",
111
+ "source": "./plugins/debate",
112
+ "description": "Structured multi-round debate between AI tools with proposer/challenger roles and verdict",
113
+ "version": "5.1.0",
107
114
  "category": "productivity"
108
115
  }
109
116
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentsys",
3
- "version": "5.0.2",
3
+ "version": "5.1.0",
4
4
  "description": "Professional-grade slash commands for Claude Code with cross-platform support",
5
5
  "keywords": [
6
6
  "workflow",
package/AGENTS.md CHANGED
@@ -76,7 +76,7 @@
76
76
  <!-- GEN:START:claude-architecture -->
77
77
  ```
78
78
  lib/ → Shared library (vendored to plugins)
79
- plugins/ → 12 plugins, 41 agents (31 file-based + 10 role-based), 27 skills
79
+ plugins/ → 13 plugins, 42 agents (32 file-based + 10 role-based), 28 skills
80
80
  adapters/ → Platform adapters (opencode-plugin/, opencode/, codex/)
81
81
  checklists/ → Action checklists (9 files)
82
82
  bin/cli.js → npm CLI installer
@@ -87,6 +87,7 @@ bin/cli.js → npm CLI installer
87
87
  | agnix | 1 | 1 | Agent config linting |
88
88
  | audit-project | 10 | 0 | Multi-agent code review |
89
89
  | consult | 1 | 1 | Cross-tool AI consultation |
90
+ | debate | 1 | 1 | Multi-perspective debate analysis |
90
91
  | deslop | 1 | 1 | AI slop cleanup |
91
92
  | drift-detect | 1 | 1 | Plan drift detection |
92
93
  | enhance | 8 | 9 | Code quality analyzers |
package/CHANGELOG.md CHANGED
@@ -9,10 +9,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [5.1.0] - 2026-02-18
13
+
14
+ ### Added
15
+
16
+ - **`/debate` plugin** — New plugin for structured multi-round AI dialectic. Pick two tools (e.g. `codex vs gemini`), set 1–5 rounds, and get a proposer/challenger debate with a synthesized verdict. Supports natural language input, effort levels (`--effort=low|high|max`), and context injection (`--context=diff` or `--context=file=PATH`). Available on Claude Code, OpenCode, and Codex CLI.
17
+ - **`/consult` multi-instance support** — Run N parallel consultations with the same tool using `--count=N` (or natural language: "ask 3 gemini about this"). Responses are numbered and a brief synthesis highlights agreements and differences.
18
+ - **`/consult` natural language parsing** — Free-form queries are now parsed automatically without requiring explicit flags. "with codex about my auth approach", "ask gemini thoroughly about this design", or "3 claude opinions on error handling" all work out of the box.
19
+
20
+ ### Changed
21
+
22
+ - **Agent model optimization** — `exploration-agent` and `learn-agent` switched from opus to sonnet, reducing cost and latency for exploration and research passes with no quality regression.
23
+
24
+ ### Fixed
25
+
26
+ - **Debate `--context=file` path validation** — Added path containment checks to prevent directory traversal when passing file paths as context.
27
+ - **Debate prompt hardening** — Context passthrough, canonical output redaction, and relaxed disagreement rules applied consistently across all debate rounds.
28
+ - **Consult model/flag issues** — Hardened model flag handling and non-interactive invocation across all four supported tools (Claude, Gemini, Codex, OpenCode).
29
+
30
+ ## [5.0.3] - 2026-02-17
31
+
32
+ ### Fixed
33
+ - **Consult: Codex command corrected to `codex exec`** - Codex CLI uses `codex exec` for non-interactive mode (not `-q` flag). Non-interactive resume uses `codex exec resume SESSION_ID "prompt" --json`. All four tools (Claude, Gemini, Codex, OpenCode) now have correct native session resume support.
34
+
12
35
  ## [5.0.2] - 2026-02-17
13
36
 
14
37
  ### Fixed
15
- - **Consult: Codex and OpenCode marked as continuable** - Both tools support session resume but were incorrectly marked as non-continuable. Codex supports `codex resume` (TUI-only; non-interactive uses context prepending). OpenCode supports `--session SESSION_ID` and `--continue` flags in non-interactive mode.
38
+ - **Consult: Codex and OpenCode marked as continuable** - Both tools support session resume but were incorrectly marked as non-continuable. OpenCode supports `--session SESSION_ID` and `--continue` flags in non-interactive mode.
16
39
 
17
40
  ## [5.0.1] - 2026-02-14
18
41
 
package/README.md CHANGED
@@ -21,7 +21,7 @@
21
21
  </p>
22
22
 
23
23
  <p align="center">
24
- <b>12 plugins · 41 agents · 27 skills · 26k lines of lib code · 3,357 tests · 3 platforms</b>
24
+ <b>13 plugins · 42 agents · 28 skills · 26k lines of lib code · 3,357 tests · 3 platforms</b>
25
25
  </p>
26
26
 
27
27
  <p align="center">
@@ -46,7 +46,7 @@ AI models can write code. That's not the hard part anymore. The hard part is eve
46
46
 
47
47
  ## What This Is
48
48
 
49
- An agent orchestration system — 12 plugins, 41 agents, and 27 skills that compose into structured pipelines for software development.
49
+ An agent orchestration system — 13 plugins, 42 agents, and 28 skills that compose into structured pipelines for software development.
50
50
 
51
51
  Each agent has a single responsibility, a specific model assignment, and defined inputs/outputs. Pipelines enforce phase gates so agents can't skip steps. State persists across sessions so work survives interruptions.
52
52
 
@@ -91,6 +91,7 @@ This came from testing on 1,000+ repositories.
91
91
  | [`/sync-docs`](#sync-docs) | Finds outdated references, stale examples, missing CHANGELOG entries |
92
92
  | [`/learn`](#learn) | Research any topic, gather online sources, create learning guide with RAG index |
93
93
  | [`/consult`](#consult) | Consult another AI CLI tool for a second opinion. Use when you want to cross-check ideas, get alternative approaches, or validate decisions with Gemini, Codex, Claude, OpenCode, or Copilot. |
94
+ | [`/debate`](#debate) | Structured debate between two AI tools to stress-test ideas. Proposer/Challenger format with a verdict. |
94
95
  <!-- GEN:END:readme-commands -->
95
96
 
96
97
  Each command works standalone. Together, they compose into end-to-end pipelines.
@@ -100,7 +101,7 @@ Each command works standalone. Together, they compose into end-to-end pipelines.
100
101
  ## Skills
101
102
 
102
103
  <!-- GEN:START:readme-skills -->
103
- 27 skills included across the plugins:
104
+ 28 skills included across the plugins:
104
105
 
105
106
  | Category | Skills |
106
107
  |----------|--------|
@@ -108,7 +109,7 @@ Each command works standalone. Together, they compose into end-to-end pipelines.
108
109
  | **Enhancement** | `enhance:enhance-agent-prompts`, `enhance:enhance-claude-memory`, `enhance:enhance-cross-file`, `enhance:enhance-docs`, `enhance:enhance-hooks`, `enhance:enhance-orchestrator`, `enhance:enhance-plugins`, `enhance:enhance-prompts`, `enhance:enhance-skills` |
109
110
  | **Workflow** | `next-task:discover-tasks`, `next-task:orchestrate-review`, `next-task:validate-delivery` |
110
111
  | **Cleanup** | `deslop:deslop`, `sync-docs:sync-docs` |
111
- | **Analysis** | `drift-detect:drift-analysis`, `repo-map:repo-mapping` |
112
+ | **Analysis** | `debate:debate`, `drift-detect:drift-analysis`, `repo-map:repo-mapping` |
112
113
  | **Productivity** | `consult:consult` |
113
114
  | **Learning** | `learn:learn` |
114
115
  | **Linting** | `agnix:agnix` |
@@ -124,7 +125,7 @@ Skills are the reusable implementation units. Agents invoke skills; commands orc
124
125
  |---------|--------------|
125
126
  | [The Approach](#the-approach) | Why it's built this way |
126
127
  | [Commands](#commands) | All 12 commands overview |
127
- | [Skills](#skills) | 27 skills across plugins |
128
+ | [Skills](#skills) | 28 skills across plugins |
128
129
  | [Command Details](#command-details) | Deep dive into each command |
129
130
  | [How Commands Work Together](#how-commands-work-together) | Standalone vs integrated |
130
131
  | [Design Philosophy](#design-philosophy) | The thinking behind the architecture |
@@ -650,7 +651,7 @@ agent-knowledge/
650
651
  | Tool | Default Model (high) | Reasoning Control |
651
652
  |------|---------------------|-------------------|
652
653
  | Claude | opus | max-turns |
653
- | Gemini | gemini-3-pro-preview | built-in |
654
+ | Gemini | gemini-3-pro | built-in |
654
655
  | Codex | gpt-5.3-codex | model_reasoning_effort |
655
656
  | OpenCode | github-copilot/claude-opus-4-6 | --variant |
656
657
  | Copilot | (default) | none |
@@ -1,4 +1,3 @@
1
- <!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->
2
1
  ---
3
2
  name: agnix
4
3
  description: "Use when user asks to \"lint agent configs\", \"validate skills\", \"check CLAUDE.md\", \"validate hooks\", \"lint MCP\". Validates agent configuration files against 155 rules across 10+ AI tools."
@@ -1,4 +1,3 @@
1
- <!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->
2
1
  ---
3
2
  name: audit-project
4
3
  description: "Use when user asks to \"review my code\", \"check for issues\", \"run code review\", \"analyze PR quality\". Multi-agent iterative review that loops until all critical/high issues are resolved."
@@ -1,4 +1,3 @@
1
- <!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->
2
1
  ---
3
2
  name: audit-project-agents
4
3
  description: "Use when coordinating multi-agent review passes in /audit-project. Details agent specialization, file filtering, and review queue handling."
@@ -1,4 +1,3 @@
1
- <!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->
2
1
  ---
3
2
  name: audit-project-github
4
3
  description: "Create GitHub issues for non-security deferred findings identified by /audit-project."
@@ -1,59 +1,85 @@
1
- <!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->
2
1
  ---
3
2
  name: consult
4
- description: "Use when user asks to \"consult gemini\", \"ask codex\", \"get second opinion\", \"cross-check with claude\", \"consult another AI\", \"ask opencode\", \"copilot opinion\". Queries another AI CLI tool and returns the response."
3
+ description: "Use when user asks to \"consult gemini\", \"ask codex\", \"get second opinion\", \"cross-check with claude\", \"consult another AI\", \"ask opencode\", \"copilot opinion\", \"ask 3 codex\", \"multi-consult\". Queries another AI CLI tool and returns the response."
5
4
  ---
6
5
 
7
6
  # /consult - Cross-Tool AI Consultation
8
7
 
9
- You are executing the /consult command. Your job is to consult another AI CLI tool, get its response, and present the results to the user.
8
+ You are executing the /consult command. Your job is to parse the user's request (natural language or flags), resolve missing parameters interactively, and execute the consultation.
10
9
 
11
10
  ## Constraints
12
11
 
13
12
  - NEVER expose API keys in commands or output
14
13
  - NEVER run with permission-bypassing flags (`--dangerously-skip-permissions`, `bypassPermissions`)
15
- - MUST use safe-mode defaults (`-a suggest` for Codex, `--allowedTools "Read,Glob,Grep"` for Claude)
14
+ - MUST use safe-mode defaults (`--allowedTools "Read,Glob,Grep"` for Claude, `-c model_reasoning_effort` for Codex)
16
15
  - MUST enforce 120s timeout on all tool executions
17
- - MUST validate `--tool` against allow-list: gemini, codex, claude, opencode, copilot (reject all others)
16
+ - MUST validate tool names against allow-list: gemini, codex, claude, opencode, copilot (reject all others)
18
17
  - MUST validate `--context=file=PATH` is within the project directory (reject absolute paths outside cwd)
19
18
  - MUST quote all user-provided values in shell commands to prevent injection
20
19
  - NEVER execute tools the user has not explicitly requested
21
20
 
22
- ## Arguments
21
+ ## Execution
23
22
 
24
- Parse from $ARGUMENTS:
23
+ ### Phase 1: Parse Input (Flags + Natural Language)
25
24
 
26
- - **question**: What to ask the consulted tool (required unless --continue)
27
- - **--tool**: Target tool: `gemini`, `codex`, `claude`, `opencode`, `copilot` (interactive picker if omitted)
28
- - **--effort**: Thinking effort: `low`, `medium`, `high`, `max` (interactive picker if omitted)
29
- - **--model**: Specific model name (interactive picker if omitted). Free text.
30
- - **--context**: Auto-include context: `diff` (git diff), `file=PATH` (attach specific file), `none` (default)
31
- - **--continue**: Continue last consultation session, or `--continue=SESSION_ID` for specific session
25
+ Parse `$ARGUMENTS` using both explicit flags and natural language extraction. Flags always take priority over NLP when both provide the same parameter.
32
26
 
33
- ## Execution
27
+ #### Step 1a: Extract explicit flags
28
+
29
+ Look for and remove these flags from `$ARGUMENTS`:
30
+
31
+ 1. `--tool=VALUE` or `--tool VALUE` where VALUE is one of: gemini, codex, claude, opencode, copilot
32
+ 2. `--effort=VALUE` or `--effort VALUE` where VALUE is one of: low, medium, high, max
33
+ 3. `--model=VALUE` or `--model VALUE` (any string, including quoted)
34
+ 4. `--context=VALUE` where VALUE is: diff, file=PATH, or none
35
+ 5. `--continue` (optionally `--continue=SESSION_ID`)
36
+ 6. `--count=N` where N is 1-5
37
+
38
+ Remove all matched flags and their values from `$ARGUMENTS`.
39
+
40
+ #### Step 1b: Natural language extraction (on remaining text)
41
+
42
+ After removing flags, parse the remaining text for these patterns:
34
43
 
35
- ### Phase 1: Parse Arguments
44
+ **Tool extraction** (case-insensitive):
45
+ - "with {tool}" (e.g., "with codex") -> tool
46
+ - "ask {tool}" (e.g., "ask gemini") -> tool
47
+ - "consult {tool}" -> tool
48
+ - "{tool} about" (e.g., "codex about") -> tool
49
+ - Tool names: claude, gemini, codex, opencode, copilot
36
50
 
37
- Extract these values from `$ARGUMENTS`:
51
+ **Count extraction**:
52
+ - "ask {N} {tool}" (e.g., "ask 3 codex") -> count=N, tool
53
+ - "{N} {tool}" (e.g., "3 codex") -> count=N, tool
54
+ - "{N} instances" -> count=N
55
+ - "few instances" / "multiple" / "several" -> count=ambiguous (ask user in Phase 2)
38
56
 
39
- 1. Look for `--tool=VALUE` or `--tool VALUE` where VALUE MUST be one of: gemini, codex, claude, opencode, copilot (reject others)
40
- 2. Look for `--effort=VALUE` or `--effort VALUE` where VALUE MUST be one of: low, medium, high, max
41
- 3. Look for `--model=VALUE` or `--model VALUE` (any string, including quoted strings like `"my model"`)
42
- 4. Look for `--context=VALUE` where VALUE is: diff, file=PATH, or none
43
- 5. Look for `--continue` (optionally `--continue=SESSION_ID`)
44
- 6. Remove all matched flags (including their values) from `$ARGUMENTS`. Handle quoted flag values (e.g., `--model "gpt 4"`) by removing the entire quoted string. Everything remaining is the **question**.
57
+ **Count validation**: After extracting count (from flags or NLP), validate: 1 <= count <= 5. If count < 1 or count > 5, show `[ERROR] Instance count must be 1-5. Got: {count}` and stop.
45
58
 
46
- If no question text and no `--continue` flag found, show:
59
+ **Effort extraction**:
60
+ - "quick" / "fast" / "brief" -> effort=low
61
+ - "thorough" / "deep" / "carefully" / "detailed" -> effort=high
62
+ - "maximum" / "max effort" / "exhaustive" -> effort=max
63
+
64
+ **Question extraction**:
65
+ - Text after "about" is the question (e.g., "with codex about my auth approach" -> question="my auth approach")
66
+ - If no "about" pattern, everything remaining after removing tool/count/effort markers is the question
67
+
68
+ **Precedence rule**: Flags from Step 1a always override NLP from Step 1b.
69
+
70
+ If no question text and no `--continue` flag found after both steps:
47
71
  ```
48
- [ERROR] Usage: /consult "your question" [--tool=gemini|codex|claude|opencode|copilot] [--effort=low|medium|high|max]
72
+ [ERROR] Usage: /consult "your question" or /consult with gemini about your question
49
73
  ```
50
74
 
51
- ### Phase 2: Interactive Parameter Selection
75
+ ### Phase 2: Interactive Parameter Resolution
52
76
 
53
- MUST resolve ALL missing parameters interactively before Phase 3. ONLY skip this phase if ALL of --tool, --effort, AND --model are explicitly provided by the user in $ARGUMENTS. Do NOT silently default any parameter.
77
+ MUST resolve ALL missing parameters interactively. ONLY skip this phase if ALL required params (tool, effort, model) are resolved AND either a question exists or --continue is present. Do NOT silently default any parameter.
54
78
 
55
79
  #### Step 2a: Handle --continue
56
80
 
81
+ **Note:** `--continue` and `--count > 1` are mutually exclusive. Session resume applies to a single tool session. If both are present, show `[ERROR] Cannot use --continue with --count > 1. Use --continue for single session resume.` and stop.
82
+
57
83
  If `--continue` is present:
58
84
  1. Read the session file at `{AI_STATE_DIR}/consult/last-session.json`
59
85
 
@@ -64,9 +90,9 @@ If `--continue` is present:
64
90
  2. If the file exists, restore the saved tool, session_id, and model from it
65
91
  3. If the file does not exist, show `[WARN] No previous session found` and proceed as a fresh consultation
66
92
 
67
- #### Step 2b: Batch Selection (tool + effort)
93
+ #### Step 2b: Detect installed tools
68
94
 
69
- First, detect which tools are installed by running all 5 checks **in parallel** via Bash:
95
+ Run all 5 checks **in parallel** via Bash:
70
96
 
71
97
  - `where.exe <tool> 2>nul && echo FOUND || echo NOTFOUND` (Windows)
72
98
  - `which <tool> 2>/dev/null && echo FOUND || echo NOTFOUND` (Unix)
@@ -75,13 +101,15 @@ Check for: claude, gemini, codex, opencode, copilot.
75
101
 
76
102
  If zero tools are installed: `[ERROR] No AI CLI tools found. Install at least one: npm i -g @anthropic-ai/claude-code, npm i -g @openai/codex, npm i -g opencode-ai`
77
103
 
78
- Then use a SINGLE request_user_input call to ask all missing parameters at once. Include only the questions for parameters NOT already provided in $ARGUMENTS:
104
+ #### Step 2c: Batch selection for missing params
105
+
106
+ Use a SINGLE request_user_input call to ask all missing parameters at once. Include ONLY questions for parameters NOT already resolved from Phase 1:
79
107
 
80
108
  ```
81
109
  request_user_input:
82
110
  > **Codex**: Each question MUST include a unique `id` field (e.g., `id: "q1"`).
83
111
  questions:
84
- - header: "AI Tool" # SKIP if --tool provided
112
+ - header: "AI Tool" # SKIP if tool resolved
85
113
  question: "Which AI tool should I consult?"
86
114
  options (only if installed):
87
115
  - label: "Claude" description: "Deep code reasoning"
@@ -90,23 +118,35 @@ request_user_input:
90
118
  - label: "OpenCode" description: "Flexible model choice"
91
119
  - label: "Copilot" description: "GitHub-integrated AI"
92
120
 
93
- - header: "Effort" # SKIP if --effort provided
121
+ - header: "Effort" # SKIP if effort resolved
94
122
  question: "What thinking effort level?"
95
123
  options:
96
124
  - label: "Medium (Recommended)" description: "Balanced speed and quality"
97
125
  - label: "Low" description: "Fast, minimal reasoning"
98
126
  - label: "High" description: "Thorough analysis"
99
127
  - label: "Max" description: "Maximum reasoning depth"
128
+
129
+ - header: "Instances" # SKIP if count resolved or not hinted
130
+ question: "How many parallel consultations?"
131
+ options:
132
+ - label: "1 (Single)" description: "Standard single consultation"
133
+ - label: "2 (Compare)" description: "Two responses to compare"
134
+ - label: "3 (Panel)" description: "Three perspectives"
135
+ - label: "5 (Full spread)" description: "Five diverse perspectives"
100
136
  ```
101
137
 
102
- Map tool choice to lowercase: "Claude" -> "claude", "Codex" -> "codex", etc.
103
- Map effort choice: "Medium (Recommended)" -> "medium", "Low" -> "low", "High" -> "high", "Max" -> "max".
138
+ ONLY show the Instances question if:
139
+ - The user explicitly mentioned multiple instances (e.g., "few", "multiple", "several")
140
+ - The count was set but ambiguous
141
+ Do NOT show Instances question for simple single-tool requests. Default count=1 silently when no multi-instance intent detected.
104
142
 
105
- IMPORTANT: Do NOT skip any missing parameter. Do NOT silently default --effort to "medium" or --tool to any value. Present pickers for ALL unresolved parameters.
143
+ Map tool choice to lowercase: "Claude" -> "claude", "Codex" -> "codex", etc.
144
+ Map effort choice: "Medium (Recommended)" -> "medium", "Low" -> "low", etc.
145
+ Map count choice: "1 (Single)" -> 1, "2 (Compare)" -> 2, "3 (Panel)" -> 3.
106
146
 
107
- #### Step 2c: Model Selection (MUST ask if no --model)
147
+ #### Step 2d: Model selection (MUST ask if no --model)
108
148
 
109
- After tool is resolved (from Step 2b or $ARGUMENTS), present a model picker with options specific to the selected tool. The user can always type a custom model name via the "Other" option.
149
+ After tool is resolved, present a model picker with options specific to the selected tool. The user can always type a custom model name via the "Other" option.
110
150
 
111
151
  **For Claude:**
112
152
  ```
@@ -146,7 +186,7 @@ request_user_input:
146
186
  - label: "gpt-5.3-codex" description: "Latest, most capable coding model"
147
187
  - label: "gpt-5.2-codex" description: "Strong coding model"
148
188
  - label: "gpt-5.2" description: "General purpose GPT-5.2"
149
- - label: "gpt-5-codex-mini" description: "Cost-effective, 4x more usage"
189
+ - label: "gpt-5.3-codex-spark" description: "Cost-effective, 4x more usage"
150
190
  ```
151
191
 
152
192
  **For OpenCode:**
@@ -173,17 +213,21 @@ request_user_input:
173
213
  options:
174
214
  - label: "claude-sonnet-4-5" description: "Default Copilot model"
175
215
  - label: "claude-opus-4-6" description: "Most capable Claude model"
176
- - label: "gpt-5.3-codex" description: "OpenAI GPT-5.3 Codex"
216
+ - label: "gpt-5.3-codex" description: "OpenAI GPT-5.3 Codex"
177
217
  - label: "gemini-3-pro" description: "Google Gemini 3 Pro"
178
218
  ```
179
219
 
180
- Map the user's choice to the model string (strip " (Recommended)" suffix if present). Pass the selected model to the skill via `--model`.
220
+ Map the user's choice to the model string (strip " (Recommended)" suffix if present).
181
221
 
182
- IMPORTANT: Do NOT skip this step. Do NOT silently use a default model. If --model was not explicitly provided in $ARGUMENTS, you MUST present this picker. The model lists above are current as of Feb 2026 - the user may type any model name supported by their tool via the "Other" option.
222
+ IMPORTANT: Do NOT skip model selection. Do NOT silently use a default model. If --model was not explicitly provided, you MUST present this picker.
183
223
 
184
- ### Phase 3: Invoke Consult Skill
224
+ ### Phase 3: Execute Consultation
185
225
 
186
- With all parameters resolved (tool, effort, model, question, and optionally context, continue), invoke the `consult` skill using the Skill tool:
226
+ With all parameters resolved (tool, effort, model, question, count, and optionally context/continue):
227
+
228
+ #### Single instance (count=1, the default)
229
+
230
+ Invoke the `consult` skill directly using the Skill tool:
187
231
 
188
232
  ```
189
233
  Skill: consult
@@ -192,15 +236,35 @@ Args: "[question]" --tool=[tool] --effort=[effort] --model=[model] [--context=[c
192
236
  Example: "Is this the right approach?" --tool=gemini --effort=high --model=gemini-3-pro
193
237
  ```
194
238
 
195
- The skill handles the full consultation lifecycle: it resolves the model from the effort level, builds the CLI command, packages any context, executes the command via Bash with a 120-second timeout, and returns a plain JSON result.
239
+ The skill handles the full consultation lifecycle: model resolution, command building, context packaging, execution with 120s timeout, and returns a plain JSON result.
240
+
241
+ #### Multi-instance (count > 1)
196
242
 
197
- ### Phase 4: Parse Skill Output
243
+ Spawn the `consult:consult-agent` via the Task tool with all resolved parameters:
198
244
 
199
- The skill returns a plain JSON object containing: `tool`, `model`, `effort`, `duration_ms`, `response`, `session_id`, and `continuable`. Parse the JSON directly from the skill output.
245
+ ```
246
+ Task:
247
+ subagent_type: "consult:consult-agent"
248
+ prompt: |
249
+ Execute a multi-instance consultation with these pre-resolved parameters:
250
+ - tool: [tool]
251
+ - model: [model]
252
+ - effort: [effort]
253
+ - question: [question]
254
+ - count: [count]
255
+ - context: [context or none]
256
+
257
+ Run [count] parallel consultations with the same tool and parameters.
258
+ Return all responses formatted with numbered headers and a brief synthesis.
259
+ ```
260
+
261
+ The agent handles parallel execution, temp file management, result parsing, and synthesis.
200
262
 
201
- ### Phase 5: Present Results
263
+ ### Phase 4: Present Results
202
264
 
203
- After parsing the JSON, format and display the result as human-friendly text:
265
+ #### Single instance
266
+
267
+ Parse the skill's plain JSON output and display:
204
268
 
205
269
  ```
206
270
  Tool: {tool}, Model: {model}, Effort: {effort}, Duration: {duration_ms}ms.
@@ -209,15 +273,13 @@ The results of the consultation are:
209
273
  {response}
210
274
  ```
211
275
 
212
- For continuable tools with a session_id (Claude, Gemini, OpenCode), display: `Session: {session_id} - use /consult --continue to resume`
213
- For Codex (context-based continuation, no session_id), display: `Use /consult --continue to continue this conversation (prior context will be prepended)`
276
+ For continuable tools (Claude, Gemini, Codex, OpenCode), display: `Session: {session_id} - use /consult --continue to resume`
277
+
278
+ Save session state to `{AI_STATE_DIR}/consult/last-session.json`.
214
279
 
215
- Save session state for continuable tools (Claude, Gemini, Codex, OpenCode) to `{AI_STATE_DIR}/consult/last-session.json`.
280
+ #### Multi-instance
216
281
 
217
- Platform state directory:
218
- - Claude Code: `.claude/`
219
- - OpenCode: `.opencode/`
220
- - Codex CLI: `.codex/`
282
+ Display the agent's formatted output directly. The agent returns numbered responses with a synthesis section.
221
283
 
222
284
  On failure: `[ERROR] Consultation Failed: {specific error message}`
223
285
 
@@ -225,22 +287,34 @@ On failure: `[ERROR] Consultation Failed: {specific error message}`
225
287
 
226
288
  | Error | Output |
227
289
  |-------|--------|
228
- | No question provided | `[ERROR] Usage: /consult "your question" [--tool=gemini\|codex\|claude\|opencode\|copilot] [--effort=low\|medium\|high\|max]` |
290
+ | No question provided | `[ERROR] Usage: /consult "your question" or /consult with gemini about your question` |
229
291
  | Tool not installed | `[ERROR] {tool} is not installed. Install with: {install command from skill}` |
230
292
  | Tool execution fails | `[ERROR] {tool} failed: {error}. Try a different tool with --tool=[other]` |
231
293
  | Timeout (>120s) | `[ERROR] {tool} timed out after 120s. Try --effort=low for faster response` |
232
294
  | No tools available | `[ERROR] No AI CLI tools found. Install: npm i -g @anthropic-ai/claude-code` |
233
295
  | Session not found | `[WARN] No previous session found. Starting fresh consultation.` |
234
296
  | API key missing | `[ERROR] {tool} requires API key. Set {env var} (see skill for details)` |
297
+ | Count out of range | `[ERROR] Instance count must be 1-5. Got: {count}` |
298
+ | Multi-instance partial failure | Show successful responses, note failures |
235
299
 
236
300
  ## Example Usage
237
301
 
238
302
  ```bash
239
- /consult "Is this the right approach for error handling?" --tool=gemini --effort=high
240
- /consult "Review this function for performance issues" --tool=codex
241
- /consult "What alternative patterns would you suggest?" --tool=claude --effort=max
303
+ # Natural language (NLP parsing)
304
+ /consult with codex about my auth approach
305
+ /consult ask 3 codex about this design
306
+ /consult gemini should I use redis or postgres
307
+ /consult thoroughly ask claude about error handling
308
+ /consult codex few instances about performance
309
+
310
+ # Explicit flags (backward compatible)
311
+ /consult "Is this the right approach?" --tool=gemini --effort=high
312
+ /consult "Review this function" --tool=codex --count=3
242
313
  /consult "Suggest improvements" --tool=opencode --model=github-copilot/claude-opus-4-6
243
- /consult "Continue from where we left off" --continue
314
+ /consult --continue
244
315
  /consult "Explain this error" --context=diff --tool=gemini
245
316
  /consult "Review this file" --context=file=src/index.js --tool=claude
317
+
318
+ # Mixed (flags + natural language)
319
+ /consult with gemini --effort=max about database schema design
246
320
  ```