agentsys 5.0.0 → 5.0.1

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 (85) hide show
  1. package/.claude-plugin/marketplace.json +13 -13
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +14 -2
  4. package/adapters/README.md +1 -1
  5. package/adapters/codex/skills/next-task/SKILL.md +8 -8
  6. package/adapters/opencode/agents/delivery-validator.md +1 -1
  7. package/adapters/opencode/agents/implementation-agent.md +1 -1
  8. package/adapters/opencode/agents/worktree-manager.md +3 -3
  9. package/adapters/opencode/commands/next-task.md +7 -7
  10. package/adapters/opencode/skills/agnix/SKILL.md +1 -1
  11. package/adapters/opencode/skills/consult/SKILL.md +1 -1
  12. package/adapters/opencode/skills/deslop/SKILL.md +1 -1
  13. package/adapters/opencode/skills/discover-tasks/SKILL.md +2 -2
  14. package/adapters/opencode/skills/drift-analysis/SKILL.md +1 -1
  15. package/adapters/opencode/skills/enhance-agent-prompts/SKILL.md +1 -1
  16. package/adapters/opencode/skills/enhance-claude-memory/SKILL.md +1 -1
  17. package/adapters/opencode/skills/enhance-cross-file/SKILL.md +1 -1
  18. package/adapters/opencode/skills/enhance-docs/SKILL.md +1 -1
  19. package/adapters/opencode/skills/enhance-hooks/SKILL.md +1 -1
  20. package/adapters/opencode/skills/enhance-orchestrator/SKILL.md +1 -1
  21. package/adapters/opencode/skills/enhance-plugins/SKILL.md +1 -1
  22. package/adapters/opencode/skills/enhance-prompts/SKILL.md +1 -1
  23. package/adapters/opencode/skills/enhance-skills/SKILL.md +1 -1
  24. package/adapters/opencode/skills/learn/SKILL.md +1 -1
  25. package/adapters/opencode/skills/orchestrate-review/SKILL.md +1 -1
  26. package/adapters/opencode/skills/perf-analyzer/SKILL.md +1 -1
  27. package/adapters/opencode/skills/perf-baseline-manager/SKILL.md +1 -1
  28. package/adapters/opencode/skills/perf-benchmarker/SKILL.md +1 -1
  29. package/adapters/opencode/skills/perf-code-paths/SKILL.md +1 -1
  30. package/adapters/opencode/skills/perf-investigation-logger/SKILL.md +1 -1
  31. package/adapters/opencode/skills/perf-profiler/SKILL.md +1 -1
  32. package/adapters/opencode/skills/perf-theory-gatherer/SKILL.md +1 -1
  33. package/adapters/opencode/skills/perf-theory-tester/SKILL.md +1 -1
  34. package/adapters/opencode/skills/sync-docs/SKILL.md +1 -1
  35. package/adapters/opencode/skills/validate-delivery/SKILL.md +2 -2
  36. package/bin/cli.js +17 -2
  37. package/package.json +2 -1
  38. package/plugins/agnix/.claude-plugin/plugin.json +1 -1
  39. package/plugins/agnix/skills/agnix/SKILL.md +1 -1
  40. package/plugins/audit-project/.claude-plugin/plugin.json +1 -1
  41. package/plugins/consult/.claude-plugin/plugin.json +1 -1
  42. package/plugins/consult/skills/consult/SKILL.md +1 -1
  43. package/plugins/deslop/.claude-plugin/plugin.json +1 -1
  44. package/plugins/deslop/skills/deslop/SKILL.md +1 -1
  45. package/plugins/drift-detect/.claude-plugin/plugin.json +1 -1
  46. package/plugins/drift-detect/skills/drift-analysis/SKILL.md +1 -1
  47. package/plugins/enhance/.claude-plugin/plugin.json +1 -1
  48. package/plugins/enhance/skills/enhance-agent-prompts/SKILL.md +1 -1
  49. package/plugins/enhance/skills/enhance-claude-memory/SKILL.md +1 -1
  50. package/plugins/enhance/skills/enhance-cross-file/SKILL.md +1 -1
  51. package/plugins/enhance/skills/enhance-docs/SKILL.md +1 -1
  52. package/plugins/enhance/skills/enhance-hooks/SKILL.md +1 -1
  53. package/plugins/enhance/skills/enhance-orchestrator/SKILL.md +1 -1
  54. package/plugins/enhance/skills/enhance-plugins/SKILL.md +1 -1
  55. package/plugins/enhance/skills/enhance-prompts/SKILL.md +1 -1
  56. package/plugins/enhance/skills/enhance-skills/SKILL.md +1 -1
  57. package/plugins/learn/.claude-plugin/plugin.json +1 -1
  58. package/plugins/learn/skills/learn/SKILL.md +1 -1
  59. package/plugins/next-task/.claude-plugin/plugin.json +1 -1
  60. package/plugins/next-task/agents/delivery-validator.md +1 -1
  61. package/plugins/next-task/agents/implementation-agent.md +2 -2
  62. package/plugins/next-task/agents/worktree-manager.md +3 -3
  63. package/plugins/next-task/commands/next-task.md +8 -8
  64. package/plugins/next-task/hooks/hooks.json +1 -1
  65. package/plugins/next-task/skills/discover-tasks/SKILL.md +2 -2
  66. package/plugins/next-task/skills/orchestrate-review/SKILL.md +1 -1
  67. package/plugins/next-task/skills/validate-delivery/SKILL.md +2 -2
  68. package/plugins/perf/.claude-plugin/plugin.json +1 -1
  69. package/plugins/perf/skills/perf-analyzer/SKILL.md +1 -1
  70. package/plugins/perf/skills/perf-baseline-manager/SKILL.md +1 -1
  71. package/plugins/perf/skills/perf-benchmarker/SKILL.md +1 -1
  72. package/plugins/perf/skills/perf-code-paths/SKILL.md +1 -1
  73. package/plugins/perf/skills/perf-investigation-logger/SKILL.md +1 -1
  74. package/plugins/perf/skills/perf-profiler/SKILL.md +1 -1
  75. package/plugins/perf/skills/perf-theory-gatherer/SKILL.md +1 -1
  76. package/plugins/perf/skills/perf-theory-tester/SKILL.md +1 -1
  77. package/plugins/repo-map/.claude-plugin/plugin.json +1 -1
  78. package/plugins/ship/.claude-plugin/plugin.json +1 -1
  79. package/plugins/sync-docs/.claude-plugin/plugin.json +1 -1
  80. package/plugins/sync-docs/skills/sync-docs/SKILL.md +1 -1
  81. package/scripts/bump-version.js +4 -1
  82. package/scripts/dev-install.js +9 -0
  83. package/scripts/validate-opencode-install.js +17 -4
  84. package/site/content.json +1 -1
  85. package/site/index.html +1 -1
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: agnix
3
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."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[path] [--fix] [--strict] [--target=claude-code|cursor|codex]"
6
6
  ---
