Agent skill
reproduce-bug
Lightweight SOP for reproducing bugs and proving whether a reported issue can be triggered. Use when Claude needs to reproduce a bug, validate a bug report, capture a repro video or screenshot, and return a clear REPRODUCED/NOT_REPRODUCED/BLOCKED result. When browser-based reproduction is needed, rely on the dogfood skill for browser setup, navigation, and evidence capture.
Install this agent skill to your Project
npx add-skill https://github.com/iamhenry/ai-project-starter-kit/tree/main/.opencode/skills/reproduce-bug
SKILL.md
Reproduce Bug
Use this skill when the goal is to reproduce a reported bug quickly and with low friction.
Keep the scope narrow:
- Prove whether the reported bug can be reproduced.
- Capture the lightest evidence that makes the result clear.
- Return a clear result with repro steps and artifact paths.
Do not use this skill for broad QA, new bug discovery, or root-cause analysis.
Preflight
Before starting any browser-based reproduction:
- Confirm the
dogfoodskill is available and read it first for browser setup and evidence capture. - If browser reproduction is needed but
dogfoodis not ready, do not loop on failing browser steps. ReturnBLOCKEDwith the missing setup or prerequisite.
Inputs
Collect only the context needed to attempt reproduction:
- bug summary
- expected behavior
- actual behavior
- starting URL, screen, command, or environment
- known repro steps, if any
- account, auth, test data, or feature flag prerequisites
If the bug report is vague, reduce it to one testable repro target before proceeding.
Modes
Choose exactly one primary mode:
browser-interactive- Use when the bug requires clicks, typing, navigation, async state changes, or a multi-step user journey.
browser-static- Use when the bug is visible on load and a screenshot is enough to prove it.
non-browser- Use when the bug is reproduced more directly through a command, API call, file output, log, or data check.
Prefer the smallest repro path that still proves the bug clearly.
Workflow
-
Define the repro target.
- State the exact behavior you are trying to trigger.
- Keep it to one bug at a time.
-
Map the shortest repro flow.
- Start from the first meaningful action.
- End at the exact failing state or at proof that the bug did not occur.
- Avoid extra setup steps unless they are required to trigger the issue.
-
Attempt reproduction.
-
For
browser-interactiveorbrowser-static, use thedogfoodskill instead of rebuilding browser repro instructions here. -
Reuse the smallest part of the
dogfoodworkflow needed to reproduce the reported bug. -
Capture
📸when a single static proof state is enough. -
Capture
🎥when the bug requires interaction or timing proof; prefer one recording for the full sequence. -
For
non-browser, run the shortest direct repro path available. -
Prefer concrete proof: failing output, wrong response, missing file, broken state, or other observable result.
-
-
Decide the result.
REPRODUCED: the reported bug was triggered and proven.NOT_REPRODUCED: the reported bug did not occur after a reasonable attempt.BLOCKED: required auth, data, environment, or tooling is missing.
-
Report the result.
Evidence Rules
- Match the evidence to the bug.
- Use screenshots for static visible issues.
- Use a single full-sequence video for interaction-heavy repros.
- Never capture secrets, tokens, private user data, or unnecessary personal information.
- If a task directory exists, store artifacts under
_ai/task/{SLUG}/reproduction/withscreenshots/andvideos/subfolders. - Always include artifact paths when evidence exists.
Output
Use this exact structure:
## Reproduction Result
- Mode: `browser-interactive|browser-static|non-browser`
- Bug: [short bug summary]
- Repro target: [exact behavior tested]
- Result: `REPRODUCED|NOT_REPRODUCED|BLOCKED`
### Repro Steps
- [short numbered or ordered steps]
### Evidence
- [artifact path or "No artifacts"]
### Notes
- [key failure point, proof point, or blocker]
### Next Action
- [fix bug / refine bug report / unblock environment]
Examples
browser-interactive: Open settings -> toggle notifications -> save -> page resets and loses the new state.browser-static: Open pricing page -> CTA text is clipped on mobile.non-browser: Run import command -> command exits successfully but no output file is created.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
verification-gate
Reusable verification gate for completed work before commit or merge. Use when implementation is done and Claude must prove the task works, verify the main user flow, choose between browser-flow, browser-static, or non-browser validation, and return a PASS/FAIL/BLOCKED verdict with evidence. When browser verification is needed, rely on the agent-browser skill for browser actions, screenshots, and recordings.
osgrep
Semantic code search using natural language queries. Use when users ask "where is X implemented", "how does Y work", "find the logic for Z", or need to locate code by concept rather than exact text. Returns file paths with line numbers and code snippets.
napkin
Maintain a per-repo napkin file that tracks mistakes, corrections, and what works. Activates EVERY session, unconditionally. Read the napkin before doing anything. Write to it continuously as you work — not just at session boundaries. Log your own mistakes, not just user corrections. The napkin lives in the repo at `.opencode/napkin.md`.
dogfood
Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.
tmux
Manage concurrent background processes using tmux. Use when spawning dev servers, running long-running tasks, monitoring multiple processes, or capturing output from background commands without blocking the main session.
viral-research
Viral content research and DNA extraction for Instagram Reels. Use this skill whenever you need to research what's performing in a niche on Instagram, find viral faceless Reels, download and analyze them frame-by-frame, identify patterns, and produce a structured research brief. Trigger whenever the user mentions viral content research, Instagram research, Reel analysis, content DNA, swipe file building, niche research, competitor analysis for social content, or wants to understand why certain content performs. Also trigger when the user wants to find content formats to adapt, study what's working in a niche, or build a research-backed content strategy. This skill is research-only — it does not generate or publish content.
Didn't find tool you were looking for?