Systematically explore and test any software project (CLI, API, Backend, Library, etc.) to find bugs, usability issues, and edge cases. Produces a structured report with full reproduction evidence (exact commands, inputs, logs, and tracebacks) for every issue.
72
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
High
Do not use without reviewing
Systematically explore a software project, find issues, and produce a report with full reproduction evidence for every finding. This skill applies to CLIs, APIs, Backends, Libraries, and other non-web interfaces.
Identify the Target (e.g., a CLI binary, an API base URL, a Python package).
| Parameter | Default | Example override |
|---|---|---|
| Target | (required) | ./my-cli, http://localhost:8080, import mylib |
| Output directory | /tmp/dogfood-output/ | Output directory: ./qa-reports |
| Scope | Full project | Focus on the auth middleware |
1. Initialize Set up output dirs, report file, build/start the software
2. Orient Discover surface area (help menus, API schemas, exported functions)
3. Explore Systematically test features, inputs, and edge cases
4. Document Record exact inputs, outputs, and logs for each issue
5. Wrap up Update summary counts, finalize reportmkdir -p {OUTPUT_DIR}/logs {OUTPUT_DIR}/evidenceCreate a report.md in the output directory and fill in the header fields. Include:
If the software needs to be built or started (e.g., npm run build, docker-compose up, cargo build), do that now. Keep track of the startup logs and run servers in the background if necessary (e.g., using & and redirecting output).
Map out the surface area of the software before testing.
{TARGET} --help, list subcommands, check environment variable configurations.Save this initial mapping to {OUTPUT_DIR}/surface-area.txt.
Work through the surface area systematically.
At each step: Capture standard output, standard error, exit codes, and HTTP status codes.
Document issues as you find them. Do not wait until the end. Every issue must be reproducible by a human reading the report.
For each issue, capture:
curl commands), or code executed.Save verbose evidence (like full crash dumps or multi-megabyte log files) to {OUTPUT_DIR}/evidence/issue-{NNN}.txt and reference it in the report. For short errors, embed them directly in the report using markdown code blocks.
Aim to find 5-10 well-documented issues. Depth of evidence matters more than total count — 5 issues with full repros beat 20 with vague descriptions.
After exploring:
curl command, CLI invocation, or script used to trigger the bug. A reader should be able to copy-paste the commands to see the exact same failure.pwd, env vars, or local files if they are part of the repro.0 on failure, or an API returning 200 OK for an error payload, is a bug. echo $? or curl -w "%{http_code}" are your friends.If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.