Content
96%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A dense, high-signal scanner-suite overview: executable commands with flags for all six tools, quantified detection thresholds, a signal-to-tool routing table, and explicit confirmation steps (baseline diffing, token replay, OOB callback correlation). Its single structural weakness is that the skill bundle contains only SKILL.md — the referenced scripts and payload corpora live outside it with repo-relative paths, so navigation depends on the parent project layout.
Suggestions
Ship the scanner scripts inside the skill (e.g., scripts/) or state the expected repo root once, so paths like bughunter/tools/cors_scanner.py resolve unambiguously.
Move the OOB payload catalog and LLM red-team corpus details into a references/ file (e.g., references/payloads.md) linked from the relevant sections, keeping SKILL.md a pure routing/usage overview.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is command-first and assumes expertise: no space is spent explaining what CORS, JWT, or XXE are — it jumps straight to invocations like `bughunter/tools/crlf_scanner.py "https://target.com/r?u=x" --host-header` and findings/severity ("flags a finding when status flips 401→200, body length jumps >25%"). The only trimmable token is the two-line naming lore blockquote, which still conveys scope. Matches anchor 5 ("lean and efficient; every token earns its place"); anchor 4 would require noticeable over-explanation, which is absent. | 5 / 5 |
Actionability | Every tool ships a copy-paste-ready invocation with flags and realistic placeholders, e.g. `--login https://t/api/login --user-field email --pass-field password`, `--confuse --public-key jwks_pub.pem --set role=admin`, and the llm-redteam template with `--response-path choices.0.message.content`. Detection criteria are quantified (delay ≥3.5 s, body-length >25%). Matches anchor 5 ("fully executable; specific examples cover the common cases"). | 5 / 5 |
Workflow Clarity | Sequencing and validation are explicit: a routing table maps target signals to tools; nosqli sends "a wrong-credential baseline first" before flagging flips; JWT steps end with "Replay the forged token against an authed endpoint — acceptance = auth bypass / privesc"; and /oob is a numbered 3-step listen → fire → correlate loop with "acceptance = proof" framing ("without OOB you cannot *prove* blind SSRF..."). These are real validation checkpoints, so the batch-operation cap (score ≤3 without validation) does not apply; matches anchor 5's explicit validation and feedback loop. | 5 / 5 |
Progressive Disclosure | The single file is well-sectioned (routing table, one section per tool, CHAINS) and cross-references are one level deep and clearly signaled ([takeover](../../commands/takeover.md), [web2-vuln-classes §11](../web2-vuln-classes/SKILL.md)). However, no bundle files exist (no references/, scripts/, assets/): the scanner scripts live under `bughunter/tools/` outside the skill, tool paths assume an unstated repo root, and material that could live in reference files (the LLM payload corpus, OOB payload catalog) is only implied via tool output. Good structure with minor organization gaps — anchor 4; anchor 5 would require well-signaled in-bundle references or a genuinely self-contained split. | 4 / 5 |
Total | 19 / 20 Passed |