ase-spec-lint

ase-spec-lint is an agent for Claude Code from rse/ase. It costs 9 tokens per session (3,588 once invoked), scanned A, original, Apache-2.0.

An agent for investigating problems in SpecBook-based specifications. It checks requirements files for quality issues using selected aspects and the project's format rules.

In plain words
What is it for?
It is for reviewing specification files, their structure, logical gaps, and implementation completeness, then producing diagnostics and fixes where required.
Why use it?
It helps expose unclear, inconsistent, incomplete, or malformed requirements before they guide implementation.

Agent for Claude Code

Written for Claude Code: effort in frontmatter.

Part of the ase plugin — 57 skills, 11 agents, 5 hooks shipped together

Good fit It is for reviewing specification files, their structure, logical gaps, and implementation completeness, then producing diagnostics and fixes where required.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/rse/ase/ase-spec-lint
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.

Clone the repo
git clone --depth 1 https://github.com/rse/ase

Made for: Claude Code.

Or install ase, the plugin that ships this one along with the rest of its 57 skills, 11 agents, 5 hooks.

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 ase-spec-lint

README.md
[![agentmods](https://agentmods.dev/badge/agents/rse/ase/ase-spec-lint/github.svg)](https://agentmods.dev/agents/rse/ase/ase-spec-lint)
Your own site
<a href="https://agentmods.dev/agents/rse/ase/ase-spec-lint"><img src="https://agentmods.dev/badge/agents/rse/ase/ase-spec-lint/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 ase-spec-lint

Your own site · 80×15
<a href="https://agentmods.dev/agents/rse/ase/ase-spec-lint"><img src="https://agentmods.dev/badge/agents/rse/ase/ase-spec-lint.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 9 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,588 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.00009 $0.03588
Opus 5.5 $0.00004 $0.01435
Sonnet 5.5 $0.00002 $0.00718
Haiku 4.5 $0.00001 $0.00359

Measured 8d ago against content hash eb18e483eb2d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

ase-spec-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 8d 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.

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-spec-lint.md · 339 lines

How it starts

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

Your role is an experienced, expert-level requirements engineer.

Your objective is to analyze and fix the SpecBook-based specification (SPEC) for potential problems related to a set of specification quality aspects.

Workflow

  1. Set the requested context: $ARGUMENTS. It consists of the following labeled lines:

    • ASPECTS: the comma-separated aspect set (a non-empty subset of the aspect ids S01...S10).
    • FILES: the space-separated specification files to check, where all problems have to be located.
    • CORPUS: the space-separated files of the entire specification, to be read for comprehension only.
    • META: the space-separated files of the bundled SpecBook format contract and ASE Tenets.
    • SCHEMA: the space-separated files of the SpecBook SCHEMA Model of the project, merged in the given order.
    • DIAGNOSTICS: followed by the lines of the format - <file/>:<line/>:<column/>: <severity/>: <message/>, each a diagnostic of the syntax linters (SpecBook and markdownlint, the latter with a message prefixed by markdownlint: ) located in , or the single line (none).
  2. Use the Read tool to read all files of to learn the SpecBook format contract and the ASE Tenets, especially the SPECIFYING TENETS. Then use the Read tool to read all files of to learn the allowed object kinds, properties, nestings, and value constraints of the project. Finally, use the Read tool to read all files of .

    If contains any of the model-wide aspects S07...S10, additionally read all files of , as these aspects can be judged on the entire specification model only. Otherwise, read only those files of which are needed to really comprehend , like the targets of their [[xxx]] references.

  3. Set to empty. Then check the read specification for the following aspects (each aspect is uniquely identified by its aspect id S01 - XXX...`S10

    • 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:

    • S01 - SYNTAX: Report exactly one problem per line of : the linters are authoritative, so neither drop a diagnostic nor detect any further syntax problem yourself. Take the <severity/> error as HIGH and warning as MEDIUM.

      Propose the correction which resolves the diagnostic, e.g. a schema-allowed object kind, nesting, property key, or value, a uniquely resolvable [[xxx]] reference, or the Markdown construct the markdownlint rule demands.

    • S02 - FORMAT: Check for unclean or inconsistently formatted Markdown not already covered by .

      The yardstick is the SpecBook format contract plus the prevailing formatting conventions of (the majority style). Especially, check the usage of the Complex, Concise, and Grouped format variants (sibling objects share their format), mixed ATX and Setext headings, the padding behind heading and list markers, the indentation of continuation lines, the vertical alignment of properties, the blank lines between blocks, the line wrapping width, the backquoting of grouped names, and the Created:/Modified: frontmatter block.

    • S03 - RATIONALE: Check for statements violating the Statement with Rationale tenet: descriptions without a , BECAUSE rationale, rationales merely restating their statement, and rationales not explaining the WHY.

Read the full file on GitHub · 339 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. 8d ago First seen · 339 lines · 9 tokens per session scan A eb18e483eb2d

Subscribe to this mod's changes

ase-spec-lint is an agent published in the GitHub repository rse/ase (60 stars, last pushed today), licensed Apache-2.0. It adds 9 tokens to every session and 3,588 once invoked, about $0.0000 per session on Opus 5.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-10-22.

Related

Other agents, from other repositories

implementer-expert-agent

Expert implementation worker for hard tasks only: complex algorithms, concurrency, cross-file refactors, non-obvious correctness.

marconae/speq-skill · 29 tokens

adversarial-reviewer

Adversarial reviewer for specs, plans, implementations, or any combination ("spec amendment + implementation in the same PR" is the dominant case), plus two narrower branches — an RFC-only review and an intent review. Loads project conventions and the targeted artifacts; attacks along the relevant checklists; returns…

eugenelim/agent-ready-repo · 142 tokens

config-safety-reviewer

Configuration safety specialist focusing on production reliability, magic numbers, pool sizes, timeouts, and connection limits. Use proactively for configuration changes and production safety reviews.

alirezarezvani/claude-code-tresor · 37 tokens

playwright-test-generator

Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.

microsoft/playwright · 151 tokens

.NET-Notebook-Migration-Agent

Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.

microsoft/ai-agents-for-beginners · 33 tokens

code-reviewer

Performs thorough code reviews for the Notebooks in the Cookbook repo, focusing on Python/Jupyter best practices, and project-specific standards. Use this agent proactively after writing any significant code changes, especially when modifying notebooks, Github Actions, and scripts.

anthropics/claude-cookbooks · 52 tokens