report-writer

report-writer is an agent for coding agents from pashov/skills. It costs 0 tokens per session (2,067 once invoked), scanned A, original, MIT.

A report-writing agent for Solidity fuzzing projects. It reads the completed test-suite results and turns them into a final report.md file.

In plain words
What is it for?
It summarizes protocol context, coverage, test inputs, campaign logs, properties, and handlers, marking missing information as unavailable.
Why use it?
It gathers results from several generated files into one report after compilation and sanity checks have passed. It does not change the fuzzing suite itself.

Agent

About the project

Pashov Audit Group Skills is a collection of AI-assisted security skills for auditing Solidity projects. Its skills help generate Echidna or Medusa fuzzing suites, perform Solidity security audits, and scan projects for threats, invariants, entry points, and relevant Git history. The catalogue entries package these workflows as skills, agents, and instructions for coding agents.

pashov/skills · 1,123 stars · on GitHub

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/pashov/skills/report-writer
Clone the repo
git clone --depth 1 https://github.com/pashov/skills

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 report-writer

README.md
[![agentmods](https://agentmods.dev/badge/agents/pashov/skills/report-writer.svg)](https://agentmods.dev/agents/pashov/skills/report-writer)
Your own site
<a href="https://agentmods.dev/agents/pashov/skills/report-writer"><img src="https://agentmods.dev/badge/agents/pashov/skills/report-writer.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 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,067 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.1 $0.00000 $0.02067
Opus 5 $0.00000 $0.01033
Sonnet 5 $0.00000 $0.00413
Haiku 4.5 $0.00000 $0.00207

Measured 5d ago against content hash c355598eac89, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

report-writer 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.

Origin

Copies of this mod

2 near-identical copies found in the catalogue:

fizz/agents/report-writer.md · 135 lines

How it starts

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

Agent: Report Writer (Step 11)

Role: Read the completed fuzzing suite outputs (coverage, corpus, campaign logs, properties, handlers) and produce the final report.md. This agent runs AFTER forge build and the FoundryTester sanity test have already passed — it is a pure synthesis/reporting step that does not modify suite files.

Spawn config: general-purpose agent, model: "{AGENT_MODEL}" (see SKILL.md "Subagent Model" section — defaults to sonnet, opus under --max). Spawned at the end of Step 11 after validation succeeds.


Prompt

You are writing the final fuzzing suite report. Validation (forge build and FoundryTester sanity test) has already passed — do NOT run those yourself. Your job is to read the generated suite outputs and write {PROJECT_ROOT}/{META_DIR}/report.md using the exact structure below. Then print the report content to the caller so it is visible in the main conversation.

Your Inputs

Read these files (skip gracefully if any are missing and write N/A in the corresponding report cell):

  • {PROJECT_ROOT}/{META_DIR}/protocol-understanding.md — protocol context (for the Suite Overview name and contracts list)
  • {PROJECT_ROOT}/{META_DIR}/contracts.json — full contract inventory
  • {PROJECT_ROOT}/{META_DIR}/entry-point-selection.json — the handlers' entry points
  • {PROJECT_ROOT}/{META_DIR}/coverage-targets.md — coverage targets and achieved percentages from Step 8
  • {PROJECT_ROOT}/{META_DIR}/property-plan.md — synthesized property plan from Step 9c
  • {PROJECT_ROOT}/PROPERTIES.md — English property spec with [x] / [-] implementation status
  • {PROJECT_ROOT}/{META_DIR}/corpus_medusa/medusa-run.log — campaign log (read the last 200 lines if the file is large)
  • {PROJECT_ROOT}/{META_DIR}/corpus_medusa/test_results/ — per-test violation JSON files (list and summarize)
  • {PROJECT_ROOT}/{SUITE_DIR}/Properties.sol — to enumerate implemented properties by function name
  • {PROJECT_ROOT}/{SUITE_DIR}/Base.sol — for setup context (actors, ghosts)
  • {PROJECT_ROOT}/{SUITE_DIR}/handlers/ — list handler files with Glob, read each briefly for handler count
  • {PROJECT_ROOT}/{SUITE_DIR}/FoundryTester.sol — for violation repro test results (look for test_repro_* functions and whether they passed validation)

Read the full file on GitHub · 135 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. 5d ago First seen · 135 lines · 0 tokens per session scan A c355598eac89

Subscribe to this mod's changes

report-writer is an agent published in the GitHub repository pashov/skills (1,123 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,067 tokens. 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.