awesome-slash 4.2.0 → 4.2.2

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 (161) hide show
  1. package/.claude-plugin/marketplace.json +13 -13
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/AGENTS.md +1 -1
  4. package/CHANGELOG.md +13 -6
  5. package/README.md +0 -14
  6. package/adapters/codex/skills/audit-project-agents/SKILL.md +1 -1
  7. package/adapters/codex/skills/ship-ci-review-loop/SKILL.md +1 -1
  8. package/adapters/codex/skills/ship-deployment/SKILL.md +1 -1
  9. package/adapters/opencode/commands/audit-project-agents.md +11 -0
  10. package/adapters/opencode/commands/ship-ci-review-loop.md +21 -1
  11. package/adapters/opencode/commands/ship-deployment.md +5 -0
  12. package/adapters/opencode/skills/agnix/SKILL.md +1 -1
  13. package/adapters/opencode/skills/consult/SKILL.md +1 -1
  14. package/adapters/opencode/skills/deslop/SKILL.md +1 -1
  15. package/adapters/opencode/skills/discover-tasks/SKILL.md +1 -1
  16. package/adapters/opencode/skills/drift-analysis/SKILL.md +1 -1
  17. package/adapters/opencode/skills/enhance-agent-prompts/SKILL.md +1 -1
  18. package/adapters/opencode/skills/enhance-claude-memory/SKILL.md +1 -1
  19. package/adapters/opencode/skills/enhance-cross-file/SKILL.md +1 -1
  20. package/adapters/opencode/skills/enhance-docs/SKILL.md +1 -1
  21. package/adapters/opencode/skills/enhance-hooks/SKILL.md +1 -1
  22. package/adapters/opencode/skills/enhance-orchestrator/SKILL.md +1 -1
  23. package/adapters/opencode/skills/enhance-plugins/SKILL.md +1 -1
  24. package/adapters/opencode/skills/enhance-prompts/SKILL.md +1 -1
  25. package/adapters/opencode/skills/enhance-skills/SKILL.md +1 -1
  26. package/adapters/opencode/skills/learn/SKILL.md +1 -1
  27. package/adapters/opencode/skills/perf-analyzer/SKILL.md +1 -1
  28. package/adapters/opencode/skills/perf-baseline-manager/SKILL.md +1 -1
  29. package/adapters/opencode/skills/perf-benchmarker/SKILL.md +1 -1
  30. package/adapters/opencode/skills/perf-code-paths/SKILL.md +1 -1
  31. package/adapters/opencode/skills/perf-investigation-logger/SKILL.md +1 -1
  32. package/adapters/opencode/skills/perf-profiler/SKILL.md +1 -1
  33. package/adapters/opencode/skills/perf-theory-gatherer/SKILL.md +1 -1
  34. package/adapters/opencode/skills/perf-theory-tester/SKILL.md +1 -1
  35. package/adapters/opencode/skills/sync-docs/SKILL.md +1 -1
  36. package/adapters/opencode/skills/validate-delivery/SKILL.md +1 -1
  37. package/bin/cli.js +4 -0
  38. package/lib/enhance/docs-patterns.js +1 -1
  39. package/lib/enhance/fixer.js +38 -13
  40. package/lib/enhance/projectmemory-analyzer.js +17 -9
  41. package/lib/enhance/projectmemory-patterns.js +2 -2
  42. package/lib/enhance/prompt-patterns.js +31 -28
  43. package/lib/enhance/security-patterns.js +6 -6
  44. package/lib/package.json +0 -3
  45. package/lib/patterns/slop-analyzers.js +1 -1
  46. package/package.json +1 -1
  47. package/plugins/agnix/.claude-plugin/plugin.json +1 -1
  48. package/plugins/agnix/skills/agnix/SKILL.md +1 -1
  49. package/plugins/audit-project/.claude-plugin/plugin.json +1 -1
  50. package/plugins/audit-project/commands/audit-project-agents.md +5 -0
  51. package/plugins/audit-project/lib/enhance/docs-patterns.js +1 -1
  52. package/plugins/audit-project/lib/enhance/fixer.js +38 -13
  53. package/plugins/audit-project/lib/enhance/projectmemory-analyzer.js +17 -9
  54. package/plugins/audit-project/lib/enhance/projectmemory-patterns.js +2 -2
  55. package/plugins/audit-project/lib/enhance/prompt-patterns.js +31 -28
  56. package/plugins/audit-project/lib/enhance/security-patterns.js +6 -6
  57. package/plugins/audit-project/lib/patterns/slop-analyzers.js +1 -1
  58. package/plugins/consult/.claude-plugin/plugin.json +1 -1
  59. package/plugins/consult/skills/consult/SKILL.md +1 -1
  60. package/plugins/deslop/.claude-plugin/plugin.json +1 -1
  61. package/plugins/deslop/lib/enhance/docs-patterns.js +1 -1
  62. package/plugins/deslop/lib/enhance/fixer.js +38 -13
  63. package/plugins/deslop/lib/enhance/projectmemory-analyzer.js +17 -9
  64. package/plugins/deslop/lib/enhance/projectmemory-patterns.js +2 -2
  65. package/plugins/deslop/lib/enhance/prompt-patterns.js +31 -28
  66. package/plugins/deslop/lib/enhance/security-patterns.js +6 -6
  67. package/plugins/deslop/lib/patterns/slop-analyzers.js +1 -1
  68. package/plugins/deslop/skills/deslop/SKILL.md +1 -1
  69. package/plugins/drift-detect/.claude-plugin/plugin.json +1 -1
  70. package/plugins/drift-detect/lib/enhance/docs-patterns.js +1 -1
  71. package/plugins/drift-detect/lib/enhance/fixer.js +38 -13
  72. package/plugins/drift-detect/lib/enhance/projectmemory-analyzer.js +17 -9
  73. package/plugins/drift-detect/lib/enhance/projectmemory-patterns.js +2 -2
  74. package/plugins/drift-detect/lib/enhance/prompt-patterns.js +31 -28
  75. package/plugins/drift-detect/lib/enhance/security-patterns.js +6 -6
  76. package/plugins/drift-detect/lib/patterns/slop-analyzers.js +1 -1
  77. package/plugins/drift-detect/skills/drift-analysis/SKILL.md +1 -1
  78. package/plugins/enhance/.claude-plugin/plugin.json +1 -1
  79. package/plugins/enhance/lib/enhance/docs-patterns.js +1 -1
  80. package/plugins/enhance/lib/enhance/fixer.js +38 -13
  81. package/plugins/enhance/lib/enhance/projectmemory-analyzer.js +17 -9
  82. package/plugins/enhance/lib/enhance/projectmemory-patterns.js +2 -2
  83. package/plugins/enhance/lib/enhance/prompt-patterns.js +31 -28
  84. package/plugins/enhance/lib/enhance/security-patterns.js +6 -6
  85. package/plugins/enhance/lib/patterns/slop-analyzers.js +1 -1
  86. package/plugins/enhance/skills/enhance-agent-prompts/SKILL.md +1 -1
  87. package/plugins/enhance/skills/enhance-claude-memory/SKILL.md +1 -1
  88. package/plugins/enhance/skills/enhance-cross-file/SKILL.md +1 -1
  89. package/plugins/enhance/skills/enhance-docs/SKILL.md +1 -1
  90. package/plugins/enhance/skills/enhance-hooks/SKILL.md +1 -1
  91. package/plugins/enhance/skills/enhance-orchestrator/SKILL.md +1 -1
  92. package/plugins/enhance/skills/enhance-plugins/SKILL.md +1 -1
  93. package/plugins/enhance/skills/enhance-prompts/SKILL.md +1 -1
  94. package/plugins/enhance/skills/enhance-skills/SKILL.md +1 -1
  95. package/plugins/learn/.claude-plugin/plugin.json +1 -1
  96. package/plugins/learn/lib/enhance/docs-patterns.js +1 -1
  97. package/plugins/learn/lib/enhance/fixer.js +38 -13
  98. package/plugins/learn/lib/enhance/projectmemory-analyzer.js +17 -9
  99. package/plugins/learn/lib/enhance/projectmemory-patterns.js +2 -2
  100. package/plugins/learn/lib/enhance/prompt-patterns.js +31 -28
  101. package/plugins/learn/lib/enhance/security-patterns.js +6 -6
  102. package/plugins/learn/lib/patterns/slop-analyzers.js +1 -1
  103. package/plugins/learn/skills/learn/SKILL.md +1 -1
  104. package/plugins/next-task/.claude-plugin/plugin.json +1 -1
  105. package/plugins/next-task/lib/enhance/docs-patterns.js +1 -1
  106. package/plugins/next-task/lib/enhance/fixer.js +38 -13
  107. package/plugins/next-task/lib/enhance/projectmemory-analyzer.js +17 -9
  108. package/plugins/next-task/lib/enhance/projectmemory-patterns.js +2 -2
  109. package/plugins/next-task/lib/enhance/prompt-patterns.js +31 -28
  110. package/plugins/next-task/lib/enhance/security-patterns.js +6 -6
  111. package/plugins/next-task/lib/patterns/slop-analyzers.js +1 -1
  112. package/plugins/next-task/skills/discover-tasks/SKILL.md +1 -1
  113. package/plugins/next-task/skills/validate-delivery/SKILL.md +1 -1
  114. package/plugins/perf/.claude-plugin/plugin.json +1 -1
  115. package/plugins/perf/lib/enhance/docs-patterns.js +1 -1
  116. package/plugins/perf/lib/enhance/fixer.js +38 -13
  117. package/plugins/perf/lib/enhance/projectmemory-analyzer.js +17 -9
  118. package/plugins/perf/lib/enhance/projectmemory-patterns.js +2 -2
  119. package/plugins/perf/lib/enhance/prompt-patterns.js +31 -28
  120. package/plugins/perf/lib/enhance/security-patterns.js +6 -6
  121. package/plugins/perf/lib/patterns/slop-analyzers.js +1 -1
  122. package/plugins/perf/skills/perf-analyzer/SKILL.md +1 -1
  123. package/plugins/perf/skills/perf-baseline-manager/SKILL.md +1 -1
  124. package/plugins/perf/skills/perf-benchmarker/SKILL.md +1 -1
  125. package/plugins/perf/skills/perf-code-paths/SKILL.md +1 -1
  126. package/plugins/perf/skills/perf-investigation-logger/SKILL.md +1 -1
  127. package/plugins/perf/skills/perf-profiler/SKILL.md +1 -1
  128. package/plugins/perf/skills/perf-theory-gatherer/SKILL.md +1 -1
  129. package/plugins/perf/skills/perf-theory-tester/SKILL.md +1 -1
  130. package/plugins/repo-map/.claude-plugin/plugin.json +1 -1
  131. package/plugins/repo-map/lib/enhance/docs-patterns.js +1 -1
  132. package/plugins/repo-map/lib/enhance/fixer.js +38 -13
  133. package/plugins/repo-map/lib/enhance/projectmemory-analyzer.js +17 -9
  134. package/plugins/repo-map/lib/enhance/projectmemory-patterns.js +2 -2
  135. package/plugins/repo-map/lib/enhance/prompt-patterns.js +31 -28
  136. package/plugins/repo-map/lib/enhance/security-patterns.js +6 -6
  137. package/plugins/repo-map/lib/patterns/slop-analyzers.js +1 -1
  138. package/plugins/ship/.claude-plugin/plugin.json +1 -1
  139. package/plugins/ship/commands/ship-ci-review-loop.md +5 -0
  140. package/plugins/ship/commands/ship-deployment.md +5 -0
  141. package/plugins/ship/lib/enhance/docs-patterns.js +1 -1
  142. package/plugins/ship/lib/enhance/fixer.js +38 -13
  143. package/plugins/ship/lib/enhance/projectmemory-analyzer.js +17 -9
  144. package/plugins/ship/lib/enhance/projectmemory-patterns.js +2 -2
  145. package/plugins/ship/lib/enhance/prompt-patterns.js +31 -28
  146. package/plugins/ship/lib/enhance/security-patterns.js +6 -6
  147. package/plugins/ship/lib/patterns/slop-analyzers.js +1 -1
  148. package/plugins/sync-docs/.claude-plugin/plugin.json +1 -1
  149. package/plugins/sync-docs/lib/enhance/docs-patterns.js +1 -1
  150. package/plugins/sync-docs/lib/enhance/fixer.js +38 -13
  151. package/plugins/sync-docs/lib/enhance/projectmemory-analyzer.js +17 -9
  152. package/plugins/sync-docs/lib/enhance/projectmemory-patterns.js +2 -2
  153. package/plugins/sync-docs/lib/enhance/prompt-patterns.js +31 -28
  154. package/plugins/sync-docs/lib/enhance/security-patterns.js +6 -6
  155. package/plugins/sync-docs/lib/patterns/slop-analyzers.js +1 -1
  156. package/plugins/sync-docs/skills/sync-docs/SKILL.md +1 -1
  157. package/scripts/gen-adapters.js +10 -0
  158. package/scripts/generate-docs.js +1 -1
  159. package/scripts/preflight.js +1 -2
  160. package/scripts/stamp-version.js +0 -5
  161. package/site/content.json +8 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "awesome-slash",
