awesome-slash 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "awesome-slash",
3
- "description": "10 specialized plugins for AI workflow automation - task orchestration, PR workflow, slop detection, code review, drift detection, enhancement analysis, documentation sync, repo mapping, perf investigations, and topic research",
4
- "version": "4.0.0",
3
+ "description": "11 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, and agent config linting",
4
+ "version": "4.1.0",
5
5
  "owner": {
6
6
  "name": "Avi Fenesh",
7
7
  "url": "https://github.com/avifenesh"
@@ -26,71 +26,78 @@
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.0.0",
29
+ "version": "4.1.0",
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.0.0",
36
+ "version": "4.1.0",
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.0.0",
43
+ "version": "4.1.0",
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.0.0",
50
+ "version": "4.1.0",
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.0.0",
57
+ "version": "4.1.0",
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.0.0",
64
+ "version": "4.1.0",
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.0.0",
71
+ "version": "4.1.0",
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.0.0",
78
+ "version": "4.1.0",
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.0.0",
85
+ "version": "4.1.0",
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.0.0",
92
+ "version": "4.1.0",
93
93
  "category": "productivity"
94
+ },
95
+ {
96
+ "name": "agnix",
97
+ "source": "./plugins/agnix",
98
+ "description": "Lint agent configuration files (SKILL.md, CLAUDE.md, hooks, MCP) against 100 rules",
99
+ "version": "4.1.0",
100
+ "category": "development"
94
101
  }
95
102
  ]
