awesome-slash 2.8.1 → 2.8.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "awesome-slash",
3
3
  "description": "Professional-grade slash commands for Claude Code with cross-platform support (OpenCode, Codex CLI)",
4
- "version": "2.8.1",
4
+ "version": "2.8.2",
5
5
  "owner": {
6
6
  "name": "Avi Fenesh",
7
7
  "url": "https://github.com/avifenesh"
@@ -13,35 +13,35 @@
13
13
  "name": "next-task",
14
14
  "source": "./plugins/next-task",
15
15
  "description": "Master workflow orchestrator: autonomous workflow with model optimization (opus/sonnet/haiku), two-file state management, workflow enforcement gates, 14 specialist agents",
16
- "version": "2.8.1",
16
+ "version": "2.8.2",
17
17
  "category": "productivity"
18
18
  },
19
19
  {
20
20
  "name": "ship",
21
21
  "source": "./plugins/ship",
22
22
  "description": "Complete PR workflow: commit to production, skips review when called from next-task, removes task from registry on cleanup, automatic rollback",
23
- "version": "2.8.1",
23
+ "version": "2.8.2",
24
24
  "category": "deployment"
25
25
  },
26
26
  {
27
27
  "name": "deslop-around",
28
28
  "source": "./plugins/deslop-around",
29
29
  "description": "3-phase AI slop detection: regex patterns (HIGH), multi-pass analyzers (MEDIUM), CLI tools (LOW)",
30
- "version": "2.8.1",
30
+ "version": "2.8.2",
31
31
  "category": "development"
32
32
  },
33
33
  {
34
34
  "name": "project-review",
35
35
  "source": "./plugins/project-review",
36
36
  "description": "Multi-agent iterative code review until zero issues remain",
37
- "version": "2.8.1",
37
+ "version": "2.8.2",
38
38
  "category": "development"
39
39
  },
40
40
  {
41
41
  "name": "reality-check",
42
42
  "source": "./plugins/reality-check",
43
43
  "description": "Deep repository analysis to realign project plans with code reality - detects drift, gaps, and creates prioritized reconstruction plans",
44
- "version": "2.8.1",
44
+ "version": "2.8.2",
45
45
  "category": "productivity"
46
46
  }
47
47
  ],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awesome-slash",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
4
4
  "description": "Professional-grade slash commands for Claude Code with cross-platform support",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
package/CHANGELOG.md CHANGED
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.8.2] - 2025-01-23
11
+
12
+ ### Added
13
+ - **MCP enhance_analyze Tool** - Cross-platform enhance support for OpenCode and Codex
14
+ - Runs plugin, agent, docs, claudemd, and prompt analyzers via MCP
15
+ - Options: `path`, `focus`, `mode` (report/apply), `compact`
16
+ - Deduplication and certainty-sorted output
17
+
18
+ ### Fixed
19
+ - **Documentation** - Added enhance plugin to INSTALLATION.md commands
20
+ - **Release Checklist** - Added "New Plugin Checklist" and "New MCP Tool Checklist" sections
21
+
10
22
  ## [2.8.1] - 2025-01-23
11
23
 
12
24
  ### Fixed
package/README.md CHANGED
@@ -6,7 +6,7 @@ A cross-platform plugin providing powerful, zero-configuration slash commands fo
6
6
 
