Help us improve
Share bugs, ideas, or general feedback.
From odin
Lints agent-facing configuration files including SKILL.md, CLAUDE.md, hooks, MCP servers, plugin manifests, and subagent files. Validates frontmatter, required fields, JSON shape, XML balance, and dangerous commands.
npx claudepluginhub outlinedriven/odin-claude-plugin --plugin odinHow this skill is triggered — by the user, by Claude, or both
Slash command
/odin:agnixThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Agnix is a correct op-cell: restore the invariant that agent-facing configuration is parseable, scoped, non-conflicting, and safe to load. Run native read/search checks only; report evidence, certainty, and the smallest fix.
Audits Claude subagent configurations in .claude/agents/ for frontmatter completeness, tool assignment security, privilege risks, and naming consistency.
Audits .claude/ config for cross-references, permissions, inventory drift, model tiers, docs freshness. Auto-fixes issues at high/medium/all severity levels or upgrades with verification and A/B testing.
Validates .claude/agents/*.md files for YAML frontmatter format including required name/description/color/model, optional tools/skills/hooks/memory, valid values, and content structure. Use on specific file or all.
Share bugs, ideas, or general feedback.
Agnix is a correct op-cell: restore the invariant that agent-facing configuration is parseable, scoped, non-conflicting, and safe to load. Run native read/search checks only; report evidence, certainty, and the smallest fix.
Apply: new or edited SKILL.md; project CLAUDE.md / AGENTS.md; hooks.json; .mcp.json; .claude-plugin/plugin.json; agents/*.md; suspicious prompt XML; tool allow-list review; plugin packaging check.
NOT: source-code linting; dependency audit; runtime security review beyond config text; generated vendor configs; proving every rule in a large external ruleset.
find paths: skills/*/SKILL.md, CLAUDE.md, AGENTS.md, **/CLAUDE.md, **/AGENTS.md, hooks.json, **/hooks.json, .mcp.json, mcp.json, .claude-plugin/plugin.json, agents/*.md, .claude/agents/*.md..git/, node_modules/, dist/, build/, target/, .next/, .turbo/.read each candidate. For SKILL.md / agent files, read from line 1 through the closing frontmatter delimiter plus the first body paragraph; only read more when checking XML or trigger placement.Use when trigger, unrestricted Bash, missing hook timeout, plaintext MCP env secrets, nested instruction conflicts, platform-specific content without guard.CERTAINTY rule-id file:line — problemEvidence: exact key/line/pattern observedFix: one concrete editUse references/agent-config-rules.md as the rule catalog. Every rule includes: id-like tag, certainty, target files, native read/search recipe, and fix.
Minimum pass:
SKILL.md: frontmatter exists; name and description exist; name is kebab-case and equals parent directory; description contains Use when.name and description exist; tools are known/scoped; no tool appears in both allow and deny lists.AGENTS.md / CLAUDE.md layers are intentional; conflicting tool/package-manager commands are not present.mcpServers entries have valid type plus command or url; args/env shapes are sane..claude-plugin/plugin.json has required fields; version is major.minor.patch; component paths are relative and outside .claude-plugin/.Bash, wildcard hooks, or plaintext MCP secrets without a finding.AGENTS.md / CLAUDE.md layer.Before yielding a lint result:
file:line, certainty, evidence, and fix.