Code Formatter
Overview
Formats and validates code files using Prettier and related formatting tools. Supports JavaScript, TypeScript, JSON, CSS, Markdown, and many other file types.
Prerequisites
- Node.js (v16+) and npm/npx installed
- Prettier available globally (
npm install -g prettier) or locally in the project
- Write permissions for target files and configuration directories
- Supported file types present in the project (
.js, .jsx, .ts, .tsx, .json, .css, .md)
Instructions
- Check whether Prettier is available by running
npx prettier --version. If missing, install it locally with npm install --save-dev prettier or globally with npm install -g prettier.
- Detect existing configuration by searching for
.prettierrc, .prettierrc.json, prettier.config.js, or a "prettier" key in package.json. If no configuration exists, create a .prettierrc with sensible defaults (see ${CLAUDE_SKILL_DIR}/references/implementation.md).
- Run
npx prettier --check "**/*.{js,jsx,ts,tsx,json,css,md}" --ignore-path .prettierignore to identify files that need formatting. Report the count and list of non-conforming files.
- Apply formatting to identified files using
npx prettier --write on the target paths. For single files, specify the exact path; for directories, use glob patterns.
- Create or update
.prettierignore to exclude generated outputs (dist/, build/, *.min.js, *.min.css), dependencies (node_modules/, vendor/), and lock files.
- Optionally set up pre-commit enforcement by installing
husky and lint-staged, then configuring lint-staged in package.json to run prettier --write on staged files matching supported extensions.
- Run a final
npx prettier --check to confirm all target files now conform to the configured style rules.
Output
A formatting execution report containing:
- Count of files checked and files reformatted
- List of files that were modified with before/after formatting status
- Configuration file(s) created or updated (
.prettierrc, .prettierignore)
- Any git hook integration changes applied
- Confirmation of final formatting compliance
Error Handling
| Error |
Cause |
Solution |
prettier: command not found |
Prettier not installed globally or locally |
Run npm install -g prettier or npx prettier --version to use npx |
| Syntax errors in source files |
Malformed code that Prettier cannot parse |
Fix syntax errors first using npx eslint --fix-dry-run <file> then retry formatting |
| Configuration conflicts |
Multiple .prettierrc files or conflicting editorconfig |
Locate all config files with find . -name ".prettier*" and consolidate to a single config |
| Permission denied on write |
File or directory lacks write permission |
Run chmod u+w <file> to grant write access |
| Parser not found for file type |
Unsupported file extension or missing Prettier plugin |
Install the appropriate Prettier plugin (e.g., prettier-plugin-svelte) or exclude the file type |
Examples
Format a single file:
Trigger: "Format src/app.js"
Process: Run npx prettier --write src/app.js. Report the file as reformatted or already conformant.
Project-wide formatting setup:
Trigger: "Set up code formatting for this project."
Process: Create .prettierrc with project defaults, create .prettierignore excluding build outputs, run npx prettier --write "src/**/*.{js,ts,json,css}", install husky and lint-staged for pre-commit hooks, verify compliance.
Check formatting without modifying files:
Trigger: "Check formatting across the project."
Process: Run npx prettier --check "**/*.{js,jsx,ts,tsx,json,css,md}". Report non-conforming files with their paths. Suggest npx prettier --write to fix.
Resources
${CLAUDE_SKILL_DIR}/references/implementation.md -- detailed implementation guide with configuration examples
${CLAUDE_SKILL_DIR}/references/errors.md -- common error scenarios and solutions
- Prettier documentation -- official configuration and CLI reference
- ESLint -- complementary linting and code quality tool
- Husky -- git hooks for pre-commit formatting enforcement
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: jeremylongshore-claude-code-plugins-plus-skills-code-formatt3description: Code Formatter4---5# Code Formatter67## Overview89Formats and validates code files using Prettier and related formatting tools. Supports JavaScript, TypeScript, JSON, CSS, Markdown, and many other file types.1011## Prerequisites1213- Node.js (v16+) and npm/npx installed14- Prettier available globally (`npm install -g prettier`) or locally in the project15- Write permissions for target files and configuration directories16- Supported file types present in the project (`.js`, `.jsx`, `.ts`, `.tsx`, `.json`, `.css`, `.md`)1718## Instructions19201. Check whether Prettier is available by running `npx prettier --version`. If missing, install it locally with `npm install --save-dev prettier` or globally with `npm install -g prettier`.212. Detect existing configuration by searching for `.prettierrc`, `.prettierrc.json`, `prettier.config.js`, or a `"prettier"` key in `package.json`. If no configuration exists, create a `.prettierrc` with sensible defaults (see `${CLAUDE_SKILL_DIR}/references/implementation.md`).223. Run `npx prettier --check "**/*.{js,jsx,ts,tsx,json,css,md}" --ignore-path .prettierignore` to identify files that need formatting. Report the count and list of non-conforming files.234. Apply formatting to identified files using `npx prettier --write` on the target paths. For single files, specify the exact path; for directories, use glob patterns.245. Create or update `.prettierignore` to exclude generated outputs (`dist/`, `build/`, `*.min.js`, `*.min.css`), dependencies (`node_modules/`, `vendor/`), and lock files.256. Optionally set up pre-commit enforcement by installing `husky` and `lint-staged`, then configuring `lint-staged` in `package.json` to run `prettier --write` on staged files matching supported extensions.267. Run a final `npx prettier --check` to confirm all target files now conform to the configured style rules.2728## Output2930A formatting execution report containing:31- Count of files checked and files reformatted32- List of files that were modified with before/after formatting status33- Configuration file(s) created or updated (`.prettierrc`, `.prettierignore`)34- Any git hook integration changes applied35- Confirmation of final formatting compliance3637## Error Handling3839| Error | Cause | Solution |40|---|---|---|41| `prettier: command not found` | Prettier not installed globally or locally | Run `npm install -g prettier` or `npx prettier --version` to use npx |42| Syntax errors in source files | Malformed code that Prettier cannot parse | Fix syntax errors first using `npx eslint --fix-dry-run <file>` then retry formatting |43| Configuration conflicts | Multiple `.prettierrc` files or conflicting `editorconfig` | Locate all config files with `find . -name ".prettier*"` and consolidate to a single config |44| Permission denied on write | File or directory lacks write permission | Run `chmod u+w <file>` to grant write access |45| Parser not found for file type | Unsupported file extension or missing Prettier plugin | Install the appropriate Prettier plugin (e.g., `prettier-plugin-svelte`) or exclude the file type |4647## Examples4849**Format a single file:**50Trigger: "Format src/app.js"51Process: Run `npx prettier --write src/app.js`. Report the file as reformatted or already conformant.5253**Project-wide formatting setup:**54Trigger: "Set up code formatting for this project."55Process: Create `.prettierrc` with project defaults, create `.prettierignore` excluding build outputs, run `npx prettier --write "src/**/*.{js,ts,json,css}"`, install `husky` and `lint-staged` for pre-commit hooks, verify compliance.5657**Check formatting without modifying files:**58Trigger: "Check formatting across the project."59Process: Run `npx prettier --check "**/*.{js,jsx,ts,tsx,json,css,md}"`. Report non-conforming files with their paths. Suggest `npx prettier --write` to fix.6061## Resources6263- `${CLAUDE_SKILL_DIR}/references/implementation.md` -- detailed implementation guide with configuration examples64- `${CLAUDE_SKILL_DIR}/references/errors.md` -- common error scenarios and solutions65- [Prettier documentation](https://prettier.io/docs/en/) -- official configuration and CLI reference66- [ESLint](https://eslint.org/) -- complementary linting and code quality tool67- [Husky](https://typicode.github.io/husky/) -- git hooks for pre-commit formatting enforcement6869---70> Converted and distributed by [TomeVault](https://tomevault.io/claim/jeremylongshore) — claim your Tome and manage your conversions.71<!-- tomevault:4.0:skill_md:2026-04-11 -->