7
7
  [![npm](https://img.shields.io/npm/v/awesome-slash?color=red)](https://www.npmjs.com/package/awesome-slash)
8
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
- [![Version](https://img.shields.io/badge/version-2.8.1-blue)](https://github.com/avifenesh/awesome-slash/releases)
9
+ [![Version](https://img.shields.io/badge/version-2.8.2-blue)](https://github.com/avifenesh/awesome-slash/releases)
10
10
  [![GitHub stars](https://img.shields.io/github/stars/avifenesh/awesome-slash?style=flat&color=yellow)](https://github.com/avifenesh/awesome-slash/stargazers)
11
11
  [![Claude Code](https://img.shields.io/badge/Claude-Code%20Plugin-blue)](https://docs.anthropic.com/en/docs/claude-code)
12
12
  [![Codex CLI](https://img.shields.io/badge/Codex-CLI%20Compatible-green)](https://developers.openai.com/codex/cli)
@@ -409,6 +409,8 @@ All platforms share the same workflow tools via MCP (Model Context Protocol):
409
409
  | `workflow_abort` | Cancel and cleanup |
410
410
  | `task_discover` | Find and prioritize tasks |
411
411
  | `review_code` | Run pattern-based code review |
412
+ | `slop_detect` | Detect AI slop patterns |
413
+ | `enhance_analyze` | Analyze plugins, agents, docs for enhancements |
412
414
 
413
415
  See [docs/CROSS_PLATFORM.md](./docs/CROSS_PLATFORM.md) for details.
414
416
 
package/bin/cli.js CHANGED
@@ -237,7 +237,8 @@ function installForOpenCode(installDir) {
237
237
  console.log('✅ OpenCode installation complete!');
238
238
  console.log(` Config: ${configPath}`);
239
239
  console.log(` Commands: ${commandsDir}`);
240
- console.log(' MCP tools: workflow_status, workflow_start, workflow_resume, task_discover, review_code, slop_detect\n');
240
+ console.log(' Access via: /next-task, /ship, /deslop-around, /project-review, /reality-check-scan, /enhance');
241
+ console.log(' MCP tools: workflow_status, workflow_start, workflow_resume, task_discover, review_code, slop_detect, enhance_analyze\n');
241
242
  return true;
242
243
  }
243
244
 
@@ -370,7 +371,7 @@ AI_STATE_DIR = ".codex"
370
371
  console.log(` Config: ${configPath}`);
371
372
  console.log(` Skills: ${skillsDir}`);
372
373
  console.log(' Access via: $next-task, $ship, $deslop-around, etc.');
373
- console.log(' MCP tools: workflow_status, workflow_start, workflow_resume, task_discover, review_code, slop_detect\n');
374
+ console.log(' MCP tools: workflow_status, workflow_start, workflow_resume, task_discover, review_code, slop_detect, enhance_analyze\n');
374
375
  return true;
375
376
  }
376
377
 
@@ -26,6 +26,7 @@ const execAsync = promisify(exec);
26
26
  const workflowState = require('../lib/state/workflow-state.js');
27
27
  const { runPipeline, formatHandoffPrompt, CERTAINTY, THOROUGHNESS } = require('../lib/patterns/pipeline.js');
28
28
  const crossPlatform = require('../lib/cross-platform/index.js');
29
+ const enhance = require('../lib/enhance/index.js');
29
30
 
30
31
  // Plugin root for relative paths
31
32
  const PLUGIN_ROOT = process.env.PLUGIN_ROOT || path.join(__dirname, '..');
@@ -162,6 +163,34 @@ const TOOLS = [
162
163
  },
163
164
  required: []
164
165
  }
166
+ },
167
+ {
168
+ name: 'enhance_analyze',
169
+ description: 'Analyze plugins, agents, docs, or prompts for enhancement opportunities',
170
+ inputSchema: {
171
+ type: 'object',
172
+ properties: {
173
+ path: {
174
+ type: 'string',
175
+ description: 'Directory to analyze (default: current directory)'
176
+ },
177
+ focus: {
178
+ type: 'string',
179
+ enum: ['all', 'plugin', 'agent', 'docs', 'claudemd', 'prompt'],
180
+ description: 'Which analyzer to run (default: all)'
181
+ },
182
+ mode: {
183
+ type: 'string',
184
+ enum: ['report', 'apply'],
185
+ description: 'Report only or apply HIGH certainty fixes (default: report)'
186
+ },
187
+ compact: {
188
+ type: 'boolean',
189
+ description: 'Use compact output format (default: true)'
190
+ }
191
+ },
192
+ required: []
193
+ }
165
194
  }
166
195
  ];
167
196
 
@@ -639,6 +668,145 @@ const toolHandlers = {
639
668
  console.error('Error during slop detection:', error);
640
669
  return crossPlatform.errorResponse('Slop detection failed. Check server logs.');
641
670
  }
671
+ },
672
+
673
+ async enhance_analyze({ path: scanPath, focus, mode, compact }) {
674
+ try {
675
+ const targetPath = scanPath || process.cwd();
676
+ const analyzerFocus = focus || 'all';
677
+ const analyzeMode = mode || 'report';
678
+
679
+ // Validate path exists
680
+ try {
681
+ await fs.access(targetPath);
682
+ } catch (e) {
683
+ return crossPlatform.errorResponse(`Path not found: ${targetPath}`);
684
+ }
685
+
686
+ const allFindings = [];
687
+ const summary = { plugin: 0, agent: 0, docs: 0, claudemd: 0, prompt: 0 };
688
+
689
+ // Run analyzers based on focus
690
+ if (analyzerFocus === 'all' || analyzerFocus === 'plugin') {
691
+ try {
692
+ const result = enhance.analyzeAllPlugins(targetPath);
693
+ if (result && result.findings) {
694
+ allFindings.push(...result.findings.map(f => ({ ...f, analyzer: 'plugin' })));
695
+ summary.plugin = result.findings.length;
696
+ }
697
+ } catch (e) {
698
+ console.error('Plugin analyzer error:', e.message);
699
+ }
700
+ }
701
+
702
+ if (analyzerFocus === 'all' || analyzerFocus === 'agent') {
703
+ try {
704
+ const result = enhance.analyzeAllAgents(targetPath);
705
+ if (result && result.findings) {
706
+ allFindings.push(...result.findings.map(f => ({ ...f, analyzer: 'agent' })));
707
+ summary.agent = result.findings.length;
708
+ }
709
+ } catch (e) {
710
+ console.error('Agent analyzer error:', e.message);
711
+ }
712
+ }
713
+
714
+ if (analyzerFocus === 'all' || analyzerFocus === 'docs') {
715
+ try {
716
+ const result = enhance.analyzeAllDocs(targetPath);
717
+ if (result && result.findings) {
718
+ allFindings.push(...result.findings.map(f => ({ ...f, analyzer: 'docs' })));
719
+ summary.docs = result.findings.length;
720
+ }
721
+ } catch (e) {
722
+ console.error('Docs analyzer error:', e.message);
723
+ }
724
+ }
725
+
726
+ if (analyzerFocus === 'all' || analyzerFocus === 'claudemd') {
727
+ try {
728
+ const result = enhance.analyzeProjectMemory(targetPath);
729
+ if (result && result.findings) {
730
+ allFindings.push(...result.findings.map(f => ({ ...f, analyzer: 'claudemd' })));
731
+ summary.claudemd = result.findings.length;
732
+ }
733
+ } catch (e) {
734
+ console.error('Project memory analyzer error:', e.message);
735
+ }
736
+ }
737
+
738
+ if (analyzerFocus === 'all' || analyzerFocus === 'prompt') {
739
+ try {
740
+ const result = enhance.analyzeAllPrompts(targetPath);
741
+ if (result && result.findings) {
742
+ allFindings.push(...result.findings.map(f => ({ ...f, analyzer: 'prompt' })));
743
+ summary.prompt = result.findings.length;
744
+ }
745
+ } catch (e) {
746
+ console.error('Prompt analyzer error:', e.message);
747
+ }
748
+ }
749
+
750
+ // Deduplicate if running all analyzers
751
+ let findings = allFindings;
752
+ if (analyzerFocus === 'all' && enhance.deduplicateOrchestratorFindings) {
753
+ findings = enhance.deduplicateOrchestratorFindings(allFindings);
754
+ }
755
+
756
+ // Sort by certainty
757
+ const certaintyOrder = { HIGH: 0, MEDIUM: 1, LOW: 2 };
758
+ findings.sort((a, b) => (certaintyOrder[a.certainty] || 2) - (certaintyOrder[b.certainty] || 2));
759
+
760
+ // Apply fixes if requested
761
+ let fixResults = null;
762
+ if (analyzeMode === 'apply') {
763
+ const highCertaintyFixes = findings.filter(f => f.certainty === 'HIGH' && f.autoFix);
764
+ if (highCertaintyFixes.length > 0) {
765
+ fixResults = { attempted: highCertaintyFixes.length, applied: 0 };
766
+ for (const fix of highCertaintyFixes) {
767
+ try {
768
+ if (fix.analyzer === 'plugin') enhance.applyFixes([fix]);
769
+ else if (fix.analyzer === 'agent') enhance.agentApplyFixes([fix]);
770
+ else if (fix.analyzer === 'docs') enhance.docsApplyFixes([fix]);
771
+ else if (fix.analyzer === 'claudemd') enhance.projectMemoryApplyFixes([fix]);
772
+ else if (fix.analyzer === 'prompt') enhance.promptApplyFixes([fix]);
773
+ fixResults.applied++;
774
+ } catch (e) {
775
+ console.error(`Fix failed for ${fix.file}:`, e.message);
776
+ }
777
+ }
778
+ }
779
+ }
780
+
781
+ // Format output
782
+ const useCompact = compact !== false;
783
+ const byCertainty = { HIGH: 0, MEDIUM: 0, LOW: 0 };
784
+ findings.forEach(f => { byCertainty[f.certainty] = (byCertainty[f.certainty] || 0) + 1; });
785
+
786
+ return crossPlatform.successResponse({
787
+ path: targetPath,
788
+ focus: analyzerFocus,
789
+ mode: analyzeMode,
790
+ total: findings.length,
791
+ byCertainty,
792
+ byAnalyzer: summary,
793
+ autoFixable: findings.filter(f => f.autoFix).length,
794
+ fixResults,
795
+ findings: useCompact
796
+ ? findings.slice(0, 30).map(f => ({
797
+ file: f.file,
798
+ line: f.line,
799
+ certainty: f.certainty,
800
+ issue: f.issue,
801
+ analyzer: f.analyzer
802
+ }))
803
+ : findings.slice(0, 50)
804
+ });
805
+
806
+ } catch (error) {
807
+ console.error('Error during enhance analysis:', error);
808
+ return crossPlatform.errorResponse('Enhance analysis failed. Check server logs.');
809
+ }
642
810
  }
643
811
  };
644
812
 
@@ -647,7 +815,7 @@ async function main() {
647
815
  const server = new Server(
648
816
  {
649
817
  name: 'awesome-slash',
650
- version: '2.8.1',
818
+ version: '2.8.2',
651
819
  },
652
820
  {
653
821
  capabilities: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awesome-slash",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
4
4
  "description": "Professional-grade slash commands for Claude Code that work across any project",
5
5
  "main": "lib/platform/detect-platform.js",
6
6
  "type": "commonjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deslop-around",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
4
4
  "description": "AI slop cleanup with minimal diffs and behavior preservation",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "enhance",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
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,6 +1,6 @@
1
1
  {
2
2
  "name": "next-task",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
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",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-review",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
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": "reality-check",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
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,6 +1,6 @@
1
1
  {
2
2
  "name": "ship",
3
- "version": "2.8.1",
3
+ "version": "2.8.2",
4
4
  "description": "Complete PR workflow from commit to production with validation",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",