Agent skill

Write

by yeswehack in yeswehack/claude-kit

Structure and per-section format reference for a bug bounty report, aligned with YesWeHack's official guidance.

GPL-3.0Auto-check passedSecurity

Install Write

skills CLI
$ npx skills add yeswehack/claude-kit --skill write -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yeswehack/claude-kit write --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yeswehack/claude-kit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/write .claude/skills/write && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
write
GitHub stars
107
Token cost
~2.1k tokens
SKILL.md length
1,105 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
GPL-3.0

At a glance

Structure and per-section format reference for a bug bounty report, aligned with YesWeHack's official guidance.

  • Works in 7 steps: Description → Vulnerability discovery → Proof of Concept (PoC) → …
  • The hunter is writing up a confirmed finding and needs the format
  • SKILL.md covers Required body sections (in…, 1. Description, 2. Vulnerability discovery and 3. Proof of Concept (PoC), plus 8 more sections
  • Calls go

What it does

Write is an agent skill from yeswehack/claude-kit. Structure and per-section format reference for a bug bounty report, aligned with YesWeHack's official guidance. Use when the hunter is writing up a confirmed finding and needs the format. Triggers on "Here is my report", "help me write this up", "what sections do I need", "how should I structure this", "I'm writing the report now", or when reviewing a draft missing key sections.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Security, covering Bug bounty. The repository describes itself as: Claude Code plugin for writing triager-grade bug bounty reports. The licence is GPL-3.0.

When your agent uses it

  • The hunter is writing up a confirmed finding and needs the format
  • Here is my report
  • Help me write this up
  • What sections do I need

Example prompts

  • “Here is my report”
  • “help me write this up”
  • “what sections do I need”
  • “/write”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Description
  2. Vulnerability discovery
  3. Proof of Concept (PoC)
  4. Exploitation
  5. Impact
  6. Remediation (optional)
  7. References (optional — usually omit)

What it can do on your machine

Read from SKILL.md and the folder at commit 3928c34. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • yeswehack.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Write loads about 2.1k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 1,105 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~97
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from yeswehack/claude-kit at commit 3928c34, republished under its GPL-3.0 licence (© yeswehack). 1,105 words, ~2,126 tokens.

Download SKILL.mdSave it as .claude/skills/write/SKILL.md (or your agent's skills folder).
name
write
description
Structure and per-section format reference for a bug bounty report, aligned with YesWeHack's official guidance. Use when the hunter is writing up a confirmed finding and needs the format. Triggers on "Here is my report", "help me write this up", "what sections do I need", "how should I structure this", "I'm writing the report now", or when reviewing a draft missing key sections.

Write a triager-grade report

Apply this when the hunter is writing up a confirmed finding. Your job is to help them shape the draft — propose prose from their facts, offer alternatives for any section, push back on missing content.

Structure follows YesWeHack's official guidance (https://www.yeswehack.com/fr/learn-bug-bounty/write-effective-bug-bounty-reports). Platform-level fields (title, asset, severity, CVSS) are filled in via the YesWeHack submission form, not the markdown body — see end of this skill.

Required body sections (in order)

  1. Description
  2. Vulnerability discovery
  3. Proof of Concept (PoC)
  4. Exploitation
  5. Impact
  6. Remediation (optional)
  7. References (optional)

If a required section is missing, ask the hunter for it before continuing.


1. Description

  • 1-3 sentences. What the bug is, factual and specific.
  • Do not put a CWE ID here. YesWeHack renders the CWE from the form field automatically — repeating it in the body is noise.
  • No multi-paragraph OWASP intro, no "what is XSS" boilerplate.

Good: Reflected XSS in /search via the q parameter. The parameter is echoed unescaped into the HTML response body. Bad: 5-line definition of what XSS is; a (CWE-79) tag inline.

2. Vulnerability discovery

  • Your testing narrative — what you tried, what you noticed, what made you dig in.
  • Lab-notes style. Dead ends and friction are credible signals; keep them.
  • Brief: a paragraph is usually enough.

Good: "Fuzzing the search endpoint with a custom wordlist, I noticed <script> was filtered but <svg/onload=...> wasn't. After confirming reflection context was the HTML body, I tested alert(document.domain) to verify same-origin execution." Bad: a polished narrative with no failed attempts.

3. Proof of Concept (PoC)

  • Raw HTTP request/response — preferred. Triager pastes into Repeater.
  • curl — acceptable. Complete: headers, cookies, body.
  • Screenshot — when visual proof matters (alert dialog, UI rendering). Always paired with the request that produced it.
  • Video — for multi-step flows or timing-dependent bugs.
  • Strip session tokens, real user data (PII), unrelated headers. Use [REDACTED] where you removed something. Sanitize; don't fabricate.

Include only the requests that are strictly necessary to reproduce. A triager wants the minimal path, not your whole session. Cut recon noise, unrelated calls, and duplicate attempts.

Don't wrap the PoC in a ready-made script unless it's genuinely needed (real multi-step chains, timing/race windows, thousands of iterations). For a bug provable in one or two requests, a raw request beats a Python script every time — the triager can replay it directly without reading, trusting, or running your code. Reach for a script only when raw requests can't express the bug.

A PoC is valid only if a triager with zero prior context can replay it from scratch.

4. Exploitation

  • Numbered steps, one action per step.
  • Atomic: each step is a single observable action a triager performs verbatim, no inference required.
  • State preconditions upfront: anonymous or authenticated? which role? required victim interaction? required browser/environment?
  • Include expected vs actual at the step where the bug manifests.
  • For complex bugs, a script is acceptable as a supporting artifact (per YesWeHack guidance) — but the markdown still needs atomic steps.

Good:

Preconditions: standard logged-in user (any role), no special
privileges. Tested in Chrome 132.

1. Send GET https://target.example.com/search?q=<svg/onload=alert(1)>
2. Observe: alert(1) fires in the response page.
   Expected: the payload HTML-encoded in the response.

Bad: Go to the search page and trigger the XSS.

5. Impact

  • Only what was demonstrated. Never theoretical.
  • Bottom-up from the PoC: "I executed X, observed Y at Z."
  • No "could", "may", "potentially", "with the right conditions".
  • If only reflection was proven, don't claim ATO.

Good: Arbitrary JS execution in the victim's browser in the target.example.com origin. I demonstrated reading document.cookie and exfiltrating it to a controlled endpoint (PoC step 4). Bad: Could lead to full account takeover, session hijacking, and exfiltration of sensitive user data.

6. Remediation (optional)

Include only if:

  • You know the target's stack and have framework-specific advice, OR
  • The fix is concrete and trivially correct (e.g., "HTML-encode the q parameter before reflection in /search/index.html").

Generic mitigations ("validate user input", "use parameterized queries", "follow OWASP guidelines") add zero value. Omit rather than padding.

Show full SKILL.md (478 more words)Show less

7. References (optional — usually omit)

Most reports don't need this section. YesWeHack already renders the CWE (and any CVE you set in the form) automatically, so a References block that only links a CWE/CVE is pure padding — drop it.

Add References only when there's a genuinely useful external pointer the triager would otherwise have to hunt for:

  • A specific vendor advisory for the exact issue.
  • A public write-up of the precise technique your chain relies on.
  • One line per reference, no commentary.

Do not add a References section just because the template has a slot, and never add it solely to restate the CWE.


Platform fields (the YesWeHack form, not the markdown body)

These are filled via the submission form, not the markdown — but they are slop-prone, so verify them in your review:

  • Title — <vuln class> in <location> via <param/header>, < 100 chars, no marketing words. Good: Reflected XSS in /search via q parameter. Bad: Critical vulnerability found in user search.
  • Affected asset — exact URL/component matching the program's scope. If multiple, list each. Verify against the wildcard.
  • Severity / CVSS — use CVSS 3.1 and score with Base metrics only. Give the full Base vector and justify each metric by what you actually verified. Leave Temporal and Environmental metrics untouched: Environmental reflects the target's own deployment context, which is the program's call to weigh, not the hunter's — setting them yourself inflates the score and reads as an overclaim.

Sections to OMIT from the body

  • Introduction / Background — collapse into Description.
  • Executive summary — Description covers it.
  • Multi-paragraph CWE/OWASP explanations — link in References, don't define inline.
  • Conclusion — the report ends at References (or earlier if omitted).
  • Acknowledgements / About the researcher — not the place.
  • Generic mitigation paragraphs — see Remediation rules.

Anti-patterns to flag in the draft

  • Sections present but empty / "TBD" / "see PoC".
  • Steps that say "trigger the vulnerability" — not atomic.
  • Impact section longer than the PoC.
  • Severity vector that doesn't match the preconditions (e.g., PR:L claimed when self-registration is open and PR:N applies).
  • Repro steps that reference a screenshot instead of giving the URL.

Watch your own output for AI-slop patterns (theoretical impact, structural tics, OWASP boilerplate, confidence without evidence) — this skill structures the report, it does not exempt you from slop checks. The full checklist lives in triage's references/ai-slop.md.

Hard rules

  • Draft from the hunter's facts, never around gaps. Propose phrasings, convert lab notes into structured sections, offer alternatives — but only when the hunter has provided the underlying facts (URL, payload, response, observed behavior). If a fact is missing, ask. Do not invent or extrapolate.
  • Offer alternatives, not single answers. 2-3 options per proposed phrasing. Forces the hunter to author.
  • Do not fill empty sections with plausible text. Empty is honest; fabricated is a slop trap.
  • Do not auto-add Remediation or References just because the structure has a slot. Optional means optional.
  • When the hunter asks "is this ready?" → hand off to triage.

© yeswehack, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/write of yeswehack/claude-kit.

Open the folder on GitHubat commit 3928c34

Compare with similar skills

Write next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Write compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Write this skillyeswehack/claude-kit107—~2.1kAutomated safety check: PassGPL-3.0
Web3 Smart Contract Auditawarexone/Agentic-Bug-Hunter5.3k3 repos~4.5kAutomated safety check: PassMIT
Bug Bounty Hunting Methodologyawarexone/Agentic-Bug-Hunter5.3k2 repos~4.7kAutomated safety check: PassMIT
Metabigor OSINT Reconj3ssie/metabigor1.9k—~2.4kAutomated safety check: PassMIT
Wooyun Legacytanweai/wooyun-legacy1.8k—~1.9kAutomated safety check: PassCustom licence
Client Request Signature Reversalawarexone/Agentic-Bug-Hunter5.3k—~4.7kAutomated safety check: PassMIT

Similar skills

  • Web3 Smart Contract Audit

    awarexone/Agentic-Bug-Hunter

    Guides smart contract audits and bounty target selection with ten DeFi bug classes, kill signals, a Foundry PoC template and grep patterns.

    5.3k GitHub starsUsed in 3 repos~4.5k tokens
    SecurityAuto-check passed
  • Bug Bounty Hunting Methodology

    awarexone/Agentic-Bug-Hunter

    Orchestrates a bug bounty session with a 5-phase workflow and a critical-thinking framework covering developer psychology, anomaly detection and What-If experiments.

    5.3k GitHub starsUsed in 2 repos~4.7k tokens
    SecurityAuto-check passed
  • Metabigor OSINT Recon

    j3ssie/metabigor

    Operates the metabigor CLI to map a target's network ranges, subdomains, ports, related domains, CDNs and archived URLs from free sources without API keys.

    1.9k GitHub stars~2.4k tokensUpdated 2 mo ago
    SecurityAuto-check passed
  • Wooyun Legacy

    tanweai/wooyun-legacy

    WooYun business logic vulnerability methodology — 22,132 real cases across 6 domains (authentication bypass, authorization bypass, payment tampering, information disclosure, logic flaws…

    1.8k GitHub stars~1.9k tokensUpdated 2 mo ago
    SecurityAuto-check passed
  • Client Request Signature Reversal

    awarexone/Agentic-Bug-Hunter

    Recovers a client-side request signature or anti-bot token just far enough to replay blocked requests in bug bounty testing, starting from a captured packet.

    5.3k GitHub stars~4.7k tokensUpdated 3 days ago
    SecurityAuto-check passed
  • Web3 Bug Bounty AI Tools

    tradecatlabs/vibe-coding-cn

    A selection guide to AI-driven tools for Web3 bug bounty work, from autonomous web pentesters to smart contract bug finders, with notes on authorization.

    17k GitHub starsUsed in 2 repos~3.9k tokens
    SecurityAuto-check: warnings

More from yeswehack/claude-kit

  • Triage

    yeswehack/claude-kit

    Self-validates a bug bounty report draft before submission. An agent skill from yeswehack/claude-kit.

    107 GitHub stars~1k tokensUpdated 1 mo ago
    Auto-check passed
  • Gotchas

    yeswehack/claude-kit

    Reference table of per-class false-positive patterns, minimum proof requirements, and impact overclaim traps.

    107 GitHub stars~4.3k tokensUpdated 1 mo ago
    Auto-check: warnings

Categories

Questions about Write

What does Write do?

Structure and per-section format reference for a bug bounty report, aligned with YesWeHack's official guidance. Write is an agent skill from yeswehack/claude-kit. Structure and per-section format reference for a bug bounty report, aligned with YesWeHack's official guidance.

When should I use Write?

Write fits situations like: the hunter is writing up a confirmed finding and needs the format; here is my report; help me write this up; what sections do I need.

How do I install Write in Claude Code?

Run `npx skills add yeswehack/claude-kit --skill write -a claude-code`. Or copy the skill folder (skills/write in yeswehack/claude-kit) into .claude/skills/write in your project. Claude Code loads it when a task matches its description.

How do I install Write in Codex?

Run `npx skills add yeswehack/claude-kit --skill write -a codex`. Or copy the skill folder (skills/write in yeswehack/claude-kit) into .agents/skills/write in your project. Codex loads it when a task matches its description.

Can I use Write in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yeswehack/claude-kit --skill write -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/write, .gemini/skills/write, .github/skills/write and .opencode/skills/write in your project.

What does Write need to run?

Going by SKILL.md and its folder, Write needs the command-line tools its instructions call (go). Our summary lists: Python 3.

Does Write access the network?

SKILL.md names 1 domain. As links in the text: yeswehack.com. This is read from the text; nothing was executed.

Is Write safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Write use?

Write is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Write use?

About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Write?

Skills that share tags, products or a category with Write: Web3 Smart Contract Audit (awarexone/Agentic-Bug-Hunter, 5.3k stars), Bug Bounty Hunting Methodology (awarexone/Agentic-Bug-Hunter, 5.3k stars), Metabigor OSINT Recon (j3ssie/metabigor, 1.9k stars) and Wooyun Legacy (tanweai/wooyun-legacy, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Write?

yeswehack (a GitHub organization) maintains it in yeswehack/claude-kit, which has 107 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 25, 2026.

Source: yeswehack/claude-kit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.