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.
- package/.claude-plugin/marketplace.json +13 -13
- package/.claude-plugin/plugin.json +1 -1
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +13 -6
- package/README.md +0 -14
- package/adapters/codex/skills/audit-project-agents/SKILL.md +1 -1
- package/adapters/codex/skills/ship-ci-review-loop/SKILL.md +1 -1
- package/adapters/codex/skills/ship-deployment/SKILL.md +1 -1
- package/adapters/opencode/commands/audit-project-agents.md +11 -0
- package/adapters/opencode/commands/ship-ci-review-loop.md +21 -1
- package/adapters/opencode/commands/ship-deployment.md +5 -0
- package/adapters/opencode/skills/agnix/SKILL.md +1 -1
- package/adapters/opencode/skills/consult/SKILL.md +1 -1
- package/adapters/opencode/skills/deslop/SKILL.md +1 -1
- package/adapters/opencode/skills/discover-tasks/SKILL.md +1 -1
- package/adapters/opencode/skills/drift-analysis/SKILL.md +1 -1
- package/adapters/opencode/skills/enhance-agent-prompts/SKILL.md +1 -1
- package/adapters/opencode/skills/enhance-claude-memory/SKILL.md +1 -1
- package/adapters/opencode/skills/enhance-cross-file/SKILL.md +1 -1
- package/adapters/opencode/skills/enhance-docs/SKILL.md +1 -1
- package/adapters/opencode/skills/enhance-hooks/SKILL.md +1 -1
- package/adapters/opencode/skills/enhance-orchestrator/SKILL.md +1 -1
- package/adapters/opencode/skills/enhance-plugins/SKILL.md +1 -1
- package/adapters/opencode/skills/enhance-prompts/SKILL.md +1 -1
- package/adapters/opencode/skills/enhance-skills/SKILL.md +1 -1
- package/adapters/opencode/skills/learn/SKILL.md +1 -1
- package/adapters/opencode/skills/perf-analyzer/SKILL.md +1 -1
- package/adapters/opencode/skills/perf-baseline-manager/SKILL.md +1 -1
- package/adapters/opencode/skills/perf-benchmarker/SKILL.md +1 -1
- package/adapters/opencode/skills/perf-code-paths/SKILL.md +1 -1
- package/adapters/opencode/skills/perf-investigation-logger/SKILL.md +1 -1
- package/adapters/opencode/skills/perf-profiler/SKILL.md +1 -1
- package/adapters/opencode/skills/perf-theory-gatherer/SKILL.md +1 -1
- package/adapters/opencode/skills/perf-theory-tester/SKILL.md +1 -1
- package/adapters/opencode/skills/sync-docs/SKILL.md +1 -1
- package/adapters/opencode/skills/validate-delivery/SKILL.md +1 -1
- package/bin/cli.js +4 -0
- package/lib/enhance/docs-patterns.js +1 -1
- package/lib/enhance/fixer.js +38 -13
- package/lib/enhance/projectmemory-analyzer.js +17 -9
- package/lib/enhance/projectmemory-patterns.js +2 -2
- package/lib/enhance/prompt-patterns.js +31 -28
- package/lib/enhance/security-patterns.js +6 -6
- package/lib/package.json +0 -3
- package/lib/patterns/slop-analyzers.js +1 -1
- package/package.json +1 -1
- package/plugins/agnix/.claude-plugin/plugin.json +1 -1
- package/plugins/agnix/skills/agnix/SKILL.md +1 -1
- package/plugins/audit-project/.claude-plugin/plugin.json +1 -1
- package/plugins/audit-project/commands/audit-project-agents.md +5 -0
- package/plugins/audit-project/lib/enhance/docs-patterns.js +1 -1
- package/plugins/audit-project/lib/enhance/fixer.js +38 -13
- package/plugins/audit-project/lib/enhance/projectmemory-analyzer.js +17 -9
- package/plugins/audit-project/lib/enhance/projectmemory-patterns.js +2 -2
- package/plugins/audit-project/lib/enhance/prompt-patterns.js +31 -28
- package/plugins/audit-project/lib/enhance/security-patterns.js +6 -6
- package/plugins/audit-project/lib/patterns/slop-analyzers.js +1 -1
- package/plugins/consult/.claude-plugin/plugin.json +1 -1
- package/plugins/consult/skills/consult/SKILL.md +1 -1
- package/plugins/deslop/.claude-plugin/plugin.json +1 -1
- package/plugins/deslop/lib/enhance/docs-patterns.js +1 -1
- package/plugins/deslop/lib/enhance/fixer.js +38 -13
- package/plugins/deslop/lib/enhance/projectmemory-analyzer.js +17 -9
- package/plugins/deslop/lib/enhance/projectmemory-patterns.js +2 -2
- package/plugins/deslop/lib/enhance/prompt-patterns.js +31 -28
- package/plugins/deslop/lib/enhance/security-patterns.js +6 -6
- package/plugins/deslop/lib/patterns/slop-analyzers.js +1 -1
- package/plugins/deslop/skills/deslop/SKILL.md +1 -1
- package/plugins/drift-detect/.claude-plugin/plugin.json +1 -1
- package/plugins/drift-detect/lib/enhance/docs-patterns.js +1 -1
- package/plugins/drift-detect/lib/enhance/fixer.js +38 -13
- package/plugins/drift-detect/lib/enhance/projectmemory-analyzer.js +17 -9
- package/plugins/drift-detect/lib/enhance/projectmemory-patterns.js +2 -2
- package/plugins/drift-detect/lib/enhance/prompt-patterns.js +31 -28
- package/plugins/drift-detect/lib/enhance/security-patterns.js +6 -6
- package/plugins/drift-detect/lib/patterns/slop-analyzers.js +1 -1
- package/plugins/drift-detect/skills/drift-analysis/SKILL.md +1 -1
- package/plugins/enhance/.claude-plugin/plugin.json +1 -1
- package/plugins/enhance/lib/enhance/docs-patterns.js +1 -1
- package/plugins/enhance/lib/enhance/fixer.js +38 -13
- package/plugins/enhance/lib/enhance/projectmemory-analyzer.js +17 -9
- package/plugins/enhance/lib/enhance/projectmemory-patterns.js +2 -2
- package/plugins/enhance/lib/enhance/prompt-patterns.js +31 -28
- package/plugins/enhance/lib/enhance/security-patterns.js +6 -6
- package/plugins/enhance/lib/patterns/slop-analyzers.js +1 -1
- package/plugins/enhance/skills/enhance-agent-prompts/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-claude-memory/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-cross-file/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-docs/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-hooks/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-orchestrator/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-plugins/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-prompts/SKILL.md +1 -1
- package/plugins/enhance/skills/enhance-skills/SKILL.md +1 -1
- package/plugins/learn/.claude-plugin/plugin.json +1 -1
- package/plugins/learn/lib/enhance/docs-patterns.js +1 -1
- package/plugins/learn/lib/enhance/fixer.js +38 -13
- package/plugins/learn/lib/enhance/projectmemory-analyzer.js +17 -9
- package/plugins/learn/lib/enhance/projectmemory-patterns.js +2 -2
- package/plugins/learn/lib/enhance/prompt-patterns.js +31 -28
- package/plugins/learn/lib/enhance/security-patterns.js +6 -6
- package/plugins/learn/lib/patterns/slop-analyzers.js +1 -1
- package/plugins/learn/skills/learn/SKILL.md +1 -1
- package/plugins/next-task/.claude-plugin/plugin.json +1 -1
- package/plugins/next-task/lib/enhance/docs-patterns.js +1 -1
- package/plugins/next-task/lib/enhance/fixer.js +38 -13
- package/plugins/next-task/lib/enhance/projectmemory-analyzer.js +17 -9
- package/plugins/next-task/lib/enhance/projectmemory-patterns.js +2 -2
- package/plugins/next-task/lib/enhance/prompt-patterns.js +31 -28
- package/plugins/next-task/lib/enhance/security-patterns.js +6 -6
- package/plugins/next-task/lib/patterns/slop-analyzers.js +1 -1
- package/plugins/next-task/skills/discover-tasks/SKILL.md +1 -1
- package/plugins/next-task/skills/validate-delivery/SKILL.md +1 -1
- package/plugins/perf/.claude-plugin/plugin.json +1 -1
- package/plugins/perf/lib/enhance/docs-patterns.js +1 -1
- package/plugins/perf/lib/enhance/fixer.js +38 -13
- package/plugins/perf/lib/enhance/projectmemory-analyzer.js +17 -9
- package/plugins/perf/lib/enhance/projectmemory-patterns.js +2 -2
- package/plugins/perf/lib/enhance/prompt-patterns.js +31 -28
- package/plugins/perf/lib/enhance/security-patterns.js +6 -6
- package/plugins/perf/lib/patterns/slop-analyzers.js +1 -1
- package/plugins/perf/skills/perf-analyzer/SKILL.md +1 -1
- package/plugins/perf/skills/perf-baseline-manager/SKILL.md +1 -1
- package/plugins/perf/skills/perf-benchmarker/SKILL.md +1 -1
- package/plugins/perf/skills/perf-code-paths/SKILL.md +1 -1
- package/plugins/perf/skills/perf-investigation-logger/SKILL.md +1 -1
- package/plugins/perf/skills/perf-profiler/SKILL.md +1 -1
- package/plugins/perf/skills/perf-theory-gatherer/SKILL.md +1 -1
- package/plugins/perf/skills/perf-theory-tester/SKILL.md +1 -1
- package/plugins/repo-map/.claude-plugin/plugin.json +1 -1
- package/plugins/repo-map/lib/enhance/docs-patterns.js +1 -1
- package/plugins/repo-map/lib/enhance/fixer.js +38 -13
- package/plugins/repo-map/lib/enhance/projectmemory-analyzer.js +17 -9
- package/plugins/repo-map/lib/enhance/projectmemory-patterns.js +2 -2
- package/plugins/repo-map/lib/enhance/prompt-patterns.js +31 -28
- package/plugins/repo-map/lib/enhance/security-patterns.js +6 -6
- package/plugins/repo-map/lib/patterns/slop-analyzers.js +1 -1
- package/plugins/ship/.claude-plugin/plugin.json +1 -1
- package/plugins/ship/commands/ship-ci-review-loop.md +5 -0
- package/plugins/ship/commands/ship-deployment.md +5 -0
- package/plugins/ship/lib/enhance/docs-patterns.js +1 -1
- package/plugins/ship/lib/enhance/fixer.js +38 -13
- package/plugins/ship/lib/enhance/projectmemory-analyzer.js +17 -9
- package/plugins/ship/lib/enhance/projectmemory-patterns.js +2 -2
- package/plugins/ship/lib/enhance/prompt-patterns.js +31 -28
- package/plugins/ship/lib/enhance/security-patterns.js +6 -6
- package/plugins/ship/lib/patterns/slop-analyzers.js +1 -1
- package/plugins/sync-docs/.claude-plugin/plugin.json +1 -1
- package/plugins/sync-docs/lib/enhance/docs-patterns.js +1 -1
- package/plugins/sync-docs/lib/enhance/fixer.js +38 -13
- package/plugins/sync-docs/lib/enhance/projectmemory-analyzer.js +17 -9
- package/plugins/sync-docs/lib/enhance/projectmemory-patterns.js +2 -2
- package/plugins/sync-docs/lib/enhance/prompt-patterns.js +31 -28
- package/plugins/sync-docs/lib/enhance/security-patterns.js +6 -6
- package/plugins/sync-docs/lib/patterns/slop-analyzers.js +1 -1
- package/plugins/sync-docs/skills/sync-docs/SKILL.md +1 -1
- package/scripts/gen-adapters.js +10 -0
- package/scripts/generate-docs.js +1 -1
- package/scripts/preflight.js +1 -2
- package/scripts/stamp-version.js +0 -5
- 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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
106
|
+
"version": "4.2.2",
|
|
107
107
|
"category": "productivity"
|
|
108
108
|
}
|
|
109
109
|
]
|
package/AGENTS.md
CHANGED
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
|
|
76
76
|
<!-- GEN:START:claude-architecture -->
|
|
77
77
|
```
|
|
78
|
-
lib/ → Shared library (
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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: 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.
|
|
5
|
+
version: 4.2.2
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Drift Analysis
|
|
@@ -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.
|
|
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-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.
|
|
5
|
+
version: 4.2.2
|
|
6
6
|
argument-hint: "[command] [duration]"
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -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.
|
|
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
|
---
|
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(/(?:^[-*]\
|
|
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
|
}
|
package/lib/enhance/fixer.js
CHANGED
|
@@ -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(
|
|
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(
|
|
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})\
|
|
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
|
|
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
|
|
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
|
|
650
|
+
const match = descLine.match(/^description:[ \t]*(\S.*)$/);
|
|
626
651
|
if (match) {
|
|
627
652
|
const currentDesc = match[1].trim();
|
|
628
653
|
// Add trigger phrase
|