setup-linter

Configure automated linting and formatting for multi-language repositories.

7|2|Updated Nov 30, 2025
One-click install
npx skills add https://github.com/ajbmachon/ajbm-skills --skill setup-linter
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: setup-linter
Source: https://github.com/ajbmachon/ajbm-skills/tree/main/plugins/development-skills/skills/setup-linter
Command: npx skills add https://github.com/ajbmachon/ajbm-skills --skill setup-linter

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

This Skill prevents inconsistent code quality by automatically configuring linting and formatting so developers get immediate, reliable feedback after code changes.

Core Features & Use Cases

  • Auto-detects project type: Identifies JavaScript/TypeScript, Python, Rust, Go, Deno, and Biome projects from common config files.
  • Installs and configures the right linter: Sets up ESLint or Ruff (and Rust/Go/Deno equivalents) with sensible defaults and generates missing config files.
  • Adds a Stop hook for auto-fix: Creates/updates .claude/settings.json so the linter runs quietly and never blocks Claude even if linting fails.
  • Reinforces clean code via agent instruction: Appends an instruction to the project CLAUDE.md to invoke the clean-code-reviewer agent after meaningful changes.

Quick Start

Run the setup automatically in your project directory by invoking setup-linter with no arguments.

Frequently Asked Questions about setup-linter

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up ESLint and auto-fix linting errors automatically?

This Skill prevents code-quality drift by auto-detecting your project type, configuring the appropriate linter such as ESLint or Ruff, and installing a Stop hook that runs auto-fix quietly without blocking Claude.

How do I configure linting for a multi-language project with Python and TypeScript?

Linting for multi-language projects is handled by auto-detecting project types from config files, then generating missing linter configurations for tools like Ruff and ESLint with sensible defaults.

Does this automated linting workflow support Rust and Go projects?

Yes, the automated linting workflow supports Rust, Go, Deno, and Biome projects alongside JavaScript, TypeScript, and Python by applying a consistent linting workflow with immediate post-edit fixes.

Can I run a linter on Stop without blocking the agent?

Yes, you can run a linter on Stop without blocking the agent by creating or updating a settings file with a Stop hook that executes the chosen linter command quietly and never blocks Claude even if linting fails.

What is a Stop hook for code formatting and how does it work?

A Stop hook for code formatting is a script triggered after edits finish, running the configured linter command quietly to apply immediate fixes and reduce code-quality drift without interrupting the agent workflow.

Why do I need a linter config if I already have project scripts?

You need a linter config because project scripts alone do not provide immediate post-edit feedback; generating missing config files and appending clean-code review instructions ensures consistent code-quality enforcement across multi-language repositories.