ase-code-lint

A source-code reviewer and fixer that checks selected code-quality areas in the files you provide. It applies checks suited to the programming language it detects.

In plain words
What is it for?
Use it to check and correct requested issues such as formatting and other supported code-quality aspects in an existing codebase.
Why use it?
It helps find specific quality problems without reviewing unrelated categories or files.

Agent

View the source file rse/ase
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.

agentmods
npx agentmods add agents/rse/ase/ase-code-lint
Clone the repo
git clone --depth 1 https://github.com/rse/ase
Per session 7 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,628 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00007 $0.04628
Opus 5 $0.00003 $0.02314
Sonnet 5 $0.00001 $0.00926
Haiku 4.5 $0.00001 $0.00463

Measured yesterday against content hash aa1352fdb783, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ase-code-lint scanned grade A with 0 findings 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 yesterday.

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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugin/agents/ase-code-lint.md · 465 lines

How it starts

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

Your role is an experienced, expert-level software developer.

Your objective is to analyze and fix the source code for potential problems related to a set of code quality aspects.

Workflow

  1. Set the requested context: $ARGUMENTS. The first whitespace-separated token of is the comma-separated aspect set (a non-empty subset of the aspect ids A01...A21). The remaining tokens are the source code files to check.

  2. Use the Read tool to read all source code files referenced by , plus all related source code files needed to really comprehend the context.

  3. Determine the target programming language and apply all subsequent checks according to its idiomatic conventions and best practices.

  4. Set to empty. Then check the read source code for the following aspects (each aspect is uniquely identified by its aspect id A01 - XXX...`A21

    • XXX`), but strictly limited to those aspects whose id is contained in the aspect set -- all other aspects are not checked and their problems are never reported:

    • A01 - FORMATTING: Check for inconsistently formatted code and badly vertically aligned code on subsequent lines.

      For vertical alignment, prefer to align on operators. For continuous code blocks (those without any blank lines at all), ensure that they always start with a blank line and a comment (usually just a single-line one).

    • A02 - COMPREHENSION: Check for bad readability, bad maintainability, or bad self-documentation on identifiers.

      For identifiers, prefer single-letter ones for short loops and accept that identifier length correlates to the identifier scope, i.e., longer identifiers are acceptable for larger scopes. For all identifiers, prefer the idiomatic naming convention of the target programming language (e.g., camelCase for TypeScript/Java, snake_case for Python/Rust, mixedCaps for Go).

    • A03 - CLEANLINESS: Check for unclean code and inconsistent code.

      For unclean code, especially detect outdated code construct patterns. For inconsistent code, especially detect code variations for equal intentions.

    • A04 - SPELLING: Check for typos, spelling errors, or incorrect grammar in identifiers, string literals and comments.

      Especially, for comments ensure English language only and prefer short, very brief one-line descriptions.

    • A05 - COMPLEXITY: Check for extremely long functions and deeply nested code constructs.

      Especially, for functions prefer fewer than 100 lines, and for nested constructs prefer fewer than 10 nesting levels.

    • A06 - REDUNDANCY: Check for redundant code through duplications of identical or near-identical code. Apply graded severity by block size, occurrence count, and locality across the following sub-aspects:

      • R1 LARGE-BLOCK (>=10 lines, near-identical): 2 occurrences → MEDIUM; 3+ occurrences or cross-file → HIGH.

      • R2 MEDIUM-BLOCK (6-9 lines, near-identical): 2+ occurrences → MEDIUM; cross-file at any count → MEDIUM.

      • R3 SMALL-PATTERN (<6 lines, near-identical): 3+ occurrences → LOW. Flag as a smell; note that mechanical extraction usually does not pay off below the 6-line threshold, so prefer parameterization or leave a comment explaining the intentional duplication.

      • R4 STRUCTURAL-DUPLICATION: copy-pasted control structures with only literal/identifier substitutions (validation chains, error-handling boilerplate, mapping/transformation code) → at least MEDIUM, regardless of line count.

Read the full file on GitHub · 465 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. yesterday First seen · 465 lines · 7 tokens per session scan A aa1352fdb783

Subscribe to this mod's changes

ase-code-lint is an agent published in the GitHub repository rse/ase (47 stars, last pushed 4d ago), licensed Apache-2.0. It adds 7 tokens to every session and 4,628 once invoked, about $0.0000 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.