7
7
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "audit-project",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Multi-agent iterative code review until zero issues remain",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "consult",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Cross-tool AI consultation: get second opinions from Gemini, Codex, Claude, OpenCode, or Copilot CLI",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: consult
3
3
  description: "Cross-tool AI consultation. Use when user asks to 'consult gemini', 'ask codex', 'get second opinion', 'cross-check with claude', 'consult another AI', 'ask opencode', 'copilot opinion', or wants a second opinion from a different AI tool."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[question] [--tool] [--effort] [--model] [--context] [--continue]"
6
6
  ---
7
7
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deslop",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "AI slop cleanup with minimal diffs and behavior preservation",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: deslop
3
3
  description: "Use when user wants to clean AI slop from code. Use for cleanup, remove debug statements, find ghost code, repo hygiene."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[report|apply] [--scope=all|diff|path] [--thoroughness=quick|normal|deep]"
6
6
  ---
7
7
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drift-detect",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Deep repository analysis to realign project plans with actual code reality - discovers drift, gaps, and produces prioritized reconstruction plans",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: drift-analysis
3
3
  description: Use when the user asks about plan drift, reality check, comparing docs to code, project state analysis, roadmap alignment, implementation gaps, or needs guidance on identifying discrepancies between documented plans and actual implementation state.
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  ---
6
6
 
