Help us improve
Share bugs, ideas, or general feedback.
From odin
Runs parallel analyzers over plugin manifests, agents, skills, CLAUDE.md, docs, prompts, commands, and hooks; reports HIGH-certainty findings first and optionally applies safe fixes.
npx claudepluginhub outlinedriven/odin-claude-plugin --plugin odinHow this skill is triggered — by the user, by Claude, or both
Slash command
/odin:enhanceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run a `correct` op over AI-facing project surfaces. The invariant: plugin manifests, agents, skills, prompts, docs, command definitions, hooks, and project memory must be explicit, bounded, and internally consistent.
Analyzes Claude Code plugins for sub-agent opportunities, identifying skills with verbose output, gaps in agent coverage, and model selection improvements like opus for complex reasoning.
Audits plugin suites using subagents to analyze usability, coverage gaps, duplications, and workflow optimizations. Generates reports with user-approved todo conversion. Useful for plugin ecosystem improvements.
Audits plugin skills, commands, and agents for agentic output optimization including missing compact/JSON flags, Agentic Optimizations tables, and stale review dates.
Share bugs, ideas, or general feedback.
Run a correct op over AI-facing project surfaces. The invariant: plugin manifests, agents, skills, prompts, docs, command definitions, hooks, and project memory must be explicit, bounded, and internally consistent.
Native shape: no external analyzer binary, no persistent suppression learning, no model routing. Use ODIN discovery tools plus parallel generic task agents. Each analyzer emits structured findings with certainty, autoFix, file, line, check, evidence, fix. The orchestrator aggregates, deduplicates, and reports.
Apply when the user asks to enhance, improve, audit, or tighten plugin config, agent definitions, skills, CLAUDE.md/AGENTS.md, docs, prompts, commands, or hooks.
NOT when the user asks for general code assessment, runtime bug fixing, visual design, performance profiling, or content rewriting without configuration/agent-surface analysis.
--apply: apply only HIGH-certainty findings with autoFix: yes. No flag → report only.--verbose: include MEDIUM and LOW findings. Default report shows HIGH plus summary counts for MEDIUM/LOW.--focus=<type>: optional narrowing to one or more comma-separated analyzer families: plugin, agent, skill, docs, prompt, claudemd, hooks, cross-file.Deleted on purpose: auto-suppression learning, reset/export suppression flags, editor-platform adapters, model pins, binary cache state.
Resolve the target path from the first non-flag argument; default .. Use find for names and read for the exact files each analyzer needs.
| Analyzer | Discovery globs |
|---|---|
| plugin | plugins/*/.claude-plugin/plugin.json, .claude-plugin/plugin.json, **/.claude-plugin/plugin.json |
| agent | **/agents/*.md |
| skill | **/SKILL.md |
| claudemd | CLAUDE.md, AGENTS.md, **/CLAUDE.md, **/AGENTS.md |
| docs | docs/**, README.md, CHANGELOG.md |
| prompt | commands/**, prompts/**, **/commands/*.md, **/prompts/*.md |
| hooks | hooks/**, **/hooks/** |
| cross-file | enabled when two or more of plugin/agent/skill/claudemd/prompt are present |
Skip analyzers with no files. For --focus, skip all non-focused analyzers even if files exist.
target, --apply, --verbose, --focus. Reject unknown focus values with the valid set above.task batch, dispatch one generic task worker per analyzer family that has files. Each worker receives:
--verbose state;references/analyzer-checks.md;{
"analyzer": "plugin|agent|skill|docs|prompt|claudemd|hooks|cross-file",
"findings": [
{"file":"path","line":1,"check":"missing_description","certainty":"HIGH","autoFix":false,"evidence":"...","fix":"..."}
],
"summary": {"high":0,"medium":0,"low":0,"autoFixableHigh":0}
}
analyzer|file|line|check|normalized evidence. If two analyzers report the same underlying defect, keep the higher certainty; if equal, keep the one with narrower file/line evidence.certainty: HIGH → MEDIUM → LOW, then analyzer, file, line. Count totals by analyzer and certainty.--verbose, include MEDIUM and LOW sections with rejection-ground labels: Excess, Graft, Sprawl, or Correctness.--apply is present:
certainty === HIGH && autoFix === true;Use ODIN tools directly:
find → read exact files.search scoped to discovered files; parse YAML/JSON by direct read and reasoning.ast-grep for command snippets, shell patterns, hook script bodies when syntax matters.ast-grep plus text search scoped to discovered files.pack_codebase or npx -y repomix --compress) to build a digest for the analyzer workers.Fallback commands to embed in worker prompts when MCP indexing is unavailable:
# symbol/name lookup fallback
git grep -n "<symbol-or-rule>" -- ':!node_modules' ':!dist' ':!build'
# structural Markdown/frontmatter lookup fallback
ast-grep --lang yaml -p 'name: $X' <file>
# broad changed-surface scan fallback
git --no-pager log --format='%h%x09%ad%x09%an%x09%s' --date=short -- <file>
# Enhancement Analysis Report
Target: <path>
Flags: apply=<true|false>, verbose=<true|false>, focus=<value|all>
Analyzers run: plugin, agent, skill, docs, prompt, claudemd, hooks, cross-file
## Executive Summary
| Analyzer | HIGH | MEDIUM | LOW | HIGH Auto-Fixable |
|---|---:|---:|---:|---:|
| plugin | 0 | 0 | 0 | 0 |
| Total | 0 | 0 | 0 | 0 |
## HIGH Certainty Findings
- `<file>:<line>` — `<check>` — Evidence: `<observed>` — Fix: `<minimal correction>`
## Deferred Findings
MEDIUM and LOW hidden unless `--verbose`. They require human inspection; never auto-apply.
## Auto-Fix
`--apply` absent: list commands/edits that would be safe.
`--apply` present: list edits applied and re-analysis result.
Bash, Read, or wildcard permissions as a convenience fix.name matches the directory.--focus.--verbose.--apply changes only HIGH + autoFix: yes findings.