linter-agent

linter-agent is a skill for Claude Code from oyi77/1ai-skills. It costs 21 tokens per session (1,190 once invoked), scanned A, original, MIT.

A code-quality helper that finds and fixes style, formatting, and project-convention problems across a codebase.

In plain words
What is it for?
Use it to enforce naming and import conventions, fix violations in bulk, update rules during linter upgrades, and identify important warnings.
Why use it?
It reduces inconsistent code and helps apply rules that ordinary formatting tools or linters may not fully capture.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the 1ai-skills plugin — 216 skills, 4 commands shipped together

Good fit Use it to enforce naming and import conventions, fix violations in bulk, update rules during linter upgrades, and identify important warnings.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/oyi77/1ai-skills/linter-agent
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add oyi77/1ai-skills --skill linter-agent
Clone the repo
git clone --depth 1 https://github.com/oyi77/1ai-skills

Made for: Claude Code.

Or install 1ai-skills, the plugin that ships this one along with the rest of its 216 skills, 4 commands.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for linter-agent

README.md
[![agentmods](https://agentmods.dev/badge/skills/oyi77/1ai-skills/linter-agent/github.svg)](https://agentmods.dev/skills/oyi77/1ai-skills/linter-agent)
Your own site
<a href="https://agentmods.dev/skills/oyi77/1ai-skills/linter-agent"><img src="https://agentmods.dev/badge/skills/oyi77/1ai-skills/linter-agent/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for linter-agent

Your own site · 80×15
<a href="https://agentmods.dev/skills/oyi77/1ai-skills/linter-agent"><img src="https://agentmods.dev/badge/skills/oyi77/1ai-skills/linter-agent.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 21 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,190 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00021 $0.01190
Opus 5.5 $0.00008 $0.00476
Sonnet 5.5 $0.00004 $0.00238
Haiku 4.5 $0.00002 $0.00119

Measured 1mo ago against content hash 657e243c2c1d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

linter-agent scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

result = subprocess.run(cmd, capture_output=True, text=True)
agents/coding/linter-agent/SKILL.md · 138 lines

How it starts

The opening of the file, as written. The whole thing — 138 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Overview

This agent detects and fixes code style violations and enforces the project's lint rules across the tree. Use it after any batch of edits to keep the diff convention-clean. It reports what changed and why, so the style pass stays auditable.

Linter Agent

Quick Reference — see parent for full agent ecosystem.

The Linter Agent enforces code style, convention rules, and formatting standards across the codebase at scale. It goes beyond running a tool — it interprets project-specific conventions that static linters cannot express, fixes violations in bulk, migrates rules when upgrading linters, and surfaces only the warnings that matter. Its job is to make the codebase look like one person wrote it, even when fifty people contributed.

When Not to Use

  • Simple or one-off tasks — if the task is straightforward, direct execution is faster than structured methodology.
  • Already established workflows — follow existing team conventions rather than introducing new frameworks.
  • When automation overhead exceeds benefit — for very small scopes, the setup cost may not be justified.

Dependencies

  • Python 3.8+ or Node.js 18+
  • Access to relevant APIs/services for your specific use case
  • Basic understanding of the domain concepts

Commands

# Refer to the skill's usage section for specific commands
# Adapt these to your workflow

Key Responsibilities

  • Apply project conventions: Enforce naming, import ordering, error-handling patterns, and file structure rules that go beyond automated linter config
  • Bulk fix and migrate: Run across entire directories with auto-fix, handle rule migrations (e.g., eslint flat config), and clean up after dependency updates
  • Surface actionable results: Suppress noise from rules the team has consciously decided to ignore; report only violations that need human attention

Code Example

"""Minimal linter agent pattern — scan and fix."""

import json, subprocess, sys
from pathlib import Path

def lint(paths: list[str], config: str | None = None, auto_fix: bool = True) -> dict:
    results = {"files_scanned": 0, "errors": 0, "warnings": 0, "auto_fixed": 0}

    for p in paths:
        target = Path(p)
        if not target.exists():
            continue

        # Run the linter (simplified — real agent integrates tool output)
        cmd = ["ruff", "check", str(target)]
        if auto_fix:
            cmd.append("--fix")
        if config:
            cmd.extend(["--config", config])

        result = subprocess.run(cmd, capture_output=True, text=True)

        # Parse output (simplified — real agent parses JSON/SARIF)
        results["files_scanned"] += 1
        if result.returncode != 0:
            results["errors"] += 1

    # Apply project-specific conventions the linter cannot enforce
    for p in paths:
        for file in Path(p).rglob("*.py"):
            content = file.read_text()
            # Detect and fix common patterns (example: ensure newline at EOF)
            if content and not content.endswith("\n"):
                file.write_text(content + "\n")
                results["auto_fixed"] += 1

    return results

if __name__ == "__main__":
    result = lint(sys.argv[1:])
    print(json.dumps(result, indent=2))

Read the full file on GitHub · 138 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · +11 lines 657e243c2c1d
  2. 2mo ago First seen · 127 lines · 21 tokens per session scan A 129d6168bee2

Subscribe to this mod's changes

linter-agent is a skill published in the GitHub repository oyi77/1ai-skills (17 stars, last pushed 2d ago), licensed MIT. It adds 21 tokens to every session and 1,190 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

adk-debug

Diagnoses misbehaving ADK agents by inspecting sessions, events, tool calls, and the exact request that reached the model. Covers the adk run CLI and the adk web dev server with its session, trace, and debug HTTP endpoints. Use when an agent returns the wrong answer, ignores a tool or swallows a tool error, hangs…

google/adk-python · 191 tokens

rubber-duck

Adversarial "rubber duck" review that turns explaining-out-loud into a hallucination check. The main session is the PRESENTER (it did the work — a design doc, investigation, or analysis — and holds the real reasoning) and reconstructs the topic to a LISTENER — a spawned subagent pinned to a DIFFERENT-vendor model that…

kirodotdev/KiroCrew · 161 tokens

debug-gateway

Load this before concluding a change did not land, and to read what the kirocrew-debug tools actually answered - which question to ask first, the fields that mean the opposite of how they look, and what a 400 / 403 / 404 / 501 from these tools means.

kirodotdev/KiroCrew · 63 tokens

ai-discover

Read-only discovery step of the auto-improvement loop. One bounded agent turn per cycle reads the focus files (Read/Grep/Glob only, no shell, no subagents) and replies with a JSON array of testable surfaces {file, line, symbol, rule, message, hypothesis}; the spine authors fixes and verifies them. Discovery only — no…

kirodotdev/KiroCrew · 83 tokens

debugging-websocket-issues

Use when seeing WebSocket errors like "Invalid frame header", "RSV1 must be clear", or "WSERRUNEXPECTEDRSV1" - covers multiple WebSocketServer conflicts, compression issues, and raw frame debugging techniques.

AgentWorkforce/relay · 54 tokens

goal-calculator-repair

Repair the fixed integer calculator using current failure evidence.

zhnt/loushang · 16 tokens