Skip to content

/format-cc

Formats Claude Code files with markdownlint, prettier, and shellcheck. Use when user asks to "format my files", "fix markdown formatting", "clean up CLAUDE.md", or "check shell scripts". Auto-fixes markdown, JSON, YAML formatting and analyzes shell script quality.

From plugin
claudelint
129 skills13 agents1 command1 hook
Install
$ npx -y skills add pdugan20/claudelint --skill format-cc --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/format-cc

Context preview

The summary Claude sees to decide when to auto-load this skill.

Formats Claude Code files with markdownlint, prettier, and shellcheck. Use when user asks to "format my files", "fix markdown formatting", "clean up CLAUDE.md", or "check shell scripts". Auto-fixes markdown, JSON, YAML formatting and analyzes shell script quality.

SKILL.md

format-cc.SKILL.md
name: format-cc
description: Formats Claude Code files with markdownlint, prettier, and shellcheck. Use when user asks to "format my files", "fix markdown formatting", "clean up CLAUDE.md", or "check shell scripts". Auto-fixes markdown, JSON, YAML formatting and analyzes shell script quality.
version: 1.0.0
argument-hint: "[flags]"
allowed-tools:
  - Bash(claudelint:*)

Format Claude Code Files

Runs `claudelint format` to format Claude Code project files using industry-standard tools:

  • **markdownlint** - Markdown structure and formatting
  • **prettier** - Code formatting for markdown, JSON, YAML
  • **shellcheck** - Shell script analysis

Usage

claudelint format --fix $ARGUMENTS

Modes

Fix Mode (default)

Auto-fix formatting issues:

claudelint format --fix

Or simply:

claudelint format

Check Mode

Check formatting without making changes:

claudelint format --check

Useful for CI/CD to verify formatting.

Options

  • `--check` - Check formatting without making changes
  • `--fix` - Fix formatting issues (default)
  • `--verbose` - Show detailed command output

What Gets Formatted

Markdown Files

  • `CLAUDE.md`
  • `.claude/**/*.md`

Tools:

  • markdownlint - MD041, MD031, MD032, MD040, MD022
  • prettier - Line wrapping, indentation

JSON Files

  • `.claude/**/*.json`
  • `.mcp.json`
  • `.claude-plugin/**/*.json`

Tool: prettier

YAML Files

  • `.claude/**/*.{yaml,yml}`

Tool: prettier

Shell Scripts

  • `.claude/**/*.sh`
  • `.claude/hooks/*`

Tool: shellcheck (analysis only, no auto-fix)

Examples

Format all Claude files:

claudelint format --fix

Check formatting in CI:

claudelint format --check

Verbose output:

claudelint format --fix --verbose

Required Tools

Install formatting tools globally or in your project:

markdownlint

npm install -g markdownlint-cli
# or
npm install --save-dev markdownlint-cli

prettier

npm install -g prettier
# or
npm install --save-dev prettier

shellcheck

brew install shellcheck
# or
npm install -g shellcheck

Configuration

The format command automatically scopes to Claude files only, so it won't conflict with your project's existing formatters.

Customizing Markdownlint

Create `.markdownlint.json` in your project root:

{
  "default": true,
  "MD013": false,
  "MD033": {
    "allowed_elements": ["kbd", "br"]
  },
  "MD041": true,
  "MD031": true,
  "MD032": true,
  "MD040": true,
  "MD022": true
}

`claudelint format` will automatically use this configuration.

Customizing Prettier

Create `.prettierrc.json` in your project root:

{
  "semi": true,
  "singleQuote": true,
  "printWidth": 100,
  "tabWidth": 2,
  "useTabs": false,
  "arrowParens": "always",
  "endOfLine": "lf",
  "proseWrap": "preserve"
}

`claudelint format` will automatically use this configuration.

Integration

Add to package.json scripts:

{
  "scripts": {
    "format:claude": "claudelint format --fix",
    "format:claude:check": "claudelint format --check",
    "lint:claude": "claudelint check-all"
  }
}

Add to pre-commit hooks:

#!/bin/sh
claudelint format --check
claudelint check-all

Exit Codes

  • `0` - All formatting checks passed
  • `1` - Formatting issues found

See Also

  • [validate-all](../validate-all/SKILL.md) - Validate Claude files
  • [CLI Reference](https://claudelint.com/guide/cli-reference) - Complete CLI documentation
Read more
Ships withclaudelint

A linter for Claude Code projects. Validates CLAUDE.md files, skills, settings, hooks, MCP servers, plugins, and more.

Get the whole plugin, auto-invoked

Other skills on claudelint.