agentsclimarketplace

Report writer

Skill amansingh909/claude-bounty-skills/skills/report-writer

Claude Code skills for bug bounty hunting and security-auditing web apps you own — recon, scope, report, triage, self-audit. Judgment, not tool wrappers.

Install
npx -y skills add amansingh909/claude-bounty-skills --skill report-writer

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 29 days oldThe repository was created 29 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when writing up a security vulnerability finding for a bug bounty program (HackerOne, Bugcrowd, Intigriti) or a disclosure — turns raw notes about a bug into a structured, triage-ready report with proper impact framing. Symptoms: "how do I write this up", "draft a report", "submit this finding", messy repro notes that need formatting.

SKILL.md

5.0 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

report-writer

Overview

Turn a hunter's raw finding — the bug, what they did, what happened — into a clean, triage-ready vulnerability report. Triagers skim fast and reject reports that are vague, missing repro steps, or that overstate impact. A well-structured report with realistic, clearly-argued impact gets triaged faster and rated higher.

Core principle: A report's job is to let a triager reproduce the bug and understand its impact in under two minutes, without asking follow-up questions.

When to Use

  • The user has found a bug and needs to submit it to a program.
  • The user has messy notes ("I changed the id param and got another user's data") that need to become a real report.
  • The user asks to "write up", "draft", or "format" a finding.

When NOT to use: for triaging/prioritizing recon output (that's recon-triage), or for deciding whether a target is in scope (that's scope-check).

Required Inputs — Ask If Missing

Do not fabricate any of these. If the user hasn't provided one, ask for it before writing the report:

  1. Vulnerability type (e.g. IDOR, reflected XSS, SSRF, broken access control)
  2. Affected asset — exact URL/endpoint/parameter, and which program
  3. Reproduction steps — the actual sequence performed
  4. Observed result — what proved the bug (the response, the data leaked)
  5. Impact — what a malicious actor could actually do with this

If impact is unclear, help the user reason about it from the vulnerability type and affected asset — but never invent capabilities that the evidence does not support. Overstated impact gets reports rejected.

Report Structure

Produce the report in this order. Use the full template in report-template.md for the exact section layout and a worked IDOR example.

  1. Title<Vuln type> on <asset> allows <impact>. Specific, not "XSS found".
  2. Summary — 2–3 sentences: what the bug is, where, and why it matters.
  3. Steps to Reproduce — numbered, copy-pasteable, starting from a clean state. Include exact requests (method, path, headers, body) where relevant.
  4. Proof of Concept — the request/response or payload that demonstrates it. Redact real victim data; use the hunter's own second account instead.
  5. Impact — concrete, realistic consequences. Tie to CVSS if the program uses it, but explain in plain terms first.
  6. Classification — the CWE ID (e.g. CWE-639 for IDOR) plus the program's own taxonomy: a HackerOne weakness, a Bugcrowd VRT category, or an Intigriti type. Not every program uses CVSS — if it uses Bugcrowd's VRT or a custom rating, map to that instead of forcing a CVSS vector.
  7. Remediation — the standard fix for this class of bug, specific to what was seen.

Severity Guidance

Suggest a severity, but frame it as a suggestion and justify it:

SignalPushes severity upPushes severity down
Data accessedPII, credentials, financialPublic/non-sensitive data
Auth requiredNone (unauthenticated)Admin/privileged only
Scope of impactAny user, mass exploitableSelf-only, single record
PreconditionsNoneUser interaction, rare config

State the reasoning ("unauthenticated access to other users' PII → High/Critical") so the triager can agree or adjust, rather than asserting a number.

Common Mistakes

  • Overclaiming impact. "Full account takeover" when you only read one non-sensitive field. Triagers downgrade and lose trust. Claim exactly what the evidence shows.
  • Vague repro. "Change the id and you get other data." Give the exact request and the exact response field that proves it.
  • Real victim data in the PoC. Use two accounts you control. Never include another real user's data.
  • No clean starting state. Steps that assume prior setup the triager doesn't have. Start from login/fresh.
  • Missing the "so what". A bug with no articulated impact reads as a non-issue. Always connect the technical fact to a real-world consequence.

Continuity (session log)

If a local engagement log for this program exists (notes/<program>.md in your working directory — gitignored, one file per program), read it first for prior findings and context, then append the finished report (or a note of where you saved it). Only read a log that's actually present — never invent past findings.

Ethics

Only write reports for testing the user is authorized to do — an active program they are enrolled in, or a target they own. If the finding describes testing that appears out of scope or unauthorized, say so and stop.

What ships with it: 1 file

3.4 KB alongside SKILL.md

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.