seqair CLAUDE.md

seqair CLAUDE.md is an instructions file for coding agents from Softleif/seqair. It costs 3,002 tokens per session, scanned A, original, Apache-2.0.

Claude Code instructions for Softleif/seqair, covering seqair, tracey specs, coding style, pre-push ci parity and architecture notes.

Instructions file

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 instructions/softleif/seqair/claude-md
Clone the repo
git clone --depth 1 https://github.com/Softleif/seqair

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 seqair CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/softleif/seqair/claude-md.svg)](https://agentmods.dev/instructions/softleif/seqair/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/softleif/seqair/claude-md"><img src="https://agentmods.dev/badge/instructions/softleif/seqair/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 3,002 This file is loaded in full into every session.
When invoked 3,002 The same file — it is already loaded in full.
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.03002 $0.03002
Opus 5 $0.01501 $0.01501
Sonnet 5 $0.00600 $0.00600
Haiku 4.5 $0.00300 $0.00300

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

Security

Grade A, and why

seqair CLAUDE.md 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 today.

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.

CLAUDE.md · 114 lines

How it starts

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

seqair

Pure-Rust BAM/SAM/CRAM/FASTA reader + pileup engine. I/O backend for rastair.

Workspace: crates/seqair (readers, pileup, BGZF, CRAM) and crates/seqair-types (Base, Strand, Phred, Probability, RmsAccumulator, RegionString).

Tracey specs

Specs in docs/spec/*.md with r[rule.id]. Code: // r[impl rule.id], tests: // r[verify rule.id]. Use the tracey skill. Add spec rules before implementing; update specs when changing behavior.

Coding style

Expert Rust. Modern idioms. Types are the primary abstraction.

  • Correctness and clarity first. Comments explain "why" only.
  • No mod.rs — use src/some_module.rs.
  • No unwrap() — propagate with ?.
  • No indexing — use .get(). If indexing is unavoidable, #[allow(clippy::indexing_slicing)] + debug_assert!.
  • No let _ = on fallible ops — propagate, log with warn!, or handle.
  • No from_utf8_lossy — use from_utf8()? with typed errors.
  • Error enums: one per module, typed fields only (never String), #[from] for wrapping. Never use io::Error::other("message") — add a typed variant instead. Hierarchy: BgzfErrorBamHeaderError/BaiErrorBamError; BamWriteError (parallel to BamError for the write path); FaiError/GziErrorFastaError; FormatDetectionErrorReaderError; VcfHeaderError/VcfEncodeError/AllelesErrorVcfError.
  • color_eyre for errors, tracing for logging.
  • Sequence names are SmolStr.
  • Tests: prefer cargo nextest run (parallel test-binary execution; ~8× faster than cargo test on this repo, config in .config/nextest.toml). Doctests aren't run by nextest — append cargo test --doc --quiet when you need to cover them. Prefer proptest where applicable. Round-trip tests against noodles and bcftools are the strongest validation — always add them for new output formats. Avoid tautological tests — don't verify code using a copy of the same logic (e.g., compute expected bin with the same reg2bin). Use independent oracles. For tests that write temp files (e.g., bcftools round-trips), use the tempfile crate (tempfile::NamedTempFile) rather than std::env::temp_dir().join(...) to avoid filename collisions under parallel test execution.
  • SmallVec in this project uses 2-arg form SmallVec<T, N> (not SmallVec<[T; N]>).
  • No silent as i32/as u32 truncation at serialization boundaries — use i32::try_from() or equivalent with typed errors. At allocation boundaries (parsing untrusted counts), apply practical upper bounds matching real-world data, not format maximums (i32::MAX is not a limit). See r[io.writer_limits] and r[io.fuzz.alloc_limits] in the general spec.

Read the full file on GitHub · 114 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. today First seen · 114 lines · 3,002 tokens per session scan A dd77b65cf1bb

Subscribe to this mod's changes

seqair CLAUDE.md is an instructions file published in the GitHub repository Softleif/seqair (29 stars, last pushed today), licensed Apache-2.0. It adds 3,002 tokens to every session, about $0.0150 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-09-04.