format-cc
Formats Claude Code files with markdownlint, prettier, and shellcheck. Use when user asks to "format my files", "fix markdown…
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
Claude Code
$ npx -y skills add pdugan20/claudelint --skill validate-skills --agent claude-code
Codex
$ npx skills add pdugan20/claudelint --skill validate-skills -a codex -y
Cursor
$ npx skills add pdugan20/claudelint --skill validate-skills -a cursor -y
Gemini CLI
$ npx skills add pdugan20/claudelint --skill validate-skills -a gemini-cli -y
GitHub Copilot
$ npx skills add pdugan20/claudelint --skill validate-skills -a github-copilot -y
OpenCode
$ npx skills add pdugan20/claudelint --skill validate-skills -a opencode -y
Windsurf
$ npx skills add pdugan20/claudelint --skill validate-skills -a windsurf -y
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.
Formats Claude Code files with markdownlint, prettier, and shellcheck. Use when user asks to "format my files", "fix markdown…
Interactively helps users optimize their CLAUDE.md files. Use when user asks to "optimize my CLAUDE.md", "my CLAUDE.md is too…
Runs comprehensive claudelint validation on all Claude Code project files. Use when user asks to "check everything", "run all…
Validates CLAUDE.md files for size, imports, and structure. Use when user asks to "check my CLAUDE.md", "why is my CLAUDE.md too…
Validates Claude Code hooks.json files for schema, events, and commands. Use when user asks to "check my hooks", "validate…
Validates MCP server configuration files (.mcp.json). Use when user asks to "check my .mcp.json", "why isn't my MCP working",…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.