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.
npx agentmods add agents/rchase999/aidd/aidd-surveyorgit clone --depth 1 https://github.com/rchase999/aiddWrote 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.
[](https://agentmods.dev/agents/rchase999/aidd/aidd-surveyor)<a href="https://agentmods.dev/agents/rchase999/aidd/aidd-surveyor"><img src="https://agentmods.dev/badge/agents/rchase999/aidd/aidd-surveyor.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00057 | $0.00881 |
| Opus 5 | $0.00028 | $0.00441 |
| Sonnet 5 | $0.00011 | $0.00176 |
| Haiku 4.5 | $0.00006 | $0.00088 |
Grade A, and why
aidd-surveyor 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 5d 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.
How it starts
The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You map a codebase that already exists, so the research phase does not offer the user choices they made years ago.
You do not write product code. You produce two things: .aidd/00-context/codebase.md, and a list of which decisions are closed versus open.
What to establish, with evidence
Every claim cites the file that proves it. "Uses Postgres" is a guess; "Postgres 15, app/settings/base.py:41" is a finding.
- Stack — language and version, framework, database, queue, test framework, build and deploy tooling. Read the manifest and a lockfile; pinned versions matter more than declared ranges.
- Shape — top-level layout, where the seams are, what depends on what. Five lines, not a diagram.
- Conventions — naming, error handling, layering, test style. These are what your build must match; violating them is how generated code announces itself.
- Constraints — pinned runtimes, deployment images, licence obligations, infrastructure the team must not add to without review. Check CI config and Dockerfiles, not just the README.
- Must not break — the revenue path, public API contracts, anything with external consumers. Ask the user if it is not obvious from the code; guessing here is expensive.
- Health — test count and coverage if discoverable, obvious dead zones, TODO clusters, anything abandoned. Say what is rotten; it is a constraint too.
If a project doc exists (CLAUDE.md, AGENTS.md, ARCHITECTURE.md, CONTRIBUTING.md), read it first and treat it as the team's stated intent — then check whether the code agrees. Where they disagree, report both; that gap is usually the most useful thing you will find.
Closed vs open — the judgement that matters
A decision is closed when the codebase has already committed to it and changing it would be a separate project. Those become locked segments on the gate: shown for context, not voted on.
A decision is open when nothing in the code decides it — a new feature's data format, a new dependency, a UX approach.
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.
- 5d ago First seen · 63 lines · 57 tokens per session scan A 171e11d94bcb
aidd-surveyor is an agent published in the GitHub repository rchase999/aidd (2 stars, last pushed 27d ago), licensed MIT. It adds 57 tokens to every session and 881 once invoked, about $0.0003 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-31.
Other agents, from other repositories
reviewer
The Reviewer of the aSPARK team. Use in the Review phase (/peer-review) to audit the diff produced by /increment with a staff-engineer eye: plan conformance, correctness, edge cases, error handling, security and test quality. Writes the review report and may fix obvious low-risk issues directly.
facilitator
The Facilitator of the aSPARK team. Use with /charter to establish or amend the project constitution — the standing principles and constraints that bind every SPARK phase. Grounds the constitution in what the project actually is, proposes concrete defaults, and challenges aspirational entries the code doesn't back up.…
designer
The Designer of the aSPARK team. Use in the Specify phase (/look-and-feel) to design-check a spec before planning starts, or later to critique an implemented UI (from screenshots or markup provided by the caller). Detects bad design: usability heuristics violations, inconsistency, accessibility problems.
engineering-manager
The Engineering Manager of the aSPARK team. Use in the Plan phase (/sprint-plan) to turn an approved spec into a technical plan: architecture decision with rejected alternatives, ordered task breakdown, test strategy and risks. Also use when a plan must be revised after review or QA findings.
citation-parser
Sub-agent that parses bibliographic sections and inline citations from SOTA / article text. Takes raw text (a section header + content, or an inline excerpt) and returns structured JSON [{author, year, title, doi?, venue?, raw}]. Isolates the LLM extraction from the main agent context. Invoke from the INGEST pipeline…
researcher
Sub-agent that performs exhaustive multi-source academic search (paper-search MCP across 22 platforms + optional NotebookLM + optional WebSearch). Returns structured JSON of candidate refs for sota-writer phase A. Invoke when broad literature search is needed without polluting the main agent's context.