96
103
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awesome-slash",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "Professional-grade slash commands for Claude Code with cross-platform support",
5
5
  "keywords": [
6
6
  "workflow",
package/CHANGELOG.md CHANGED
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [4.1.0] - 2026-02-05
11
+
12
+ ### Added
13
+ - **New /agnix Plugin** - Lint agent configurations before they break your workflow
14
+ - Validates Skills, Hooks, MCP, Memory, Plugins across Claude Code, Cursor, GitHub Copilot, and Codex CLI
15
+ - 100 validation rules from official specs, research papers, real-world testing
16
+ - Auto-fix support with `--fix` flag
17
+ - SARIF output for GitHub Code Scanning integration
18
+ - Target-specific validation (`--target claude-code|cursor|codex`)
19
+ - Requires [agnix CLI](https://github.com/avifenesh/agnix) (`cargo install agnix-cli`)
20
+
21
+ ### Changed
22
+ - **Plugin Count** - Now 11 plugins, 40 agents, 26 skills
23
+ - **CLAUDE.md Rule #11** - Added rule about using `[]` not `<>` for argument hints
24
+
25
+ ### Fixed
26
+ - **Prompt Injection** - Sanitize user arguments in agnix command (validate target, strip newlines from path)
27
+ - **Argument Parsing** - Support both `--target=value` and `--target value` forms
28
+ - **enhance-hooks/SKILL.md** - Fixed path example escaping
29
+
10
30
  ## [4.0.0] - 2026-02-05
11
31
 
12
32
  ### Added
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  AI models can write code. That's not the hard part anymore. The hard part is everything else—picking what to work on, managing branches, reviewing output, cleaning up artifacts, handling CI, addressing comments, deploying. **awesome-slash automates the entire workflow**, not just the coding.
10
10
 
11
- **10 plugins · 39 agents · 25 skills · 26k lines of lib code · 3,357 tests · 3 platforms**
11
+ **11 plugins · 40 agents · 26 skills · 26k lines of lib code · 3,357 tests · 3 platforms**
12
12
 
13
13
  If you find this useful: [⭐ Star the repo](https://github.com/avifenesh/awesome-slash)
14
14
 
@@ -60,6 +60,7 @@ This came from testing on 1,000+ repositories.
60
60
  | [`/repo-map`](#repo-map) | AST symbol and import mapping via ast-grep |
61
61
  | [`/sync-docs`](#sync-docs) | Finds outdated references, stale examples, missing CHANGELOG entries |
62
62
  | [`/learn`](#learn) | Research any topic, gather online sources, create learning guide with RAG index |
63
+ | [`/agnix`](#agnix) | Lint agent configs (SKILL.md, CLAUDE.md, hooks, MCP) against 100 rules |
63
64
 
64
65
  Each command works standalone. Together, they form complete workflows.
65
66
 
@@ -77,6 +78,7 @@ Each command works standalone. Together, they form complete workflows.
77
78
  | **Cleanup** | `deslop:deslop`, `sync-docs:sync-docs` |
78
79
  | **Analysis** | `drift-detect:drift-analysis`, `repo-map:repo-mapping` |
79
80
  | **Learning** | `learn:learn` |
81
+ | **Linting** | `agnix:agnix` |
80
82
 
81
83
  Skills give your agents specialized capabilities. When you install a plugin, its skills become available to all agents in that session.
82
84
 
@@ -87,7 +89,7 @@ Skills give your agents specialized capabilities. When you install a plugin, its
87
89
  | Section | What's there |
88
90
  |---------|--------------|
89
91
  | [The Approach](#the-approach) | Why it's built this way |
90
- | [Commands](#commands) | All 9 commands overview |
92
+ | [Commands](#commands) | All 10 commands overview |
91
93
  | [Skills](#skills) | 25 skills across plugins |
92
94
  | [Command Details](#command-details) | Deep dive into each command |
93
95
  | [How Commands Work Together](#how-commands-work-together) | Standalone vs integrated |
@@ -515,6 +517,43 @@ agent-knowledge/
515
517
 
516
518
  ---
517
519
 
520
+ ### /agnix
521
+
522
+ **Purpose:** Lint agent configurations before they break your workflow. Validates Skills, Hooks, MCP, Memory, Plugins.
523
+
524
+ **What it does:**
525
+
526
+ 1. **Validates 100 rules** - From official specs, research papers, real-world testing
527
+ 2. **Multi-tool support** - Claude Code, Cursor, GitHub Copilot, Codex CLI
528
+ 3. **Auto-fix** - Automatically fixes fixable issues with `--fix`
529
+ 4. **SARIF output** - Integrates with GitHub Code Scanning
530
+
531
+ **Supported files:**
532
+
533
+ | File Type | Examples |
534
+ |-----------|----------|
535
+ | Skills | `SKILL.md` |
536
+ | Memory | `CLAUDE.md`, `AGENTS.md` |
537
+ | Hooks | `.claude/settings.json` |
538
+ | MCP | `*.mcp.json` |
539
+ | Cursor | `.cursor/rules/*.mdc` |
540
+ | Copilot | `.github/copilot-instructions.md` |
541
+
542
+ **Usage:**
543
+
544
+ ```bash
545
+ /agnix # Validate current project
546
+ /agnix --fix # Auto-fix issues
547
+ /agnix --strict # Treat warnings as errors
548
+ /agnix --target claude-code # Only Claude Code rules
549
+ ```
550
+
551
+ **Agent:** agnix-agent (sonnet model)
552
+
553
+ **External tool:** Requires [agnix CLI](https://github.com/avifenesh/agnix) (`cargo install agnix-cli`)
554
+
555
+ ---
556
+
518
557
  ## How Commands Work Together
519
558
 
520
559
  **Standalone use:**
package/bin/cli.js CHANGED
@@ -220,7 +220,7 @@ function installForClaude() {
220
220
  }
221
221
 
222
222
  // PLUGINS_ARRAY - Install or update plugins
223
- const plugins = ['next-task', 'ship', 'deslop', 'audit-project', 'drift-detect', 'enhance', 'sync-docs', 'repo-map', 'perf', 'learn'];
223
+ const plugins = ['next-task', 'ship', 'deslop', 'audit-project', 'drift-detect', 'enhance', 'sync-docs', 'repo-map', 'perf', 'learn', 'agnix'];
224
224
  for (const plugin of plugins) {
225
225
  console.log(` Installing ${plugin}...`);
226
226
  try {
@@ -237,7 +237,7 @@ function installForClaude() {
237
237
  }
238
238
 
239
239
  console.log('\n[OK] Claude Code installation complete!\n');
240
- console.log('Commands: /next-task, /ship, /deslop, /audit-project, /drift-detect, /enhance, /perf, /learn');
240
+ console.log('Commands: /next-task, /ship, /deslop, /audit-project, /drift-detect, /enhance, /perf, /learn, /agnix');
241
241
  return true;
242
242
  } catch (err) {
243
243
  console.log('[ERROR] Auto-install failed. Manual installation:');
@@ -261,7 +261,7 @@ function installForClaudeDevelopment() {
261
261
  }
262
262
 
263
263
  const pluginsDir = getClaudePluginsDir();
264
- const plugins = ['next-task', 'ship', 'deslop', 'audit-project', 'drift-detect', 'enhance', 'sync-docs', 'repo-map', 'perf', 'learn'];
264
+ const plugins = ['next-task', 'ship', 'deslop', 'audit-project', 'drift-detect', 'enhance', 'sync-docs', 'repo-map', 'perf', 'learn', 'agnix'];
265
265
 
266
266
  // Remove marketplace plugins first
267
267
  console.log('Removing marketplace plugins...');
@@ -310,7 +310,7 @@ function installForClaudeDevelopment() {
310
310
 
311
311
  console.log('\n[OK] Claude Code development installation complete!');
312
312
  console.log(' Plugins installed to: ' + pluginsDir);
313
- console.log(' Commands: /next-task, /ship, /deslop, /audit-project, /drift-detect, /enhance, /perf, /learn');
313
+ console.log(' Commands: /next-task, /ship, /deslop, /audit-project, /drift-detect, /enhance, /perf, /learn, /agnix');
314
314
  console.log('\n[NOTE] To revert to marketplace version:');
315
315
  console.log(' rm -rf ~/.claude/plugins/*@awesome-slash');
316
316
  console.log(' awesome-slash --tool claude');
@@ -371,7 +371,8 @@ function installForOpenCode(installDir, options = {}) {
371
371
  ['drift-detect.md', 'drift-detect', 'drift-detect.md'],
372
372
  ['repo-map.md', 'repo-map', 'repo-map.md'],
373
373
  ['perf.md', 'perf', 'perf.md'],
374
- ['learn.md', 'learn', 'learn.md']
374
+ ['learn.md', 'learn', 'learn.md'],
375
+ ['agnix.md', 'agnix', 'agnix.md']
375
376
  ];
376
377
 
377
378
  // Helper function to transform content for OpenCode
@@ -575,7 +576,7 @@ After user answers, proceed to Phase 2 with the selected policy.
575
576
  fs.mkdirSync(agentsDir, { recursive: true });
576
577
 
577
578
  console.log(' Installing agents for OpenCode...');
578
- const pluginDirs = ['next-task', 'enhance', 'audit-project', 'drift-detect', 'ship', 'deslop', 'repo-map', 'perf', 'sync-docs', 'learn'];
579
+ const pluginDirs = ['next-task', 'enhance', 'audit-project', 'drift-detect', 'ship', 'deslop', 'repo-map', 'perf', 'sync-docs', 'learn', 'agnix'];
579
580
  let agentCount = 0;
580
581
 
581
582
  for (const pluginName of pluginDirs) {
@@ -687,7 +688,7 @@ After user answers, proceed to Phase 2 with the selected policy.
687
688
  console.log(` Commands: ${commandsDir}`);
688
689
  console.log(` Agents: ${agentsDir}`);
689
690
  console.log(` Plugin: ${pluginDir}`);
690
- console.log(' Access via: /next-task, /ship, /deslop, /audit-project, /drift-detect, /enhance, /sync-docs, /perf, /learn');
691
+ console.log(' Access via: /next-task, /ship, /deslop, /audit-project, /drift-detect, /enhance, /sync-docs, /perf, /learn, /agnix');
691
692
  console.log(' Native features: Auto-thinking selection, workflow enforcement, session compaction\n');
692
693
  return true;
693
694
  }
@@ -752,7 +753,9 @@ function installForCodex(installDir) {
752
753
  ['sync-docs', 'sync-docs', 'sync-docs.md',
753
754
  'Use when user asks to "update docs", "sync documentation", "fix outdated docs", "refresh README". Compares documentation to actual code and fixes discrepancies.'],
754
755
  ['learn', 'learn', 'learn.md',
755
- 'Use when user asks to "learn about topic", "research subject", "create learning guide", "build knowledge base", "study topic". Gathers online sources and synthesizes comprehensive guide with RAG index.']
756
+ 'Use when user asks to "learn about topic", "research subject", "create learning guide", "build knowledge base", "study topic". Gathers online sources and synthesizes comprehensive guide with RAG index.'],
757
+ ['agnix', 'agnix', 'agnix.md',
758
+ 'Use when user asks to "lint agent configs", "validate skills", "check CLAUDE.md", "validate hooks", "lint MCP". Validates agent configuration files against 100 rules.']
756
759
  ];
757
760
 
758
761
  for (const [skillName, plugin, sourceFile, description] of skillMappings) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "awesome-slash",
3
- "version": "4.0.0",
4
- "description": "10 specialized plugins for AI workflow automation (drift detection + AST repo maps + topic research) - works with Claude Code, OpenCode, and Codex CLI",
3
+ "version": "4.1.0",
4
+ "description": "11 specialized plugins for AI workflow automation (drift detection + AST repo maps + topic research + agent config linting) - works with Claude Code, OpenCode, and Codex CLI",
5
5
  "main": "lib/platform/detect-platform.js",
6
6
  "type": "commonjs",
7
7
  "bin": {
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "agnix",
3
+ "version": "4.1.0",
4
+ "description": "Lint agent configurations before they break your workflow. Validates Skills, Hooks, MCP, Memory, Plugins.",
5
+ "author": {
6
+ "name": "Avi Fenesh",
7
+ "email": "[email protected]",
8
+ "url": "https://github.com/avifenesh"
9
+ },
10
+ "homepage": "https://github.com/avifenesh/agnix",
11
+ "repository": "https://github.com/avifenesh/awesome-slash",
12
+ "license": "MIT",
13
+ "keywords": [
14
+ "linting",
15
+ "validation",
16
+ "agents",
17
+ "skills",
18
+ "mcp",
19
+ "hooks",
20
+ "claude-code"
21
+ ]
22
+ }
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: agnix-agent
3
+ description: Lint agent configurations using agnix CLI. Invoke agnix skill and return validation results.
4
+ tools:
5
+ - Bash(agnix:*)
6
+ - Bash(cargo:*)
7
+ - Skill
8
+ - Read
9
+ - Glob
10
+ - Grep
11
+ model: sonnet
12
+ ---
13
+
14
+ # Agnix Agent
15
+
16
+ Validate agent configuration files using the agnix skill.
17
+
18
+ ## Workflow
19
+
20
+ ### 1. Parse Arguments
21
+
22
+ Extract from prompt:
23
+ - **path**: Target path (default: `.`)
24
+ - **fix**: Whether to auto-fix
25
+ - **strict**: Whether to treat warnings as errors
26
+ - **target**: Tool-specific rules (claude-code, cursor, codex)
27
+
28
+ ### 2. Invoke Agnix Skill
29
+
30
+ ```
31
+ Skill: agnix
32
+ Args: [path] [--fix] [--strict] [--target=[target]]
33
+ ```
34
+
35
+ The skill contains full CLI documentation and execution steps.
36
+
37
+ ### 3. Return Structured Results
38
+
39
+ ```
40
+ === AGNIX_RESULT ===
41
+ {
42
+ "path": ".",
43
+ "errors": N,
44
+ "warnings": N,
45
+ "fixable": N,
46
+ "fixed": N,
47
+ "success": true|false
48
+ }
49
+ === END_RESULT ===
50
+ ```
51
+
52
+ ## Constraints
53
+
54
+ - Do NOT modify files unless `--fix` is passed
55
+ - Return structured data for orchestrator
56
+ - If agnix not installed, return install instructions
@@ -0,0 +1,138 @@
1
+ ---
2
+ description: Use when user asks to 'lint agent configs', 'validate skills', 'check CLAUDE.md', 'validate hooks', 'lint MCP', or mentions 'agent config issues', 'skill validation'.
3
+ argument-hint: "[path] [--fix] [--strict] [--target [target]]"
4
+ allowed-tools: Task, Read
5
+ ---
6
+
7
+ # /agnix - Agent Config Linter
8
+
9
+ Lint agent configurations before they break your workflow. Validates Skills, Hooks, MCP, Memory, Plugins across Claude Code, Cursor, GitHub Copilot, and Codex CLI.
10
+
11
+ ## Arguments
12
+
13
+ Parse from $ARGUMENTS or use defaults:
14
+
15
+ - **Path**: Target path (default: `.`)
16
+ - **--fix**: Auto-fix issues
17
+ - **--strict**: Treat warnings as errors
18
+ - **--target**: `claude-code`, `cursor`, `codex`, or `generic` (default)
19
+
20
+ ## Execution
21
+
22
+ ### Phase 1: Spawn Agnix Agent
23
+
24
+ ```javascript
25
+ const args = '$ARGUMENTS'.split(' ').filter(Boolean);
26
+ const fix = args.includes('--fix');
27
+ const strict = args.includes('--strict');
28
+
29
+ // Parse --target (supports both --target=value and --target value forms)
30
+ const allowedTargets = ['claude-code', 'cursor', 'codex', 'generic'];
31
+ let rawTarget = 'generic';
32
+ const targetEqIdx = args.findIndex(a => a.startsWith('--target='));
33
+ const targetSpaceIdx = args.findIndex(a => a === '--target');
34
+ if (targetEqIdx !== -1) {
35
+ rawTarget = args[targetEqIdx].split('=')[1] || 'generic';
36
+ } else if (targetSpaceIdx !== -1 && args[targetSpaceIdx + 1] && !args[targetSpaceIdx + 1].startsWith('-')) {
37
+ rawTarget = args[targetSpaceIdx + 1];
38
+ }
39
+ const target = allowedTargets.includes(rawTarget) ? rawTarget : 'generic';
40
+
41
+ // Parse path - exclude flags and --target's value, sanitize to prevent injection
42
+ const excludeIndices = new Set([targetSpaceIdx, targetSpaceIdx + 1].filter(i => i >= 0));
43
+ const path = (args.find((a, i) => !a.startsWith('-') && !excludeIndices.has(i)) || '.').replace(/[\n\r]/g, '');
44
+
45
+ const result = await Task({
46
+ subagent_type: "agnix:agnix-agent",
47
+ prompt: `Validate agent configurations.
48
+ Path: ${path}
49
+ Fix: ${fix}
50
+ Strict: ${strict}
51
+ Target: ${target}
52
+
53
+ Return structured results between === AGNIX_RESULT === markers.`
54
+ });
55
+ ```
56
+
57
+ ### Phase 2: Parse Agent Results
58
+
59
+ Extract structured JSON from agent output:
60
+
61
+ ```javascript
62
+ function parseAgnix(output) {
63
+ const match = output.match(/=== AGNIX_RESULT ===[\s\S]*?({[\s\S]*?})[\s\S]*?=== END_RESULT ===/);
64
+ return match ? JSON.parse(match[1]) : { errors: 0, warnings: 0, diagnostics: [] };
65
+ }
66
+
67
+ const findings = parseAgnix(result);
68
+ ```
69
+
70
+ ### Phase 3: Present Results
71
+
72
+ #### No Issues
73
+
74
+ ```markdown
75
+ ## Validation Passed
76
+
77
+ No issues found in agent configurations.
78
+
79
+ - Files validated: N
80
+ - Target: {target}
81
+ ```
82
+
83
+ #### Issues Found
84
+
85
+ ```markdown
86
+ ## Agent Config Issues
87
+
88
+ | File | Line | Level | Rule | Message |
89
+ |------|------|-------|------|---------|
90
+ | SKILL.md | 3 | error | AS-004 | Invalid name |
91
+ | CLAUDE.md | 15 | warning | PE-003 | Generic instruction |
92
+
93
+ ## Summary
94
+
95
+ - **Errors**: N
96
+ - **Warnings**: N
97
+ - **Fixable**: N
98
+
99
+ ## Do Next
100
+
101
+ - [ ] Run `/agnix --fix` to auto-fix {fixable} issues
102
+ - [ ] Review remaining issues manually
103
+ ```
104
+
105
+ #### After Fix
106
+
107
+ ```markdown
108
+ ## Fixed Issues
109
+
110
+ | File | Line | Rule | Fix Applied |
111
+ |------|------|------|-------------|
112
+ | SKILL.md | 3 | AS-004 | Renamed to lowercase |
113
+
114
+ **Fixed**: N issues
115
+ **Remaining**: N issues (manual review needed)
116
+ ```
117
+
118
+ ## Supported Files
119
+
120
+ | File Type | Examples |
121
+ |-----------|----------|
122
+ | Skills | `SKILL.md` |
123
+ | Memory | `CLAUDE.md`, `AGENTS.md` |
124
+ | Hooks | `${STATE_DIR}/settings.json` (Claude: .claude/, OpenCode: .opencode/, Codex: .codex/) |
125
+ | MCP | `*.mcp.json` |
126
+ | Cursor | `.cursor/rules/*.mdc` |
127
+ | Copilot | `.github/copilot-instructions.md` |
128
+
129
+ ## Error Handling
130
+
131
+ - **agnix not installed**: Show install command `cargo install agnix-cli`
132
+ - **Invalid path**: Exit with "Path not found: [path]"
133
+ - **Parse errors**: Show raw agnix output
134
+
135
+ ## Links
136
+
137
+ - [agnix GitHub](https://github.com/avifenesh/agnix)
138
+ - [Rules Reference](https://github.com/avifenesh/agnix/blob/main/knowledge-base/VALIDATION-RULES.md)
@@ -0,0 +1,128 @@
1
+ ---
2
+ name: agnix
3
+ description: "Use when user asks to 'lint agent configs', 'validate skills', 'check CLAUDE.md', 'validate hooks', 'lint MCP'. Validates agent configuration files against 100 rules."
4
+ version: 1.0.0
5
+ argument-hint: "[path] [--fix] [--strict] [--target=claude-code|cursor|codex]"
6
+ ---
7
+
8
+ # agnix
9
+
10
+ Lint agent configurations before they break your workflow. Validates Skills, Hooks, MCP, Memory, Plugins across Claude Code, Cursor, GitHub Copilot, and Codex CLI.
11
+
12
+ ## When to Use
13
+
14
+ Invoke when user asks to:
15
+ - "Lint my agent configs"
16
+ - "Validate my skills"
17
+ - "Check my CLAUDE.md"
18
+ - "Validate hooks"
19
+ - "Lint MCP configs"
20
+ - "Fix agent configuration issues"
21
+ - "Check if my SKILL.md is correct"
22
+
23
+ ## Prerequisites
24
+
25
+ agnix must be installed. Check with:
26
+ ```bash
27
+ agnix --version
28
+ ```
29
+
30
+ If not installed:
31
+ ```bash
32
+ cargo install agnix-cli
33
+ ```
34
+
35
+ ## Execution
36
+
37
+ ### 1. Validate Project
38
+
39
+ ```bash
40
+ agnix .
41
+ ```
42
+
43
+ ### 2. If Issues Found and Fix Requested
44
+
45
+ ```bash
46
+ agnix --fix .
47
+ ```
48
+
49
+ ### 3. Re-validate to Confirm
50
+
51
+ ```bash
52
+ agnix .
53
+ ```
54
+
55
+ ## CLI Reference
56
+
57
+ | Command | Description |
58
+ |---------|-------------|
59
+ | `agnix .` | Validate current project |
60
+ | `agnix --fix .` | Auto-fix issues |
61
+ | `agnix --strict .` | Treat warnings as errors |
62
+ | `agnix --target claude-code .` | Only Claude Code rules |
63
+ | `agnix --target cursor .` | Only Cursor rules |
64
+ | `agnix --watch .` | Watch mode - re-validate on changes |
65
+ | `agnix --format json .` | JSON output |
66
+ | `agnix --format sarif .` | SARIF for GitHub Code Scanning |
67
+
68
+ ## Supported Files
69
+
70
+ | File Type | Examples |
71
+ |-----------|----------|
72
+ | Skills | `SKILL.md` |
73
+ | Memory | `CLAUDE.md`, `AGENTS.md` |
74
+ | Hooks | `${STATE_DIR}/settings.json` |
75
+ | MCP | `*.mcp.json` |
76
+ | Cursor | `.cursor/rules/*.mdc` |
77
+ | Copilot | `.github/copilot-instructions.md` |
78
+
79
+ ## Output Format
80
+
81
+ ```
82
+ CLAUDE.md:15:1 warning: Generic instruction 'Be helpful' [fixable]
83
+ help: Remove generic instructions. Claude already knows this.
84
+
85
+ skills/review/SKILL.md:3:1 error: Invalid name [fixable]
86
+ help: Use lowercase letters and hyphens only
87
+
88
+ Found 1 error, 1 warning (2 fixable)
89
+ ```
90
+
91
+ Exit codes:
92
+ - `0` - No errors (warnings allowed)
93
+ - `1` - Errors found
94
+ - `2` - Invalid arguments
95
+
96
+ ## Rule Categories
97
+
98
+ | Prefix | Category | Examples |
99
+ |--------|----------|----------|
100
+ | AS-* | Agent Skills | Name format, triggers, description |
101
+ | CC-* | Claude Code | Hooks, memory, plugins |
102
+ | MCP-* | MCP Protocol | Server config, tool definitions |
103
+ | PE-* | Prompt Engineering | Generic instructions, redundancy |
104
+ | XP-* | Cross-Platform | Compatibility across tools |
105
+ | AGM-* | AGENTS.md | Structure, sections |
106
+ | COP-* | GitHub Copilot | Instructions format |
107
+ | CUR-* | Cursor | MDC format, rules |
108
+
109
+ ## Common Issues & Fixes
110
+
111
+ | Issue | Solution |
112
+ |-------|----------|
113
+ | Invalid skill name | Use lowercase with hyphens: `my-skill` |
114
+ | Directory/name mismatch | Rename directory to match `name:` field |
115
+ | Generic instructions | Remove "be helpful", "be accurate" |
116
+ | Missing trigger phrase | Add "Use when..." to description |
117
+
118
+ ## Integration
119
+
120
+ This skill is standalone and can be invoked directly via `/agnix`.
121
+
122
+ For CI integration, see the [GitHub Action](https://github.com/avifenesh/agnix#github-action).
123
+
124
+ ## Links
125
+
126
+ - [GitHub](https://github.com/avifenesh/agnix)
127
+ - [Rules Reference](https://github.com/avifenesh/agnix/blob/main/knowledge-base/VALIDATION-RULES.md)
128
+ - [Configuration](https://github.com/avifenesh/agnix/blob/main/docs/CONFIGURATION.md)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "audit-project",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
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": "deslop",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
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": "drift-detect",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
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": "enhance",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
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",
@@ -86,7 +86,7 @@ Hooks fire in this sequence:
86
86
  "hooks": [
87
87
  {
88
88
  "type": "command",
89
- "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/format-code.sh"
89
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/format-code.sh"
90
90
  }
91
91
  ]
92
92
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "learn",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
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,6 +1,6 @@
1
1
  {
2
2
  "name": "next-task",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
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": "perf",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "Rigorous performance investigation workflow with baselines, profiling, and evidence-backed decisions",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repo-map",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "AST-based repository map generator using ast-grep for symbol and import extraction with incremental updates",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ship",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
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": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "Sync documentation with code changes. Find outdated refs, update CHANGELOG, flag stale examples.",
5
5
  "author": {
6
6
  "name": "Avi Fenesh",