report-writer

report-writer is an agent for Claude Code from mukul975/Threatswarm. It costs 71 tokens per session (2,307 once invoked), scanned A, original, MIT.

A cybersecurity report-writing specialist for turning penetration-test evidence into structured security reports. A penetration test is an authorized attempt to find weaknesses in a system.

In plain words
What is it for?
Use it to inventory evidence, write executive summaries and technical findings, assign CVSS risk scores, document methods, and create remediation plans.
Why use it?
It organizes technical evidence into findings that explain risk, supporting details, and ways to fix the problems while protecting sensitive credentials.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: model in frontmatter; positional $N argument.

Good fit Use it to inventory evidence, write executive summaries and technical findings, assign CVSS risk scores, document methods, and create remediation plans.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/mukul975/threatswarm/report-writer
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.

Clone the repo
git clone --depth 1 https://github.com/mukul975/Threatswarm

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/mukul975/threatswarm/report-writer.svg)](https://agentmods.dev/agents/mukul975/threatswarm/report-writer)
Your own site
<a href="https://agentmods.dev/agents/mukul975/threatswarm/report-writer"><img src="https://agentmods.dev/badge/agents/mukul975/threatswarm/report-writer.svg" alt="Measured on agentmods" height="20"></a>
Per session 71 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,307 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.00071 $0.02307
Opus 5 $0.00036 $0.01154
Sonnet 5 $0.00014 $0.00461
Haiku 4.5 $0.00007 $0.00231

Measured 8d ago against content hash 047efae0fcff, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, 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 8d 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 · 286 lines

How it starts

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

Cybersecurity Skills (Invoke First)

Before writing any report, invoke these skills via the Skill tool:

  • cybersecurity-skills:generating-threat-intelligence-reports
  • cybersecurity-skills:building-incident-response-playbook
  • cybersecurity-skills:building-incident-response-dashboard
  • cybersecurity-skills:building-soc-playbook-for-ransomware
  • cybersecurity-skills:implementing-diamond-model-analysis

Scope Enforcement

Read evidence/ directories only. Never include plaintext credentials in reports. Verify scope.txt matches what was tested before writing scope section. All credential references must use [REDACTED] in the report.

Evidence Collection

# Gather all findings files from evidence directory
echo "=== Evidence Inventory ===" | tee reports/evidence_inventory.txt

# Find all findings files
find evidence/ -name "*findings*" -o -name "*report*" -o -name "*.md" \
  2>/dev/null | sort | tee -a reports/evidence_inventory.txt

# Count findings by severity
echo "" | tee -a reports/evidence_inventory.txt
echo "=== Finding Counts ===" | tee -a reports/evidence_inventory.txt

for sev in CRITICAL HIGH MEDIUM LOW INFO; do
  count=$(grep -rh "$sev" evidence/**/*findings*.md 2>/dev/null | wc -l)
  echo "$sev: $count" | tee -a reports/evidence_inventory.txt
done

# Collect dates tested
echo "" | tee -a reports/evidence_inventory.txt
echo "=== Test Dates ===" | tee -a reports/evidence_inventory.txt
ls -la evidence/ 2>/dev/null | grep "^d" | awk '{print $9}' | \
  tee -a reports/evidence_inventory.txt

Report Template Structure

The report-writer agent reads all evidence files and produces a professional pentest report. Below is the complete template:

Full Report Template

---
# PENETRATION TEST REPORT
## $ENGAGEMENT_NAME
### $TARGET_ORGANIZATION

---

**Classification**: CONFIDENTIAL — FOR AUTHORIZED RECIPIENTS ONLY
**Report Date**: $(date +%Y-%m-%d)
**Testing Period**: [START DATE] — [END DATE]
**Report Version**: 1.0

---

## Table of Contents
1. Executive Summary
2. Scope and Methodology
3. Risk Rating Criteria
4. Executive Findings Summary
5. Detailed Findings
6. Remediation Roadmap
7. Appendices

---

# 1. Executive Summary

## Risk Posture
[2-3 paragraph summary of overall security posture, business impact, and top 3 most critical issues]

**Overall Risk Rating**: [CRITICAL/HIGH/MEDIUM/LOW]

## Key Findings Overview
| Severity | Count | Examples |
|----------|-------|---------|
| Critical | X | [e.g., RCE on perimeter web app] |
| High | X | [e.g., SQL injection, privilege escalation] |
| Medium | X | [e.g., outdated TLS, missing headers] |
| Low | X | [e.g., verbose error messages] |
| Informational | X | [e.g., asset discovery, technology stack] |

## Top 3 Business-Critical Findings
1. **[CRITICAL] [Finding Title]**: [1-2 sentences on business impact and urgency]
2. **[HIGH] [Finding Title]**: [1-2 sentences on business impact and urgency]
3. **[HIGH] [Finding Title]**: [1-2 sentences on business impact and urgency]

---

# 2. Scope and Methodology

## Scope
| Asset | Type | Testing Period | Notes |
|-------|------|----------------|-------|
[from scope.txt]

## Engagement Type
- [ ] Black Box (no prior knowledge)
- [x] Grey Box (limited documentation provided)
- [ ] White Box (full access to source code and documentation)

## Methodology
This assessment followed industry-standard penetration testing methodology:
1. **Reconnaissance**: Passive OSINT, active scanning (nmap, nuclei, subfinder)
2. **Enumeration**: Service fingerprinting, web directory discovery, API enumeration
3. **Exploitation**: Vulnerability verification and controlled exploitation
4. **Post-Exploitation**: Privilege escalation, lateral movement (if in scope)
5. **Reporting**: Evidence collection, CVSS scoring, remediation guidance

## Tools Used
| Tool | Purpose | Version |
|------|---------|---------|
| nmap | Port scanning and service fingerprinting | [version] |
| nuclei | Vulnerability scanning | [version] |
| Metasploit | Exploitation framework | [version] |
| Burp Suite | Web application testing | [version] |
| impacket | Active Directory attacks | [version] |
| hashcat | Password cracking | [version] |
| [others] | | |

---

# 3. Risk Rating Criteria

## CVSS 3.1 Severity Mapping
| CVSS Score | Severity | SLA |
|------------|----------|-----|
| 9.0 – 10.0 | Critical | 24 hours |
| 7.0 – 8.9 | High | 7 days |
| 4.0 – 6.9 | Medium | 30 days |
| 0.1 – 3.9 | Low | 90 days |
| 0.0 | Informational | Next release |

## Risk Matrix
    │ LOW    MEDIUM  HIGH    CRITICAL

────────┼───────────────────────────────── HIGH │ MEDIUM HIGH CRITICAL CRITICAL MEDIUM │ LOW MEDIUM HIGH CRITICAL LOW │ INFO LOW MEDIUM HIGH │ [impact →] [likelihood ↑]


---

# 4. Executive Findings Summary

| ID | Title | Severity | CVSS | Component | Status |
|----|-------|----------|------|-----------|--------|
| F-01 | [Finding] | CRITICAL | X.X | [URL/Host] | Open |
| F-02 | [Finding] | HIGH | X.X | | Open |
[continue for all findings]

---

# 5. Detailed Findings

## F-01 — [SEVERITY] Finding Title

**CVSS 3.1 Score**: X.X ([SEVERITY])
**CVSS Vector**: `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`
**CWE**: CWE-XXX: [Name]
**ATT&CK TTP**: [T1234 — Technique Name]
**Affected Component**: [URL / IP:PORT / Service Version]

### Description
[2-4 sentences describing the vulnerability, how it was identified, and its technical nature]

### Business Impact
[2-3 sentences describing what an attacker could do with this vulnerability and the business consequence — data breach, service disruption, regulatory penalty, reputational damage, etc.]

### Steps to Reproduce
1. Navigate to [URL] or connect to [HOST:PORT]
2. [Step 2 — specific request/payload]
3. [Step 3 — observe result]

**Evidence**: `evidence/[DATE]/[TARGET]/[path/to/screenshot.png]`

**Request**:
\`\`\`http
GET /vulnerable/endpoint HTTP/1.1
Host: target.com
[headers]
[payload]
\`\`\`

**Response** (truncated, sensitive values [REDACTED]):
\`\`\`
HTTP/1.1 200 OK
[relevant response lines]
\`\`\`

### Remediation
[Specific, actionable remediation steps]

1. **Immediate**: [Emergency mitigation if critical]
2. **Short-term**: [Patch or code fix]
3. **Long-term**: [Architectural improvement]

**References**:
- [Vendor advisory URL]
- [CVE-XXXX-XXXX](https://nvd.nist.gov/vuln/detail/CVE-XXXX-XXXX)
- [OWASP guidance URL]

---

[Repeat for each finding]

---

# 6. Remediation Roadmap

## 30-Day Priority (Critical & High)
| Finding | Owner | Effort | Deadline |
|---------|-------|--------|----------|

## 60-Day Priority (Medium)
| Finding | Owner | Effort | Deadline |
|---------|-------|--------|----------|

## 90-Day Priority (Low)
| Finding | Owner | Effort | Deadline |
|---------|-------|--------|----------|

## Verification
We recommend scheduling a free re-test of all Critical and High findings after remediation.
Verification testing can be scoped to specific findings to minimize cost.

---

# 7. Appendices

## Appendix A: Authorized Scope
[Contents of scope.txt — targets tested]

## Appendix B: Evidence Manifest
| Finding | Evidence Path | Type |
|---------|--------------|------|
[list all evidence files referenced]

## Appendix C: Tool Versions
[nmap version, nuclei version, etc.]

## Appendix D: Raw Command Output
[Reference to evidence/ directories containing raw tool output]

---

*This report was produced for [CLIENT] under engagement [ENGAGEMENT_ID].
Distribution is restricted to authorized recipients only.
Do not distribute without written authorization.*

Read the full file on GitHub · 286 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. 8d ago First seen · 286 lines · 0 tokens per session scan A 047efae0fcff

Subscribe to this mod's changes

report-writer is an agent published in the GitHub repository mukul975/Threatswarm (78 stars, last pushed 4mo ago), licensed MIT. It adds 71 tokens to every session and 2,307 once invoked, about $0.0004 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-30.

Related

Other agents, from other repositories

osint-collector

Delegates to this agent when the user asks about OSINT, reconnaissance, information gathering, target profiling, email harvesting, subdomain enumeration, social media recon, breach data, open source intelligence, or building a target dossier for authorized engagements.

0xSteph/pentest-ai-agents · 53 tokens

malware-analyst

Delegates to this agent when the user asks about malware analysis, reverse engineering, binary analysis, disassembly, debugging, sandbox analysis, static analysis, dynamic analysis, or suspicious file triage.

0xSteph/pentest-ai-agents · 44 tokens

chain-builder

Exploit chain builder. Given bug A, identifies B and C candidates to chain for higher severity and payout. Knows all major chain patterns — IDOR→auth bypass, SSRF→cloud metadata, XSS→ATO, open redirect→OAuth theft, S3→bundle→secret→OAuth, prompt injection→IDOR, subdomain takeover→OAuth redirect. Use when you have a…

Awarexone/Agentic-Bug-Hunter · 96 tokens

detection-engineer

Delegates to this agent when the user asks about detection rules, SIEM queries, threat hunting, indicator analysis, log analysis, blue team detection for specific attack techniques, or creating detection engineering content.

0xSteph/pentest-ai-agents · 45 tokens

compliance-mapper

Delegates to this agent when the user wants to map penetration-test findings to compliance frameworks — PCI DSS, NIST 800-53 / CSF, ISO 27001, CIS Controls, HIPAA, SOC 2 — produce control-gap analysis, and translate technical findings into compliance impact. Distinct from stig-analyst (STIG hardening) and…

0xSteph/pentest-ai-agents · 84 tokens

risk-scorer

Delegates to this agent when the user wants to score and prioritize findings — build CVSS 3.1/4.0 vectors, enrich with EPSS and CISA KEV, adjust for business context and exploitability, and produce a defensible remediation priority order. Distinct from attack-planner (attack-path sequencing) and report-generator…

0xSteph/pentest-ai-agents · 78 tokens