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 commands/chawdamrunal/assay/assay-scangit clone --depth 1 https://github.com/chawdamrunal/assayWrote 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/commands/chawdamrunal/assay/assay-scan)<a href="https://agentmods.dev/commands/chawdamrunal/assay/assay-scan"><img src="https://agentmods.dev/badge/commands/chawdamrunal/assay/assay-scan.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 | $0.00048 | $0.00556 |
| Opus 5 | $0.00024 | $0.00278 |
| Sonnet 5 | $0.00010 | $0.00111 |
| Haiku 4.5 | $0.00005 | $0.00056 |
Grade B, and why
assay-scan scanned grade B with 2 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 4d 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.
Downloads and executes remote codemediumSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -sSL https://raw.githubusercontent.com/chawdamrunal/assay/main/install.sh | sh Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -sSL https://raw.githubusercontent.com/chawdamrunal/assay/main/install.sh | sh What it actually says
/assay-scan
Run a citation-verified 5-stage security scan against the given target by following the embedded Assay methodology via the assay MCP server.
Usage
/assay-scan <target>
Where <target> is:
- An absolute path to a local directory (e.g.,
~/.claude/plugins/my-plugin) - A path under the workspace
What happens
- Loads the
assay_methodologyprompt from theassayMCP server (registered via.mcp.jsonin this plugin). - The prompt instructs you to walk the 5 stages — triage, claims, threat model (before reading code), investigation, exploitability + synthesis — calling the
assay_*MCP tools at each step. - At Step 0, calls
assay_scan_startto allocate~/.assay/scans/<basename>/<scan_id>/. - At Steps 1-4, calls
assay_list_files,assay_read_file,assay_grep,assay_parse_manifest,assay_secret_scan, andassay_osv_lookupto investigate. - Every confirmed finding is appended via
assay_record_findingwith a verbatimfile:linesnippet. - At Step 6,
assay_finalize_scanre-reads every cited file:line, drops fabricated evidence, recomputes the verdict from what survives, and writesaudit.json+audit.md.
Prerequisites
The assay binary must be on PATH and the .mcp.json in this plugin's directory must be discovered by Claude Code. Install via:
curl -sSL https://raw.githubusercontent.com/chawdamrunal/assay/main/install.sh | sh
Output
After assay_finalize_scan returns, you should see:
- The verdict (
safe/caution/unsafe) - The count of surviving findings by severity
- The path to
audit.md+audit.json - A suggestion to open
assay serve(http://localhost:7373) to browse the report
Execute
Load the methodology prompt for the supplied target and follow every step in the order it specifies. The target argument is $ARGUMENTS:
@assay assay_methodology target="$ARGUMENTS"
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.
- 4d ago First seen · 50 lines · 48 tokens per session scan B 157a5630436d
assay-scan is a command published in the GitHub repository chawdamrunal/assay (4 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 48 tokens to every session and 556 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
aod.deliver
Close a completed feature with automatic documentation updates and cleanup (Triad-enhanced).
aod.document
Quality review — code simplification, docstrings, CHANGELOG, API docs (supports --autonomous).
aod.project-plan
Create implementation plan with dual sign-off (PM + Architect) - Streamlined v2.
tachi.infographic
Generate visual threat infographic specifications and images from threat model output — supports three-tier auto-detection of richest data source (compensating-controls.md > risk-scores.md > threats.md), explicit file override, and template selection.
tachi.risk-score
Run quantitative risk scoring on threat model output — produces risk-scores.md and risk-scores.sarif with four-dimensional scores, composite ratings, and governance fields.
aod.run
Run the full AOD lifecycle orchestrator — chains all 6 stages (Discover → Define → Plan → Build → Deliver → Document) with session-resilient state and governance gates at every boundary.