format-cc
Formats Claude Code files with markdownlint, prettier, and shellcheck. Use when user asks to "format my files", "fix markdown formatting", "clean up…
Validates Claude Code skills for schema, naming, documentation, and security. Use when user asks to "check my skill", "validate skill syntax", "why isn't my skill loading", "skill errors", or "dangerous command detected". Validates SKILL.md frontmatter, allowed-tools, file
$ npx -y skills add pdugan20/claudelint --skill validate-skills --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/validate-skillsContext preview
The summary Claude sees to decide when to auto-load this skill.
Validates Claude Code skills for schema, naming, documentation, and security. Use when user asks to "check my skill", "validate skill syntax", "why isn't my skill loading", "skill errors", or "dangerous command detected". Validates SKILL.md frontmatter, allowed-tools, file
name: validate-skills description: Validates Claude Code skills for schema, naming, documentation, and security. Use when user asks to "check my skill", "validate skill syntax", "why isn't my skill loading", "skill errors", or "dangerous command detected". Validates SKILL.md frontmatter, allowed-tools, file references, directory organization, and shell script security. version: 1.0.0 argument-hint: "[flags]" allowed-tools: - Bash(claudelint:*) - Read
Runs `claudelint validate-skills` to validate Claude Code skill directories.
claudelint validate-skills $ARGUMENTS
**User says**: "I see my skill /deploy-app in the menu but when I run it, Claude says it can't find it" **What happens**:
1. Checks directory name is `deploy-app/` but SKILL.md has `name: deployApp` 2. Shows mismatch: directory uses kebab-case, frontmatter uses camelCase 3. Explains skill names must match directory name exactly 4. Shows fix: change frontmatter to `name: deploy-app`
**Result**: Skill executes correctly after fixing name mismatch
**User says**: "My skill script.sh needs to run bash commands but Claude says 'Tool Bash not allowed'" **What happens**:
1. Checks SKILL.md frontmatter has `allowed-tools: ["bash", "read"]` 2. Shows tool names are case-sensitive - found lowercase "bash" instead of "Bash" 3. Lists all valid tool names with correct capitalization 4. Shows fix: `allowed-tools: ["Bash", "Read"]`
**Result**: Claude can now execute bash commands in the skill
**User says**: "Pre-commit hook is failing on my cleanup skill with 'dangerous command detected: rm -rf'" **What happens**:
1. Scans cleanup.sh script, finds `rm -rf $TEMP_DIR` 2. Flags it because `$TEMP_DIR` could be empty or `/` (dangerous) 3. Suggests safer alternative: validate directory first, use explicit path 4. Shows fixed version: `[[ -n "$TEMP_DIR" && "$TEMP_DIR" != "/" ]] && rm -rf "$TEMP_DIR"`
**Result**: Skill now validates paths before deletion, commit succeeds
Validate all skills:
claudelint validate-skills
Validate specific skill:
claudelint validate-skills --skill my-skill
For troubleshooting, see [common issues](./references/common-issues.md). For customization, see [configuration](./references/configuration.md).
A linter for Claude Code projects. Validates CLAUDE.md files, skills, settings, hooks, MCP servers, plugins, and more.
Repo: pdugan20/claudelint
Formats Claude Code files with markdownlint, prettier, and shellcheck. Use when user asks to "format my files", "fix markdown formatting", "clean up…
Interactively helps users optimize their CLAUDE.md files. Use when user asks to "optimize my CLAUDE.md", "my CLAUDE.md is too long", "improve organization", or…
Runs comprehensive claudelint validation on all Claude Code project files. Use when user asks to "check everything", "run all validators", "full audit",…
Validates CLAUDE.md files for size, imports, and structure. Use when user asks to "check my CLAUDE.md", "why is my CLAUDE.md too long", "validate imports", or…
Validates Claude Code hooks.json files for schema, events, and commands. Use when user asks to "check my hooks", "validate hooks.json", "hook errors", "why…
Validates MCP server configuration files (.mcp.json). Use when user asks to "check my .mcp.json", "why isn't my MCP working", ".mcp.json errors", "validate MCP…