AgentSkillsCN

format-cc

使用markdownlint、prettier与shellcheck对Claude Code文件进行格式化。当用户提出“格式化我的文件”“修复Markdown格式”“清理CLAUDE.md”或“检查Shell脚本”的需求时使用。自动修复Markdown、JSON、YAML的格式问题,并对Shell脚本的质量进行分析与优化。

SKILL.md
--- frontmatter
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

bash
claudelint format --fix $ARGUMENTS

Modes

Fix Mode (default)

Auto-fix formatting issues:

bash
claudelint format --fix

Or simply:

bash
claudelint format

Check Mode

Check formatting without making changes:

bash
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:

bash
claudelint format --fix

Check formatting in CI:

bash
claudelint format --check

Verbose output:

bash
claudelint format --fix --verbose

Required Tools

Install formatting tools globally or in your project:

markdownlint

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

prettier

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

shellcheck

bash
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:

json
{
  "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:

json
{
  "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:

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

Add to pre-commit hooks:

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

Exit Codes

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

See Also