7
7
  # Drift Analysis
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "enhance",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Plugin structure and tool use analyzer - validates plugin.json, MCP tools, and security patterns",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: enhance-agent-prompts
3
3
  description: "Use when improving agent prompts, frontmatter, and tool restrictions."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[path] [--fix] [--verbose]"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: enhance-claude-memory
3
3
  description: "Use when improving CLAUDE.md or AGENTS.md project memory files."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  ---
6
6
 
7
7
  # enhance-claude-memory
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: enhance-cross-file
3
3
  description: "Use when checking cross-file consistency: tools vs frontmatter, agent references, duplicate rules, contradictions."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[path]"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: enhance-docs
3
3
  description: "Use when improving documentation structure, accuracy, and RAG readiness."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[path] [--fix] [--ai]"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: enhance-hooks
3
3
  description: "Use when reviewing hooks for safety, timeouts, and correct frontmatter."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[path] [--fix]"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: enhance-orchestrator
3
3
  description: "Use when coordinating multiple enhancers for /enhance command. Runs analyzers in parallel and produces unified report."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[path] [--apply] [--focus=TYPE]"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: enhance-plugins
3
3
  description: "Use when analyzing plugin structures, MCP tools, and plugin security patterns."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[path] [--fix]"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: enhance-prompts
3
3
  description: "Use when improving general prompts for structure, examples, and constraints."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[path] [--fix]"
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: enhance-skills
3
3
  description: "Use when reviewing SKILL.md files for structure and trigger quality."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[path] [--fix]"
6
6
  ---
7
7
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "learn",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Research any topic online and create comprehensive learning guides with RAG-optimized indexes",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: learn
3
3
  description: "Research any topic online and create learning guides. Use when user asks to 'learn about', 'research topic', 'create learning guide', 'build knowledge base', or 'study subject'."
4
- version: 5.0.0
4
+ version: 5.0.1
5
5
  argument-hint: "[topic] [--depth=brief|medium|deep]"
6
6
  ---
7
7
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-task",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Master workflow orchestrator with autonomous task-to-production automation, quality gates, and multi-agent review",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -70,7 +70,7 @@ delivery-validator (YOU ARE HERE)
70
70
  **MUST NOT do:**
71
71
  - Create PRs
72
72
  - Push to remote
73
- - Invoke /ship
73
+ - Invoke ship:ship
74
74
  - Skip sync-docs:sync-docs-agent
75
75
 
76
76
  ## State Updates
@@ -395,7 +395,7 @@ implementation-agent (YOU ARE HERE)
395
395
 
396
396
  sync-docs:sync-docs-agent
397
397
 
398
- /ship command (creates PR)
398
+ ship:ship command (creates PR)
399
399
  ```
400
400
 
401
401
  ### Required Handoff
@@ -438,7 +438,7 @@ ${gitLog}
438
438
  → Phase 9 review loop
439
439
  → delivery-validator
440
440
  → sync-docs:sync-docs-agent
441
- /ship
441
+ → ship:ship
442
442
  ```
443
443
 
444
444
  ## Quality Checklist
@@ -203,12 +203,12 @@ Report: branch name, worktree path, base commit. Confirm PWD anchored to worktre
203
203
  | Component | Creates | Cleans Up |
204
204
  |-----------|---------|-----------|
205
205
  | worktree-manager | worktrees, tasks.json entries, workflow-status.json | Nothing |
