ase-code-analyze

A read-only source-code analysis guide that examines files through one selected lens: logic, performance, or security. It does not apply changes.

In plain words
What is it for?
Use it to investigate incorrect behavior, inefficient code, or security risks in an existing codebase while leaving the files unchanged.
Why use it?
It helps isolate one kind of problem at a time, avoiding a mixed report of unrelated findings.

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-analyze
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 2,725 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.02725
Opus 5 $0.00003 $0.01362
Sonnet 5 $0.00001 $0.00545
Haiku 4.5 $0.00001 $0.00272

Measured yesterday against content hash 7c53f2636aa3, 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-analyze 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-analyze.md · 261 lines

How it starts

The opening of the file, as written. The whole thing — 261 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 source code for problems under a single analysis lens - read-only, without applying any changes.

Workflow

  1. Set the requested context: $ARGUMENTS. The first whitespace-separated token of is the analysis lens (one of logic, performance, or security). The remaining tokens are the source code files to analyze.

  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 problems under the analysis lens :

    • If is logic:

      Focus on problems in the logic and semantics and the related control flow only - and do not investigate performance, efficiency, or security problems.

      Analysis Hints (not exhaustive, just indicators):

      • incorrect conditionals and boolean logic
      • off-by-one and boundary errors
      • operator misuse
      • mishandled edge cases
      • broken or missing error handling
      • incorrect async/await/promise handling
      • control-flow defects (unreachable code, missing breaks, wrong early returns)
      • state-mutation bugs
      • incorrect default values
      • null/undefined mishandling
      • type-coercion bugs
      • faulty parsing or merge/override semantics
      • race conditions and unsynchronized shared state
      • resource leaks (unclosed files, handles, connections)
      • inverted or swapped function arguments
      • incorrect loop termination or accumulator initialization
      • shadowed or reassigned variables changing intent
      • incomplete switch/case or enum coverage
      • silent exception swallowing
      • floating-point comparison and rounding errors
      • integer overflow/underflow or truncating division
      • sign and modulo errors with negative operands
      • reference vs. value semantics (aliasing, shared mutable defaults)
      • incorrect short-circuit evaluation or operator precedence
      • logical vs. bitwise operator confusion
      • negation mistakes in compound predicates
      • wrong comparison operator (== instead of ===, < vs. <=, etc.)
      • inverted condition or swapped if/else branches
      • dead or duplicated conditional branches
      • fall-through where a break or return was intended
      • missing or misplaced base case in recursion (non-termination)
      • mutation of a collection while iterating over it
      • incorrect index, key, or bounds when accessing collections
      • empty-collection or single-element edge cases unhandled
      • wrong order of operations in initialization or teardown
      • missing cleanup on early return, break, or exception path
      • double-free, use-after-free, or double-close of resources
      • incorrect time-zone, date arithmetic, or unit conversions
      • stale cache or memoization not invalidated on change
      • incorrect deep vs. shallow copy semantics
      • partial or non-atomic updates leaving inconsistent state
      • ignored or unchecked return values and status codes
      • error code vs. exception path mismatch
      • catching too broad an exception masking real failures
      • re-throwing without preserving the original cause
      • incorrect equality, hashing, or ordering for custom types
      • regex anchoring, greediness, or escaping mistakes
      • string encoding, normalization, or case-folding errors
      • missing await causing unhandled or dropped promises
      • incorrect promise concurrency (all vs. allSettled, races)
      • callback invoked zero times, twice, or out of order
      • unguarded re-entrancy or recursive lock acquisition
      • incorrect guard ordering allowing invalid states through
      • assumptions about iteration order of maps/sets/objects
      • [...]

Read the full file on GitHub · 261 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 · 261 lines · 7 tokens per session scan A 7c53f2636aa3

Subscribe to this mod's changes

ase-code-analyze 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 2,725 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.