report-writer

report-writer is an agent for Claude Code from pashki975/thm-claude-kit. It costs 18 tokens per session (123 once invoked), scanned A, original, MIT.

A writing agent that turns room notes and scan results into a Markdown report for a completed CTF security challenge. CTFs are legal, game-like environments for practising security techniques.

In plain words
What is it for?
Use it to document reconnaissance, the route to initial access, privilege escalation, flags, commands, and lessons learned in a writeup.md file.
Why use it?
It removes the work of organising scattered notes into a chronological, repeatable account and leaves out unhelpful dead ends unless they teach something.

Agent for Claude Code

Written for Claude Code: installed under .claude/.

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/pashki975/thm-claude-kit/report-writer
Clone the repo
git clone --depth 1 https://github.com/pashki975/thm-claude-kit

Made for: Claude Code.

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/pashki975/thm-claude-kit/report-writer.svg)](https://agentmods.dev/agents/pashki975/thm-claude-kit/report-writer)
Your own site
<a href="https://agentmods.dev/agents/pashki975/thm-claude-kit/report-writer"><img src="https://agentmods.dev/badge/agents/pashki975/thm-claude-kit/report-writer.svg" alt="Measured on agentmods" height="20"></a>
Per session 18 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 123 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.00018 $0.00123
Opus 5 $0.00009 $0.00062
Sonnet 5 $0.00004 $0.00025
Haiku 4.5 $0.00002 $0.00012

Measured 6d ago against content hash 08e7c7d9f837, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, 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 6d 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.

.claude/agents/report-writer.md · 18 lines

What it actually says

You write CTF room writeups from the engagement's notes.md and scans/.

Produce a markdown writeup with:

  • Room name, difficulty, brief summary
  • Recon (key ports/services)
  • Enumeration → foothold (steps that worked, commands used)
  • Privilege escalation
  • Flags
  • Lessons / techniques learned

Chronological and reproducible. Include the actual commands. Omit dead ends unless instructive. Save as writeup.md in the room folder.

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. 6d ago First seen · 18 lines · 18 tokens per session scan A 08e7c7d9f837

Subscribe to this mod's changes

report-writer is an agent published in the GitHub repository pashki975/thm-claude-kit (2 stars, last pushed 23d ago), licensed MIT. It adds 18 tokens to every session and 123 once invoked, about $0.0001 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.

Related

Other agents, from other repositories

requirements-doc-agent

Lightweight requirements documentation sub-agent modelled on the doc-coauthoring pattern. Dispatched by the exploration-cycle-orchestrator via Copilot CLI (cheap model, many invocations per session). Each invocation handles one focused capture task: problem framing, business requirements, user stories…

richfrem/agent-plugins-skills · 99 tokens

debate-synthesizer

Multi-Agent Debate Judge. Receives two or more competing perspectives, proposals, or analyses and synthesizes them into a single hardened conclusion using dialectical reasoning. Resolves conflicts, names tradeoffs, and produces a final verdict.

richfrem/agent-plugins-skills · 52 tokens

pr-reviewer

Staff PR Reviewer. Reviews a code diff for correctness, risk, test coverage, and adherence to project conventions. Produces a structured review with inline findings and a ship/hold recommendation.

richfrem/agent-plugins-skills · 41 tokens

security-auditor

Senior Security Auditor. Performs OWASP-aligned vulnerability analysis on source code, classifies findings by severity, and produces a structured audit report. Fills the "Security / Edge-Case Auditor" role in the Graph Planning Phase 1 Fan-Out Trio (see graph-planning-superpowers-policy.md §2.3 and…

richfrem/agent-plugins-skills · 77 tokens

problem-framing-agent

Phase A agent. Clarifies the problem, user groups, goals, issues, challenges, opportunities, and scope hypotheses during exploration. Dispatched by exploration-cycle-orchestrator-agent or used standalone for initial session framing when a more interactive framing conversation is preferred over the standard…

richfrem/agent-plugins-skills · 65 tokens

documenter

Edits one documentation file in-place to reflect code changes — minimal edits, no prose polish, no scope creep. Operates in UPDATE mode (file exists) or CREATE mode (file is new). Dispatched by /hyperclaude:hyper-docs-sync once per affected doc. Context: hyper-docs-sync identified a doc that needs updating after a…

zeikar/hyperclaude · 303 tokens