206
- | /ship | - | worktrees (after merge), tasks.json entries |
206
+ | ship:ship | - | worktrees (after merge), tasks.json entries |
207
207
  | --abort | - | worktrees, tasks.json entries |
208
208
 
209
209
  **Agents MUST NOT**: clean up worktrees, remove tasks from registry, or delete branches.
210
210
 
211
- ## Cleanup Reference (for /ship and --abort)
211
+ ## Cleanup Reference (for ship:ship and --abort)
212
212
 
213
213
  ```bash
214
214
  cleanup_worktree() {
@@ -240,7 +240,7 @@ On failure: remove partial worktree, prune refs, update state with `failPhase()`
240
240
 
241
241
  ## Constraints
242
242
 
243
- - Only create worktrees - never delete them (cleanup is handled by /ship or --abort)
243
+ - Only create worktrees - never delete them (cleanup is handled by ship:ship or --abort)
244
244
  - Do not remove tasks from tasks.json registry
245
245
  - Do not delete branches
246
246
  - Do not modify files in the main repository after switching to worktree
@@ -55,7 +55,7 @@ This workflow exists because each step serves a purpose. Taking shortcuts defeat
55
55
  9. Review Loop
56
56
  10. Delivery Validation
57
57
  11. Docs Update
58
- 12. /ship
58
+ 12. `ship:ship`
59
59
 
60
60
  **Human interaction points (ONLY THESE):**
61
61
  1. Policy selection via checkboxes
@@ -74,10 +74,10 @@ Each phase must complete before the next starts:
74
74
  | Review Loop | Must approve (no open issues or override) |
75
75
  | Delivery | Tests pass, build passes |
76
76
  | Docs | Documentation updated |
77
- | Ship | Explicit /ship invocation (not hook-only) |
77
+ | Ship | Explicit `ship:ship` invocation (plugin command) |
78
78
 
79
79
  **Forbidden actions for agents:**
80
- - No agent may create PRs or push to remote (only /ship)
80
+ - No agent may create PRs or push to remote (only ship:ship)
81
81
  - No agent may skip Phase 9, delivery-validator, or docs update
82
82
  </workflow-gates>
83
83
 
@@ -504,17 +504,17 @@ workflowState.completePhase({ docsUpdated: true, fixesApplied: result.fixes?.len
504
504
  </phase-11>
505
505
 
506
506
  <phase-12>
507
- ## Phase 12: Handoff to /ship
507
+ ## Phase 12: Handoff to ship:ship
508
508
 
509
- After docs update (sync-docs-agent) completes, invoke /ship explicitly:
509
+ After docs update (sync-docs-agent) completes, invoke `ship:ship` explicitly:
510
510
 
511
511
  ```javascript
512
- console.log(`Task #${state.task.id} passed all validation. Invoking /ship...`);
512
+ console.log(`Task #${state.task.id} passed all validation. Invoking ship:ship...`);
513
513
  const stateDir = workflowState.getStateDir(); // Returns platform-aware state directory
514
514
  await Task({ subagent_type: "ship:ship", prompt: `Ship the task. State file: ${stateDir}/flow.json` });