3
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": "4.2.0",
4
+ "version": "4.2.2",
5
5
  "owner": {
6
6
  "name": "Avi Fenesh",
7
7
  "url": "https://github.com/avifenesh"
@@ -26,84 +26,84 @@
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": "4.2.0",
29
+ "version": "4.2.2",
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": "4.2.0",
36
+ "version": "4.2.2",
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": "4.2.0",
43
+ "version": "4.2.2",
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": "4.2.0",
50
+ "version": "4.2.2",
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": "4.2.0",
57
+ "version": "4.2.2",
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": "4.2.0",
64
+ "version": "4.2.2",
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": "4.2.0",
71
+ "version": "4.2.2",
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": "4.2.0",
78
+ "version": "4.2.2",
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": "4.2.0",
85
+ "version": "4.2.2",
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": "4.2.0",
92
+ "version": "4.2.2",
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": "4.2.0",
99
+ "version": "4.2.2",
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": "4.2.0",
106
+ "version": "4.2.2",
107
107
  "category": "productivity"
108
108
  }
109
109
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awesome-slash",
3
- "version": "4.2.0",
3
+ "version": "4.2.2",
4
4
  "description": "Professional-grade slash commands for Claude Code with cross-platform support",
5
5
  "keywords": [
6
6
  "workflow",
package/AGENTS.md CHANGED
@@ -75,7 +75,7 @@
75
75
 
76
76
  <!-- GEN:START:claude-architecture -->
77
77
  ```
78
- lib/ → Shared library (published as @awesome-slash/lib, vendored to plugins)
78
+ lib/ → Shared library (vendored to plugins)
79
79
  plugins/ → 12 plugins, 41 agents (31 file-based + 10 role-based), 27 skills
80
80
  adapters/ → Platform adapters (opencode-plugin/, opencode/, codex/)
81
81
  checklists/ → Action checklists (9 files)
package/CHANGELOG.md CHANGED
@@ -14,6 +14,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
14
14
 
15
15
  ## [Unreleased]
16
16
 
17
+ ## [4.2.2] - 2026-02-12
18
+
19
+ ### Fixed
20
+ - Added missing frontmatter descriptions to 3 command reference files (`audit-project-agents`, `ship-ci-review-loop`, `ship-deployment`) that caused Codex adapter skills to install with empty descriptions
21
+ - Added build-time validation in `gen-adapters.js` to error on empty Codex skill descriptions
22
+ - Added install-time guard in `bin/cli.js` to skip skills with missing descriptions
23
+
24
+ ## [4.2.1] - 2026-02-11
25
+
26
+ ### Fixed
27
+ - Removed unused `@awesome-slash/lib` publish job from release workflow
28
+ - Cleaned up all references to lib as a standalone npm package (docs, scripts, tests, configs)
29
+
17
30
  ## [4.2.0] - 2026-02-11
18
31
 
19
32
  ### Added
@@ -42,12 +55,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
42
55
  - Enhanced `lib/discovery` with YAML array parsing and frontmatter in `discoverAgents()`/`discoverSkills()`
43
56
  - Integrated into preflight as `gap:docs-freshness` check for new-agent, new-skill, new-command, and release checklists
44
57
  - 34 tests for the generation system, 7 new discovery tests
45
- - **@awesome-slash/lib npm package** - Published shared library as standalone npm package
46
- - Enables external projects to use awesome-slash utilities via `require('@awesome-slash/lib')`
47
- - Zero dependencies, CommonJS, Node.js >= 18
48
- - npm workspaces link lib/ for local development
49
- - Plugins remain self-contained (vendored lib/ copies) for Claude Code marketplace compatibility
50
- - Version stamping, consistency validation, and CI publishing all updated
51
58
  - **Preflight command** - Unified change-aware checklist enforcement (`npm run preflight`, `preflight --all`, `preflight --release`, `preflight --json`)
52
59
  - Detects changed files and runs only relevant checklist validators
53
60
  - Includes 7 existing validators + 7 new gap checks (CHANGELOG, labels, codex triggers, lib exports, lib sync, test existence, staged files)
package/README.md CHANGED
@@ -819,20 +819,6 @@ awesome-slash --development # Dev mode (bypasses marketplace)
819
819
 
820
820
  [Full installation guide →](./docs/INSTALLATION.md)
821
821
 
822
- ### Using the Core Library
823
-
824
- The shared library is published as `@awesome-slash/lib` for direct use:
825
-
826
- ```bash
827
- npm install @awesome-slash/lib
828
- ```
829
-
830
- ```javascript
831
- const { platform, patterns, state, sources, xplat } = require('@awesome-slash/lib');
832
- ```
833
-
834
- Zero dependencies, CommonJS, Node.js >= 18.
835
-
836
822
  ---
837
823
 
838
824
  ## Requirements
@@ -1,7 +1,7 @@
1
1
  <!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->
2
2
  ---
3
3
  name: audit-project-agents
4
- description: ""
4
+ description: "Use when coordinating multi-agent review passes in /audit-project. Details agent specialization, file filtering, and review queue handling."
5
5
  ---
6
6
 
7
7
  # Phase 2: Multi-Agent Review - Reference
@@ -1,7 +1,7 @@
1
1
  <!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->
2
2
  ---
3
3
  name: ship-ci-review-loop
4
- description: ""
4
+ description: "Use when monitoring CI and handling review comments during /ship. Details mandatory wait periods, auto-reviewer handling, and comment resolution."
5
5
  ---
6
6
 
7
7
  <ci-review-loop>
@@ -1,7 +1,7 @@
1
1
  <!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->
2
2
  ---
3
3
  name: ship-deployment
4
- description: ""
4
+ description: "Use when deploying and validating during /ship. Details Railway/Vercel deployment, smoke testing, and rollback procedures."
5
5
  ---
6
6
 
7
7
  # Phases 7-10: Deploy & Validate - Reference
@@ -1,4 +1,15 @@
1
1
  <!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->
2
+ ---
3
+ description: "Use when coordinating multi-agent review passes in /audit-project. Details agent specialization, file filtering, and review queue handling."
4
+ agent: general
5
+ ---
6
+
7
+ > **OpenCode Note**: Invoke agents using `@agent-name` syntax.
8
+ > Available agents: task-discoverer, exploration-agent, planning-agent,
9
+ > implementation-agent, deslop-agent, delivery-validator, sync-docs-agent, consult-agent
10
+ > Example: `@exploration-agent analyze the codebase`
11
+
12
+
2
13
  # Phase 2: Multi-Agent Review - Reference
3
14
 
4
15
  This file contains detailed agent coordination for `/audit-project`.
@@ -1,4 +1,15 @@
1
1
  <!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->
2
+ ---
3
+ description: "Use when monitoring CI and handling review comments during /ship. Details mandatory wait periods, auto-reviewer handling, and comment resolution."
4
+ agent: general
5
+ ---
6
+
7
+ > **OpenCode Note**: Invoke agents using `@agent-name` syntax.
8
+ > Available agents: task-discoverer, exploration-agent, planning-agent,
9
+ > implementation-agent, deslop-agent, delivery-validator, sync-docs-agent, consult-agent
10
+ > Example: `@exploration-agent analyze the codebase`
11
+
12
+
2
13
  <ci-review-loop>
3
14
  # Phase 4: CI & Review Monitor Loop - Reference
4
15
 
@@ -7,7 +18,16 @@ This file contains detailed implementation for the CI & Review Monitor Loop phas
7
18
  **Parent document**: `ship.md`
8
19
 
9
20
  ---
10
- agent: general
21
+
22
+ <mandatory-requirements>
23
+ ## This Phase Is Mandatory
24
+
25
+ This is not optional. You must:
26
+ 1. Wait the full 3 minutes for auto-reviewers
27
+ 2. Run the monitor loop (not just check once)
28
+ 3. Address all comments before merge
29
+ </mandatory-requirements>
30
+
11
31
  ---
12
32
 
13
33
  <pr-auto-review>
@@ -1,4 +1,9 @@
1
1
  <!-- AUTO-GENERATED by scripts/gen-adapters.js - DO NOT EDIT -->
2
+ ---
3
+ description: "Use when deploying and validating during /ship. Details Railway/Vercel deployment, smoke testing, and rollback procedures."
4
+ agent: general
5
+ ---
6
+
2
7
  # Phases 7-10: Deploy & Validate - Reference
3
8
 
4
9
  This file contains platform-specific deployment and validation for `/ship`.
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: agnix
4
4
  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."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[path] [--fix] [--strict] [--target=claude-code|cursor|codex]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: consult
4
4
  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."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[question] [--tool] [--effort] [--model] [--context] [--continue]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: deslop
4
4
  description: "Use when user wants to clean AI slop from code. Use for cleanup, remove debug statements, find ghost code, repo hygiene."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[report|apply] [--scope=all|diff|path] [--thoroughness=quick|normal|deep]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: discover-tasks
4
4
  description: "Use when discovering and prioritizing tasks from configured sources. Handles GitHub, GitLab, local files, and custom sources."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  ---
7
7
 
8
8
  # discover-tasks
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: drift-analysis
4
4
  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.
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  ---
7
7
 
8
8
  # Drift Analysis
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: enhance-agent-prompts
4
4
  description: "Use when improving agent prompts, frontmatter, and tool restrictions."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[path] [--fix] [--verbose]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: enhance-claude-memory
4
4
  description: "Use when improving CLAUDE.md or AGENTS.md project memory files."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  ---
7
7
 
8
8
  > **OpenCode Note**: Invoke agents using `@agent-name` syntax.
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: enhance-cross-file
4
4
  description: "Use when checking cross-file consistency: tools vs frontmatter, agent references, duplicate rules, contradictions."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[path]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: enhance-docs
4
4
  description: "Use when improving documentation structure, accuracy, and RAG readiness."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[path] [--fix] [--ai]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: enhance-hooks
4
4
  description: "Use when reviewing hooks for safety, timeouts, and correct frontmatter."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[path] [--fix]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: enhance-orchestrator
4
4
  description: "Use when coordinating multiple enhancers for /enhance command. Runs analyzers in parallel and produces unified report."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[path] [--apply] [--focus=TYPE]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: enhance-plugins
4
4
  description: "Use when analyzing plugin structures, MCP tools, and plugin security patterns."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[path] [--fix]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: enhance-prompts
4
4
  description: "Use when improving general prompts for structure, examples, and constraints."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[path] [--fix]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: enhance-skills
4
4
  description: "Use when reviewing SKILL.md files for structure and trigger quality."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[path] [--fix]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: learn
4
4
  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'."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[topic] [--depth=brief|medium|deep]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: perf-analyzer
4
4
  description: "Use when synthesizing perf findings into evidence-backed recommendations and decisions."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  ---
7
7
 
8
8
  # perf-analyzer
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: perf-baseline-manager
4
4
  description: "Use when managing perf baselines, consolidating results, or comparing versions. Ensures one baseline JSON per version."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  ---
7
7
 
8
8
  # perf-baseline-manager
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: perf-benchmarker
4
4
  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."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[command] [duration]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: perf-code-paths
4
4
  description: "Use when mapping code paths, entrypoints, and likely hot files before profiling."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  ---
7
7
 
8
8
  # perf-code-paths
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: perf-investigation-logger
4
4
  description: "Use when appending structured perf investigation notes and evidence."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  ---
7
7
 
8
8
  # perf-investigation-logger
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: perf-profiler
4
4
  description: "Use when profiling CPU/memory hot paths, generating flame graphs, or capturing JFR/perf evidence."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[tool] [command]"
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: perf-theory-gatherer
4
4
  description: "Use when generating performance hypotheses backed by git history and code evidence."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  ---
7
7
 
8
8
  # perf-theory-gatherer
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: perf-theory-tester
4
4
  description: "Use when running controlled perf experiments to validate hypotheses."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  ---
7
7
 
8
8
  # perf-theory-tester
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: sync-docs
4
4
  description: "Sync documentation with code. Use when user asks to update docs, check docs, fix stale documentation, update changelog, or after code changes."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  argument-hint: "[report|apply] [--scope=all|recent|before-pr] [--include-undocumented]"
7
7
  allowed-tools: Bash(git:*), Read, Grep, Glob
8
8
  ---
@@ -2,7 +2,7 @@
2
2
  ---
3
3
  name: validate-delivery
4
4
  description: "Use when validating task completion before shipping. Runs tests, build, and requirement checks. Returns pass/fail with fix instructions."
5
- version: 4.2.0
5
+ version: 4.2.2
6
6
  ---
7
7
 
8
8
  # validate-delivery
package/bin/cli.js CHANGED
@@ -480,6 +480,10 @@ function installForCodex(installDir) {
480
480
  const skillMappings = discovery.getCodexSkillMappings(installDir);
481
481
 
482
482
  for (const [skillName, plugin, sourceFile, description] of skillMappings) {
483
+ if (!description) {
484
+ console.log(` [WARN] Skipping skill ${skillName}: missing description`);
485
+ continue;
486
+ }
483
487
  const srcPath = path.join(installDir, 'plugins', plugin, 'commands', sourceFile);
484
488
  const skillDir = path.join(skillsDir, skillName);
485
489
  const destPath = path.join(skillDir, 'SKILL.md');
@@ -418,7 +418,7 @@ const docsPatterns = {
418
418
  }
419
419
 
420
420
  // Check for very long lists that could be tables
421
- const longLists = content.match(/(?:^[-*]\s+.+\n){10,}/gm);
421
+ const longLists = content.match(/(?:^[-*][ \t]+\S[^\n]*\n){10,}/gm);
422
422
  if (longLists) {
423
423
  suggestions.push('Long lists (10+ items) might be more efficient as tables');
424
424
  }
@@ -179,7 +179,7 @@ function applyAtPath(obj, pathStr, fixFn) {
179
179
  const part = parts[i];
180
180
  if (part.includes('[')) {
181
181
  // Array access
182
- const match = part.match(/(\w+)\[(\d+)\]/);
182
+ const match = part.match(/^((?!__proto__|constructor|prototype)[a-zA-Z_]\w*)\[(\d{1,10})\]$/);
183
183
  if (match) {
184
184
  current = current[match[1]][parseInt(match[2], 10)];
185
185
  }
@@ -190,7 +190,7 @@ function applyAtPath(obj, pathStr, fixFn) {
190
190
 
191
191
  const lastPart = parts[parts.length - 1];
192
192
  if (lastPart.includes('[')) {
193
- const match = lastPart.match(/(\w+)\[(\d+)\]/);
193
+ const match = lastPart.match(/^((?!__proto__|constructor|prototype)[a-zA-Z_]\w*)\[(\d{1,10})\]$/);
194
194
  if (match) {
195
195
  current[match[1]][parseInt(match[2], 10)] = fixFn(current[match[1]][parseInt(match[2], 10)]);
196
196
  }
@@ -403,7 +403,7 @@ function fixInconsistentHeadings(content) {
403
403
 
404
404
  if (inCodeBlock) continue;
405
405
 
406
- const headingMatch = line.match(/^(#{1,6})\s+(.+)$/);
406
+ const headingMatch = line.match(/^(#{1,6})[ \t]+(\S.*)$/);
407
407
  if (headingMatch) {
408
408
  const currentLevel = headingMatch[1].length;
409
409
  const headingText = headingMatch[2];
@@ -535,6 +535,37 @@ Why bad: [explanation]
535
535
  return content.trim() + exampleSection;
536
536
  }
537
537
 
538
+ /**
539
+ * Wrap a markdown section (heading to next heading/separator) in XML tags.
540
+ * Uses line-by-line scanning to avoid ReDoS from [\s\S]*? with lookaheads.
541
+ */
542
+ function wrapSection(text, headingPattern, tagName) {
543
+ const lines = text.split('\n');
544
+ let sectionStart = -1;
545
+ for (let i = 0; i < lines.length; i++) {
546
+ if (sectionStart === -1) {
547
+ if (headingPattern.test(lines[i])) {
548
+ sectionStart = i;
549
+ }
550
+ } else {
551
+ // End section at next heading or horizontal rule
552
+ if (/^#{1,6}\s/.test(lines[i]) || /^---/.test(lines[i])) {
553
+ const before = lines.slice(0, sectionStart);
554
+ const section = lines.slice(sectionStart, i);
555
+ const after = lines.slice(i);
556
+ return [...before, `<${tagName}>`, ...section, `</${tagName}>`, ...after].join('\n');
557
+ }
558
+ }
559
+ }
560
+ // Section runs to end of content
561
+ if (sectionStart !== -1) {
562
+ const before = lines.slice(0, sectionStart);
563
+ const section = lines.slice(sectionStart);
564
+ return [...before, `<${tagName}>`, ...section, `</${tagName}>`].join('\n');
565
+ }
566
+ return text;
567
+ }
568
+
538
569
  /**
539
570
  * Add XML structure tags to complex prompt
540
571
  * @param {string} content - Prompt content
@@ -551,17 +582,11 @@ function fixMissingXmlStructure(content) {
551
582
  // Wrap role section if exists
552
583
  let result = content;
553
584
 
554
- // Find and wrap role section
555
- result = result.replace(
556
- /^(##\s*(?:your\s+)?role\s*\n)([\s\S]*?)(?=\n##|\n---|\Z)/im,
557
- '<role>\n$1$2</role>\n'
558
- );
585
+ // Find and wrap role section (use non-regex approach to avoid ReDoS)
586
+ result = wrapSection(result, /^##[ \t]*(?:your[ \t]+)?role[ \t]*$/im, 'role');
559
587
 
560
588
  // Find and wrap constraints section
561
- result = result.replace(
562
- /^(##\s*(?:constraints?|rules?)\s*\n)([\s\S]*?)(?=\n##|\n---|\Z)/im,
563
- '<constraints>\n$1$2</constraints>\n'
564
- );
589
+ result = wrapSection(result, /^##[ \t]*(?:constraints?|rules?)[ \t]*$/im, 'constraints');
565
590
 
566
591
  return result;
567
592
  }
@@ -622,7 +647,7 @@ function fixMissingTriggerPhrase(content) {
622
647
  // Check if already has trigger phrase
623
648
  if (!/use when user asks/i.test(descLine)) {
624
649
  // Extract current description
625
- const match = descLine.match(/^description:\s*(.+)$/);
650
+ const match = descLine.match(/^description:[ \t]*(\S.*)$/);
626
651
  if (match) {
627
652
  const currentDesc = match[1].trim();
628
653
  // Add trigger phrase