agentsys 5.0.3 → 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 +18 -0
  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 +132 -57
  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 +122 -30
  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 +133 -57
  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 +33 -23
  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 +122 -29
  112. package/plugins/consult/commands/consult.md +135 -58
  113. package/plugins/consult/skills/consult/SKILL.md +31 -20
  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,6 +1,6 @@
1
1
  {
2
2
  "name": "perf",
3
- "version": "5.0.3",
3
+ "version": "5.1.0",
4
4
  "description": "Rigorous performance investigation workflow with baselines, profiling, and evidence-backed decisions",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -18,10 +18,30 @@ function transformBodyForOpenCode(content, repoRoot) {
18
18
  content = content.replace(/\$\{CLAUDE_PLUGIN_ROOT\}/g, '${PLUGIN_ROOT}');
19
19
  content = content.replace(/\$CLAUDE_PLUGIN_ROOT/g, '$PLUGIN_ROOT');
20
20
 
21
- content = content.replace(/\.claude\//g, '.opencode/');
22
- content = content.replace(/\.claude'/g, ".opencode'");
23
- content = content.replace(/\.claude"/g, '.opencode"');
24
- content = content.replace(/\.claude`/g, '.opencode`');
21
+ // Replace .claude/ paths with .opencode/ but preserve platform documentation lists
22
+ // that enumerate all three platforms (Claude Code: .claude/, OpenCode: .opencode/, Codex: .codex/)
23
+ // Also preserve {AI_STATE_DIR} references which are platform-agnostic
24
+ content = content.replace(/\.claude\//g, (match, offset) => {
25
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
26
+ // Skip if inside a platform enumeration (e.g., "Claude Code: `.claude/`")
27
+ if (/Claude Code:/.test(context)) return match;
28
+ return '.opencode/';
29
+ });
30
+ content = content.replace(/\.claude'/g, (match, offset) => {
31
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
32
+ if (/Claude Code:/.test(context)) return match;
33
+ return ".opencode'";
34
+ });
35
+ content = content.replace(/\.claude"/g, (match, offset) => {
36
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
37
+ if (/Claude Code:/.test(context)) return match;
38
+ return '.opencode"';
39
+ });
40
+ content = content.replace(/\.claude`/g, (match, offset) => {
41
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
42
+ if (/Claude Code:/.test(context)) return match;
43
+ return '.opencode`';
44
+ });
25
45
 
26
46
  const plugins = discovery.discoverPlugins(repoRoot);
27
47
  if (plugins.length > 0) {
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: perf-analyzer
3
3
  description: "Use when synthesizing perf findings into evidence-backed recommendations and decisions."
4
- version: 5.0.3
4
+ version: 5.1.0
5
5
  ---
6
6
 
7
7
  # perf-analyzer
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: perf-baseline-manager
3
3
  description: "Use when managing perf baselines, consolidating results, or comparing versions. Ensures one baseline JSON per version."
4
- version: 5.0.3
4
+ version: 5.1.0
5
5
  ---
6
6
 
7
7
  # perf-baseline-manager
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: perf-benchmarker
3
3
  description: "Use when running performance benchmarks, establishing baselines, or validating regressions with sequential runs. Enforces 60s minimum runs (30s only for binary search) and no parallel benchmarks."
4
- version: 5.0.3
4
+ version: 5.1.0
5
5
  argument-hint: "[command] [duration]"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: perf-code-paths
3
3
  description: "Use when mapping code paths, entrypoints, and likely hot files before profiling."
4
- version: 5.0.3
4
+ version: 5.1.0
5
5
  ---
6
6
 
7
7
  # perf-code-paths
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: perf-investigation-logger
3
3
  description: "Use when appending structured perf investigation notes and evidence."
4
- version: 5.0.3
4
+ version: 5.1.0
5
5
  ---
6
6
 
7
7
  # perf-investigation-logger
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: perf-profiler
3
3
  description: "Use when profiling CPU/memory hot paths, generating flame graphs, or capturing JFR/perf evidence."
4
- version: 5.0.3
4
+ version: 5.1.0
5
5
  argument-hint: "[tool] [command]"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: perf-theory-gatherer
3
3
  description: "Use when generating performance hypotheses backed by git history and code evidence."
4
- version: 5.0.3
4
+ version: 5.1.0
5
5
  ---
6
6
 
7
7
  # perf-theory-gatherer
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: perf-theory-tester
3
3
  description: "Use when running controlled perf experiments to validate hypotheses."
4
- version: 5.0.3
4
+ version: 5.1.0
5
5
  ---
6
6
 
7
7
  # perf-theory-tester
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repo-map",
3
- "version": "5.0.3",
3
+ "version": "5.1.0",
4
4
  "description": "AST-based repository map generator using ast-grep for symbol and import extraction with incremental updates",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -18,10 +18,30 @@ function transformBodyForOpenCode(content, repoRoot) {
18
18
  content = content.replace(/\$\{CLAUDE_PLUGIN_ROOT\}/g, '${PLUGIN_ROOT}');
19
19
  content = content.replace(/\$CLAUDE_PLUGIN_ROOT/g, '$PLUGIN_ROOT');
20
20
 
21
- content = content.replace(/\.claude\//g, '.opencode/');
22
- content = content.replace(/\.claude'/g, ".opencode'");
23
- content = content.replace(/\.claude"/g, '.opencode"');
24
- content = content.replace(/\.claude`/g, '.opencode`');
21
+ // Replace .claude/ paths with .opencode/ but preserve platform documentation lists
22
+ // that enumerate all three platforms (Claude Code: .claude/, OpenCode: .opencode/, Codex: .codex/)
23
+ // Also preserve {AI_STATE_DIR} references which are platform-agnostic
24
+ content = content.replace(/\.claude\//g, (match, offset) => {
25
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
26
+ // Skip if inside a platform enumeration (e.g., "Claude Code: `.claude/`")
27
+ if (/Claude Code:/.test(context)) return match;
28
+ return '.opencode/';
29
+ });
30
+ content = content.replace(/\.claude'/g, (match, offset) => {
31
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
32
+ if (/Claude Code:/.test(context)) return match;
33
+ return ".opencode'";
34
+ });
35
+ content = content.replace(/\.claude"/g, (match, offset) => {
36
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
37
+ if (/Claude Code:/.test(context)) return match;
38
+ return '.opencode"';
39
+ });
40
+ content = content.replace(/\.claude`/g, (match, offset) => {
41
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
42
+ if (/Claude Code:/.test(context)) return match;
43
+ return '.opencode`';
44
+ });
25
45
 
26
46
  const plugins = discovery.discoverPlugins(repoRoot);
27
47
  if (plugins.length > 0) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ship",
3
- "version": "5.0.3",
3
+ "version": "5.1.0",
4
4
  "description": "Complete PR workflow from commit to production with validation",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -18,10 +18,30 @@ function transformBodyForOpenCode(content, repoRoot) {
18
18
  content = content.replace(/\$\{CLAUDE_PLUGIN_ROOT\}/g, '${PLUGIN_ROOT}');
19
19
  content = content.replace(/\$CLAUDE_PLUGIN_ROOT/g, '$PLUGIN_ROOT');
20
20
 
21
- content = content.replace(/\.claude\//g, '.opencode/');
22
- content = content.replace(/\.claude'/g, ".opencode'");
23
- content = content.replace(/\.claude"/g, '.opencode"');
24
- content = content.replace(/\.claude`/g, '.opencode`');
21
+ // Replace .claude/ paths with .opencode/ but preserve platform documentation lists
22
+ // that enumerate all three platforms (Claude Code: .claude/, OpenCode: .opencode/, Codex: .codex/)
23
+ // Also preserve {AI_STATE_DIR} references which are platform-agnostic
24
+ content = content.replace(/\.claude\//g, (match, offset) => {
25
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
26
+ // Skip if inside a platform enumeration (e.g., "Claude Code: `.claude/`")
27
+ if (/Claude Code:/.test(context)) return match;
28
+ return '.opencode/';
29
+ });
30
+ content = content.replace(/\.claude'/g, (match, offset) => {
31
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
32
+ if (/Claude Code:/.test(context)) return match;
33
+ return ".opencode'";
34
+ });
35
+ content = content.replace(/\.claude"/g, (match, offset) => {
36
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
37
+ if (/Claude Code:/.test(context)) return match;
38
+ return '.opencode"';
39
+ });
40
+ content = content.replace(/\.claude`/g, (match, offset) => {
41
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
42
+ if (/Claude Code:/.test(context)) return match;
43
+ return '.opencode`';
44
+ });
25
45
 
26
46
  const plugins = discovery.discoverPlugins(repoRoot);
27
47
  if (plugins.length > 0) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sync-docs",
3
- "version": "5.0.3",
3
+ "version": "5.1.0",
4
4
  "description": "Sync documentation with code changes. Find outdated refs, update CHANGELOG, flag stale examples.",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -18,10 +18,30 @@ function transformBodyForOpenCode(content, repoRoot) {
18
18
  content = content.replace(/\$\{CLAUDE_PLUGIN_ROOT\}/g, '${PLUGIN_ROOT}');
19
19
  content = content.replace(/\$CLAUDE_PLUGIN_ROOT/g, '$PLUGIN_ROOT');
20
20
 
21
- content = content.replace(/\.claude\//g, '.opencode/');
22
- content = content.replace(/\.claude'/g, ".opencode'");
23
- content = content.replace(/\.claude"/g, '.opencode"');
24
- content = content.replace(/\.claude`/g, '.opencode`');
21
+ // Replace .claude/ paths with .opencode/ but preserve platform documentation lists
22
+ // that enumerate all three platforms (Claude Code: .claude/, OpenCode: .opencode/, Codex: .codex/)
23
+ // Also preserve {AI_STATE_DIR} references which are platform-agnostic
24
+ content = content.replace(/\.claude\//g, (match, offset) => {
25
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
26
+ // Skip if inside a platform enumeration (e.g., "Claude Code: `.claude/`")
27
+ if (/Claude Code:/.test(context)) return match;
28
+ return '.opencode/';
29
+ });
30
+ content = content.replace(/\.claude'/g, (match, offset) => {
31
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
32
+ if (/Claude Code:/.test(context)) return match;
33
+ return ".opencode'";
34
+ });
35
+ content = content.replace(/\.claude"/g, (match, offset) => {
36
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
37
+ if (/Claude Code:/.test(context)) return match;
38
+ return '.opencode"';
39
+ });
40
+ content = content.replace(/\.claude`/g, (match, offset) => {
41
+ const context = content.substring(Math.max(0, offset - 60), offset + match.length + 10);
42
+ if (/Claude Code:/.test(context)) return match;
43
+ return '.opencode`';
44
+ });
25
45
 
26
46
  const plugins = discovery.discoverPlugins(repoRoot);
27
47
  if (plugins.length > 0) {
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: sync-docs
3
3
  description: "Sync documentation with code. Use when user asks to update docs, check docs, fix stale documentation, update changelog, or after code changes."
4
- version: 5.0.3
4
+ version: 5.1.0
5
5
  argument-hint: "[report|apply] [--scope=all|recent|before-pr] [--include-undocumented]"
6
6
  allowed-tools: Bash(git:*), Read, Grep, Glob
7
7
  ---
@@ -28,8 +28,7 @@ const transforms = require(path.join(__dirname, '..', 'lib', 'adapter-transforms
28
28
  const ROOT_DIR = path.join(__dirname, '..');
29
29
  const ADAPTERS_DIR = path.join(ROOT_DIR, 'adapters');
30
30
 
31
- // Auto-generated header for all adapter files
32
- const GENERATED_HEADER = '<!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->\n';
31
+
33
32
 
34
33
  // Codex uses a placeholder since it doesn't have runtime PLUGIN_ROOT
35
34
  const CODEX_PLUGIN_ROOT_PLACEHOLDER = '{{PLUGIN_INSTALL_PATH}}';
@@ -57,7 +56,7 @@ function computeAdapters() {
57
56
  content = transforms.transformCommandFrontmatterForOpenCode(content);
58
57
 
59
58
  const relPath = normalizePath(path.join('adapters', 'opencode', 'commands', target));
60
- files.set(relPath, GENERATED_HEADER + content);
59
+ files.set(relPath, content);
61
60
  }
62
61
 
63
62
  for (const pluginName of plugins) {
@@ -73,7 +72,7 @@ function computeAdapters() {
73
72
  content = transforms.transformAgentFrontmatterForOpenCode(content, { stripModels: true });
74
73
 
75
74
  const relPath = normalizePath(path.join('adapters', 'opencode', 'agents', agentFile));
76
- files.set(relPath, GENERATED_HEADER + content);
75
+ files.set(relPath, content);
77
76
  }
78
77
  }
79
78
 
@@ -92,7 +91,7 @@ function computeAdapters() {
92
91
  content = transforms.transformSkillBodyForOpenCode(content, ROOT_DIR);
93
92
 
94
93
  const relPath = normalizePath(path.join('adapters', 'opencode', 'skills', skillName, 'SKILL.md'));
95
- files.set(relPath, GENERATED_HEADER + content);
94
+ files.set(relPath, content);
96
95
  }
97
96
  }
98
97
 
@@ -112,7 +111,7 @@ function computeAdapters() {
112
111
  });
113
112
 
114
113
  const relPath = normalizePath(path.join('adapters', 'codex', 'skills', skillName, 'SKILL.md'));
115
- files.set(relPath, GENERATED_HEADER + content);
114
+ files.set(relPath, content);
116
115
  }
117
116
 
118
117
  if (emptyDescSkills.length > 0) {
@@ -320,4 +319,4 @@ if (require.main === module) {
320
319
  }
321
320
  }
322
321
 
323
- module.exports = { main, checkFreshness, computeAdapters, findOrphanedAdapters, GENERATED_HEADER };
322
+ module.exports = { main, checkFreshness, computeAdapters, findOrphanedAdapters };
@@ -55,7 +55,8 @@ const CATEGORY_MAP = {
55
55
  'repo-map': 'Analysis',
56
56
  'learn': 'Learning',
57
57
  'agnix': 'Linting',
58
- 'consult': 'Productivity'
58
+ 'consult': 'Productivity',
59
+ 'debate': 'Analysis'
59
60
  };
60
61
 
61
62
  // Purpose mapping for architecture table
@@ -71,7 +72,8 @@ const PURPOSE_MAP = {
71
72
  'sync-docs': 'Documentation sync',
72
73
  'learn': 'Topic research and learning guides',
73
74
  'agnix': 'Agent config linting',
74
- 'consult': 'Cross-tool AI consultation'
75
+ 'consult': 'Cross-tool AI consultation',
76
+ 'debate': 'Multi-perspective debate analysis'
75
77
  };
76
78
 
77
79
  // ---------------------------------------------------------------------------
@@ -1,6 +1,7 @@
1
1
  agnix
2
2
  audit-project
3
3
  consult
4
+ debate
4
5
  deslop
5
6
  drift-detect
6
7
  enhance
package/site/content.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "url": "https://avifenesh.github.io/agentsys",
6
6
  "repo": "https://github.com/avifenesh/agentsys",
7
7
  "npm": "https://www.npmjs.com/package/agentsys",
8
- "version": "5.0.3",
8
+ "version": "5.1.0",
9
9
  "author": "Avi Fenesh",
10
10
  "author_url": "https://github.com/avifenesh"
11
11
  },
@@ -23,17 +23,17 @@
23
23
  },
24
24
  "stats": [
25
25
  {
26
- "value": "12",
26
+ "value": "13",
27
27
  "label": "Plugins",
28
28
  "suffix": ""
29
29
  },
30
30
  {
31
- "value": "41",
31
+ "value": "42",
32
32
  "label": "Agents",
33
33
  "suffix": ""
34
34
  },
35
35
  {
36
- "value": "27",
36
+ "value": "28",
37
37
  "label": "Skills",
38
38
  "suffix": ""
39
39
  },
@@ -307,8 +307,8 @@
307
307
  }
308
308
  ],
309
309
  "agents": {
310
- "total": 41,
311
- "file_based": 31,
310
+ "total": 42,
311
+ "file_based": 32,
312
312
  "role_based": 10,
313
313
  "by_model": [
314
314
  {