515
515
  ```
516
516
 
517
- **/ship responsibilities:**
517
+ **ship:ship responsibilities:**
518
518
  - Create PR, push branch
519
519
  - Monitor CI and review comments
520
520
  - Merge when approved
@@ -542,6 +542,6 @@ try {
542
542
  - Sonnet for validation tasks (review, delivery)
543
543
  - Haiku for simple tasks (worktree)
544
544
  - Fully autonomous after plan approval
545
- - Explicit /ship handoff for PR workflow
545
+ - Explicit ship:ship handoff for PR workflow
546
546
 
547
547
  Begin workflow now.
@@ -5,7 +5,7 @@
5
5
  "hooks": [
6
6
  {
7
7
  "type": "prompt",
8
- "prompt": "<subagent-stop-hook>\n## Workflow Enforcement - SubagentStop Hook\n\nA subagent has completed. Determine and execute the next workflow phase.\n\n<verification-gates>\n### Verification Gates\n\nBefore proceeding to any next phase, verify the required previous steps completed.\n\n---\n\n## Gate 1: Before Exploration (Phase 4)\n\n**Required**: Worktree must have been created via `next-task:worktree-manager` agent.\n\n```javascript\nconst state = workflowState.readState();\nif (!state.worktree || !state.worktree.path) {\n console.error('[BLOCKED] Cannot proceed to exploration - worktree not created');\n return { blocked: true, reason: 'worktree-missing' };\n}\nconsole.log(`[VERIFIED] Worktree exists: ${state.worktree.path}`);\n```\n\n**Forbidden**:\n- Using `git checkout -b` directly\n- Using `git branch` directly\n- Proceeding to exploration without worktree verification\n\n---\n\n## Gate 2: Before Delivery Validation (Phase 10)\n\n**Required**: Review loop must have run with proper iterations.\n\n```javascript\nconst state = workflowState.readState();\nconst reviewResult = state.phases?.reviewLoop;\nif (!reviewResult || reviewResult.iterations < 1) {\n console.error('[BLOCKED] Review loop must run at least 1 iteration');\n return { blocked: true, reason: 'review-iterations-zero' };\n}\nif (!reviewResult.approved && !reviewResult.orchestratorOverride) {\n console.error('[BLOCKED] Review not approved');\n return { blocked: true, reason: 'review-not-approved' };\n}\nconsole.log(`[VERIFIED] Review: ${reviewResult.iterations} iterations`);\n```\n\n**Forbidden**:\n- Skipping to delivery without running review loop\n- Running review with 0 iterations\n\n---\n\n## Gate 3: Before /ship Merge\n\n**Required**: All PR comments must be addressed.\n\nEnforced in /ship command:\n1. Phase 4 CI & Review Monitor Loop must run\n2. 3-minute wait for auto-reviewers must complete\n3. All comments must be addressed before merge\n</verification-gates>\n\n---\n\n<decision-tree>\n### Decision Tree\n\n1. **worktree-manager completed**: Verify worktree path, then run exploration-agent\n2. **implementation-agent completed**: Run deslop:deslop-agent + test-coverage-checker (parallel)\n3. **pre-review gates completed**: Run review loop (min 1 iteration), then delivery-validator\n4. **delivery-validator completed**: If approved, run sync-docs:sync-docs-agent. If not, return to implementation.\n5. **sync-docs:sync-docs-agent completed**: Invoke /ship command\n</decision-tree>\n\n---\n\n<enforcement>\n### Enforcement\n\nEvery step exists for a reason. Taking shortcuts defeats the purpose of automation.\n\n- Do not skip worktree-manager (enables parallel task isolation)\n- Do not skip review iterations (catches bugs humans miss)\n- Do not skip 3-minute wait in /ship (auto-reviewers need time)\n- Do not skip addressing PR comments (blocks merge)\n\nIf you think a step is unnecessary, you are wrong.\n</enforcement>\n\n---\n\n<workflow-sequence>\n### Workflow Sequence\n\n1. task-discoverer\n2. [GATE] worktree-manager (must use agent)\n3. [VERIFY] worktree exists\n4. exploration-agent\n5. planning-agent\n6. implementation-agent\n7. pre-review gates (deslop + test-coverage)\n8. review loop (1+ iterations)\n9. [GATE] delivery-validator\n10. sync-docs:sync-docs-agent\n11. /ship command (must run Phase 4 loop)\n</workflow-sequence>\n\nReturn: {\"ok\": true, \"nextPhase\": \"<phase-name>\", \"verified\": [\"<gate-name>\"]}\n</subagent-stop-hook>"
8
+ "prompt": "<subagent-stop-hook>\n## Workflow Enforcement - SubagentStop Hook\n\nA subagent has completed. Determine and execute the next workflow phase.\n\n<verification-gates>\n### Verification Gates\n\nBefore proceeding to any next phase, verify the required previous steps completed.\n\n---\n\n## Gate 1: Before Exploration (Phase 4)\n\n**Required**: Worktree must have been created via `next-task:worktree-manager` agent.\n\n```javascript\nconst state = workflowState.readState();\nif (!state.worktree || !state.worktree.path) {\n console.error('[BLOCKED] Cannot proceed to exploration - worktree not created');\n return { blocked: true, reason: 'worktree-missing' };\n}\nconsole.log(`[VERIFIED] Worktree exists: ${state.worktree.path}`);\n```\n\n**Forbidden**:\n- Using `git checkout -b` directly\n- Using `git branch` directly\n- Proceeding to exploration without worktree verification\n\n---\n\n## Gate 2: Before Delivery Validation (Phase 10)\n\n**Required**: Review loop must have run with proper iterations.\n\n```javascript\nconst state = workflowState.readState();\nconst reviewResult = state.phases?.reviewLoop;\nif (!reviewResult || reviewResult.iterations < 1) {\n console.error('[BLOCKED] Review loop must run at least 1 iteration');\n return { blocked: true, reason: 'review-iterations-zero' };\n}\nif (!reviewResult.approved && !reviewResult.orchestratorOverride) {\n console.error('[BLOCKED] Review not approved');\n return { blocked: true, reason: 'review-not-approved' };\n}\nconsole.log(`[VERIFIED] Review: ${reviewResult.iterations} iterations`);\n```\n\n**Forbidden**:\n- Skipping to delivery without running review loop\n- Running review with 0 iterations\n\n---\n\n## Gate 3: Before ship:ship Merge\n\n**Required**: All PR comments must be addressed.\n\nEnforced in ship:ship command:\n1. Phase 4 CI & Review Monitor Loop must run\n2. 3-minute wait for auto-reviewers must complete\n3. All comments must be addressed before merge\n</verification-gates>\n\n---\n\n<decision-tree>\n### Decision Tree\n\n1. **worktree-manager completed**: Verify worktree path, then run exploration-agent\n2. **implementation-agent completed**: Run deslop:deslop-agent + test-coverage-checker (parallel)\n3. **pre-review gates completed**: Run review loop (min 1 iteration), then delivery-validator\n4. **delivery-validator completed**: If approved, run sync-docs:sync-docs-agent. If not, return to implementation.\n5. **sync-docs:sync-docs-agent completed**: Invoke ship:ship command\n</decision-tree>\n\n---\n\n<enforcement>\n### Enforcement\n\nEvery step exists for a reason. Taking shortcuts defeats the purpose of automation.\n\n- Do not skip worktree-manager (enables parallel task isolation)\n- Do not skip review iterations (catches bugs humans miss)\n- Do not skip 3-minute wait in ship:ship (auto-reviewers need time)\n- Do not skip addressing PR comments (blocks merge)\n\nIf you think a step is unnecessary, you are wrong.\n</enforcement>\n\n---\n\n<workflow-sequence>\n### Workflow Sequence\n\n1. task-discoverer\n2. [GATE] worktree-manager (must use agent)\n3. [VERIFY] worktree exists\n4. exploration-agent\n5. planning-agent\n6. implementation-agent\n7. pre-review gates (deslop + test-coverage)\n8. review loop (1+ iterations)\n9. [GATE] delivery-validator\n10. sync-docs:sync-docs-agent\n11. ship:ship command (must run Phase 4 loop)\n</workflow-sequence>\n\nReturn: {\"ok\": true, \"nextPhase\": \"<phase-name>\", \"verified\": [\"<gate-name>\"]}\n</subagent-stop-hook>"
9
9
  }
10
10
  ]
11
11
  }
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: discover-tasks
3
- description: "Use when discovering and prioritizing tasks from configured sources. Handles GitHub, GitLab, local files, and custom sources."
4
- version: 5.0.0
3
+ description: "Use when user asks to \"discover tasks\", \"find next task\", or \"prioritize issues\". Discovers and ranks tasks from GitHub, GitLab, local files, and custom sources."
4
+ version: 5.0.1
5
5
  ---
6
6
 
7
7
  # discover-tasks
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: orchestrate-review
3
- description: "Use when user asks to \"deep review the code\", \"thorough code review\", \"multi-pass review\", or when orchestrating Phase 9 review loop. Provides review pass definitions (code quality, security, performance, test coverage, specialists), signal detection patterns, and iteration algorithms."
3
+ description: "Use when user asks to \"deep review the code\", \"thorough code review\", \"multi-pass review\", or when orchestrating the Phase 9 review loop. Provides review pass definitions (code quality, security, performance, test coverage), signal detection patterns, and iteration algorithms."
4
4
  metadata:
5
5
  short-description: "Multi-pass code review orchestration"
6
6
  ---
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: validate-delivery
3
- description: "Use when validating task completion before shipping. Runs tests, build, and requirement checks. Returns pass/fail with fix instructions."
4
- version: 5.0.0
3
+ description: "Use when user asks to \"validate delivery\", \"check readiness\", or \"verify completion\". Runs tests, build, and requirement checks with pass/fail instructions."
4
+ version: 5.0.1
5
5
  ---
6
6
 
7
7
  # validate-delivery
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "perf",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Rigorous performance investigation workflow with baselines, profiling, and evidence-backed decisions",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -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.0
4
+ version: 5.0.1
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.0
4
+ version: 5.0.1
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.0
4
+ version: 5.0.1
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.0
4
+ version: 5.0.1
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.0
4
+ version: 5.0.1
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.0
4
+ version: 5.0.1
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.0
4
+ version: 5.0.1
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.0
4
+ version: 5.0.1
5
5
  ---
6
6
 
7
7
  # perf-theory-tester
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repo-map",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
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",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ship",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Complete PR workflow from commit to production with validation",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sync-docs",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Sync documentation with code changes. Find outdated refs, update CHANGELOG, flag stale examples.",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -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.0
4
+ version: 5.0.1
5
5
  argument-hint: "[report|apply] [--scope=all|recent|before-pr] [--include-undocumented]"
6
6
  allowed-tools: Bash(git:*), Read, Grep, Glob
7
7
  ---
@@ -63,7 +63,10 @@ Files updated (via npm version + stamp-version.js):
63
63
  // npm version updates package.json + package-lock.json, then triggers
64
64
  // the "version" lifecycle script which runs stamp-version.js.
65
65
  // Version is validated by VERSION_PATTERN above (safe for shell use).
66
- execFileSync('npm', ['version', newVersion, '--no-git-tag-version'], {
66
+ // On Windows, execFileSync does not resolve npm.cmd via PATHEXT.
67
+ // Prefer the explicit .cmd suffix when running on win32.
68
+ const npmCommand = process.platform === 'win32' ? 'npm.cmd' : 'npm';
69
+ execFileSync(npmCommand, ['version', newVersion, '--no-git-tag-version'], {
67
70
  cwd: path.join(__dirname, '..'),
68
71
  stdio: 'inherit'
69
72
  });
@@ -128,6 +128,15 @@ function cleanAll() {
128
128
  removedCount++;
129
129
  }
130
130
  }
131
+ // Remove legacy agent files from pre-rename installs
132
+ const legacyAgentFiles = ['review.md', 'ship.md', 'workflow.md'];
133
+ for (const legacyFile of legacyAgentFiles) {
134
+ const legacyPath = path.join(opencodeAgentsDir, legacyFile);
135
+ if (fs.existsSync(legacyPath)) {
136
+ fs.unlinkSync(legacyPath);
137
+ removedCount++;
138
+ }
139
+ }
131
140
  if (removedCount > 0) {
132
141
  log(` Removed ${removedCount} OpenCode agents`);
133
142
  }
@@ -12,6 +12,9 @@
12
12
 
13
13
  const fs = require('fs');
14
14
  const path = require('path');
15
+ const discovery = require('../lib/discovery');
16
+
17
+ const ROOT_DIR = path.join(__dirname, '..');
15
18
 
16
19
  const home = process.env.HOME || process.env.USERPROFILE;
17
20
 
@@ -29,6 +32,10 @@ function getOpenCodeConfigDir() {
29
32
 
30
33
  const OPENCODE_DIR = getOpenCodeConfigDir();
31
34
 
35
+ const AGENT_FILES = new Set(discovery.discoverAgents(ROOT_DIR).map(agent => agent.file));
36
+ const COMMAND_FILES = new Set(discovery.getCommandMappings(ROOT_DIR).map(([target]) => target));
37
+ const SKILL_DIRS = new Set(discovery.discoverSkills(ROOT_DIR).map(skill => skill.dir));
38
+
32
39
  const issues = [];
33
40
 
34
41
  function checkFile(filePath, checks) {
@@ -87,7 +94,7 @@ const REQUIRED_PATTERNS = {
87
94
  ]
88
95
  };
89
96
 
90
- function validateDirectory(dir, type) {
97
+ function validateDirectory(dir, type, allowlist) {
91
98
  if (!fs.existsSync(dir)) {
92
99
  console.log(`[SKIP] ${type} directory not found: ${dir}`);
93
100
  return;
@@ -99,10 +106,16 @@ function validateDirectory(dir, type) {
99
106
  for (const file of files) {
100
107
  let filePath;
101
108
  if (file.isDirectory()) {
109
+ if (allowlist && !allowlist.has(file.name)) {
110
+ continue;
111
+ }
102
112
  // For skills, check SKILL.md inside directory
103
113
  filePath = path.join(dir, file.name, 'SKILL.md');
104
114
  if (!fs.existsSync(filePath)) continue;
105
115
  } else if (file.name.endsWith('.md')) {
116
+ if (allowlist && !allowlist.has(file.name)) {
117
+ continue;
118
+ }
106
119
  filePath = path.join(dir, file.name);
107
120
  } else {
108
121
  continue;
@@ -137,9 +150,9 @@ function main() {
137
150
 
138
151
  // Validate each type
139
152
  // OpenCode expects commands directly in commands/, not a subdirectory
140
- validateDirectory(path.join(OPENCODE_DIR, 'commands'), 'commands');
141
- validateDirectory(path.join(OPENCODE_DIR, 'agents'), 'agents');
142
- validateDirectory(path.join(OPENCODE_DIR, 'skills'), 'skills');
153
+ validateDirectory(path.join(OPENCODE_DIR, 'commands'), 'commands', COMMAND_FILES);
154
+ validateDirectory(path.join(OPENCODE_DIR, 'agents'), 'agents', AGENT_FILES);
155
+ validateDirectory(path.join(OPENCODE_DIR, 'skills'), 'skills', SKILL_DIRS);
143
156
 
144
157
  // Report results
145
158
  console.log('\n--- Results ---\n');
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.0",
8
+ "version": "5.0.1",
9
9
  "author": "Avi Fenesh",
10
10
  "author_url": "https://github.com/avifenesh"
11
11
  },
package/site/index.html CHANGED
@@ -689,7 +689,7 @@ npm install">
689
689
  <a href="https://github.com/avifenesh/agentsys/discussions" target="_blank" rel="noopener noreferrer">Discussions</a>
690
690
  </div>
691
691
  <div class="footer__meta">
692
- <span class="footer__version" id="site-version">v4.1.0</span>
692
+ <span class="footer__version" id="site-version">v5.0.0</span>
693
693
  <span class="footer__author">Made by <a href="https://github.com/avifenesh" target="_blank" rel="noopener noreferrer">Avi Fenesh</a></span>
694
694
  </div>
695
695
  </div>