reproduce-bug-report

作者: warpdotdev

启动Oz云代理,通过计算机操作复现UI相关的错误报告,捕获视觉证据,并报告复现结果。在调查来自问题、工单、支持报告或提示中的特定交互或视觉错误时使用。

npx skills add https://github.com/warpdotdev/common-skills --skill reproduce-bug-report

Reproduce bug report

Use this skill when the current context is a GitHub issue, support report, Linear ticket, or user prompt describing a specific bug that may be reproduced through visible application behavior. It is primarily for UI, rendering, windowing, settings, editor, terminal-display, onboarding, or other interactive bugs where a screen recording (or screenshots) makes the result more actionable.

The parent agent should not try to manually reproduce the UI bug locally unless the user explicitly asks. Launch one or more Oz cloud agents with computer use enabled so they can run the relevant app, interact with it, and capture visual evidence.

Parent workflow

  1. Read the bug report carefully and extract:
    • reported behavior
    • expected behavior
    • reproduction steps, if provided
    • OS, app version/build/channel, shell, feature flags, account state, or other environment constraints when relevant
    • attached screenshots, videos, logs, or comments that narrow the repro path
  2. Decide whether this skill applies:
    • Use it for UI-visible bugs, interaction bugs, rendering/layout bugs, onboarding bugs, and bugs where a screen recording (or screenshots) would be useful.
    • Do not use it for purely backend, CI, build, dependency, or text-only code issues unless the prompt specifically asks for visual reproduction.
    • If the report requires credentials, private account state, or another capability not available to the repro environment, report that constraint clearly instead of guessing.
  3. If the reproduction path is straightforward, launch one Oz cloud agent with computer use.
  4. If there are multiple plausible repro paths, launch several Oz cloud agents in one run_agents batch. Give each child a distinct hypothesis or environment variant, such as:
    • different OS or desktop environment
    • fresh first-run state vs an already-initialized local state
    • stable vs dev build
    • fresh settings vs existing settings
    • different shells, prompts, pane layouts, or settings toggles
  5. If steps are incomplete, use codebase knowledge to propose likely app states and assign children to investigate those states. Do not invent facts about the original reporter's environment.
  6. Wait for all children to report before summarizing. Distinguish confirmed reproduction, partial reproduction, non-reproduction, blockers, and untested hypotheses.

Version and app setup

  • Prefer reproducing against the exact app version/build/channel reported by the user when a suitable runnable artifact exists.
  • Do not silently substitute the latest available build when a closer reporter-matched artifact can be installed.
  • Prefer a released or packaged runnable artifact over a source build when that better matches the reporter's environment and the repository-specific guidance allows it.
  • If the exact version/build cannot be found or installed, report that clearly, explain what was attempted, and use the closest justified fallback only when it is useful for continuing the investigation.
  • Record the requested reporter version, the installed test version, the artifact source, and any fallback decision in the manifest and final report.

Repository-specific guidance

The consuming repository may ship a companion reproduce-bug-report-local skill. When that companion is available or referenced in the prompt, read it and apply its repository-specific scope, app setup, environment, and workflow guidance as supplemental instructions. The local companion may narrow scope or specialize setup, but it should not redefine the evidence, artifact, reporting, or safety expectations in this core skill.

Use a run_agents call shaped like this:

summary: Launching Oz cloud computer-use agents to reproduce the reported UI bug and capture a screen recording.
remote.computer_use_enabled: true
agent_run_configs:
- name: "repro-primary"
  prompt: the primary repro prompt
- name: "repro-variant"
  prompt: optional variant prompt when useful
base_prompt: the shared child prompt below

Omit extra children when they would duplicate the same steps. Omit model_id unless the user requested a specific model.

Shared child prompt

Give every child agent these shared instructions, then append the child-specific repro path or hypothesis.

You are trying to reproduce a reported UI bug using Oz cloud computer use.

Goal:
- Reproduce the reported behavior as faithfully as possible.
- Capture a screen recording of the reproduction by default; most UI bugs involve motion, a transition, or a multi-step interaction, so a clip is stronger proof than stills. Capture screenshots as a supplement, or as the primary artifact only for a genuinely static render.
- If the provided steps are unclear or incomplete, use codebase and product knowledge to identify plausible app states that could produce the reported behavior, then test the assigned hypothesis.
- Report clear reproduction evidence, not just opinions.

Inputs:
- Bug report context: <paste or summarize the issue body, comments, screenshots/video descriptions, labels, and relevant metadata>
- Assigned repro path or hypothesis: <specific steps, environment, app state, settings, feature flags, or code path to test>
- Reporter app version/build/channel: <exact value from the report, or unknown>
- Build/app target: <exact runnable artifact to install, or the justified fallback if exact artifact is unavailable>

Safety and privacy:
- Do not ask the public reporter for credentials, tokens, private repos, private workspace names, or private account identifiers.
- Do not include secrets, auth tokens, private URLs, Authorization headers, refresh tokens, or other private account details in recordings, screenshots, logs, manifests, or final reports.
- Do not create or sign into an account unless the prompt and repository-specific guidance explicitly authorize a safe test-auth workflow.
- If the assigned report cannot be exercised within the allowed auth/state constraints, stop and report the blocker.
- Do not post comments to GitHub, Linear, or external services unless explicitly instructed. When a Slack thread context is provided (a channel id and thread), post the reproduction proof (the recording) back to that thread so the requester sees it; do not post to any other channel or service.
- Avoid destructive actions. If a repro requires deleting app state, delete only test state for the current repro environment and report exactly what was reset.

Artifact workflow:
- Create a dedicated artifact directory named for your variant, such as `~/bug-repro-primary`.
- Record a screen recording of the reproduction by default and save it in the artifact directory with a descriptive name such as `repro.mp4`.
- Capture screenshots as a supplement (or as the primary artifact only for a genuinely static render) with ordered filenames, such as `01-initial-state.png`, `02-before-click-settings.png`, and `03-after-click-settings.png`.
- Maintain a short manifest in the artifact directory with:
  - recording or screenshot filename
  - timestamp
  - visible app state
  - action just taken or about to be taken
  - whether the screenshot shows the reported bug
- If the harness supports built-in screenshot or artifact upload, use it. Otherwise leave artifacts in the directory and report the paths.

Reproduction workflow:
1. Confirm the environment you are testing: OS, architecture, display/session type, shell if relevant, and app/build/version if visible.
2. Identify the exact reporter app version/build/channel from the report when available, then use the closest repository-approved runnable artifact.
3. If no exact reporter version is available, record that the version is unknown and choose the most defensible install target for the report; state the fallback explicitly.
4. Start from the cleanest state that matches the report. Do not reset app state if the bug depends on existing settings or persisted local state.
5. Reach the baseline app state required by the report before attempting the bug-specific reproduction.
6. Start the screen recording and capture a baseline screenshot before attempting the bug-specific reproduction.
7. Follow the exact provided bug reproduction steps first, when available.
8. If exact steps do not reproduce, test the assigned hypothesis and document where it diverges from the report.
9. If the bug appears, stop changing variables and capture enough evidence to make the reproduction actionable.
10. If the bug does not appear, make at most two targeted variations that are directly supported by the report or code-path hypothesis.
11. If the app crashes, hangs, or blocks progress, capture a screenshot and collect non-sensitive logs or terminal output that explain the blocker.

Code-path investigation for unclear steps:
- Search the codebase for UI strings, labels, feature names, settings keys, telemetry names, route names, and components mentioned in the report.
- Identify the likely component, model, feature flag, or state transition that could produce the reported behavior.
- Use that investigation to choose targeted UI actions rather than broad exploratory clicking.
- Report the files or symbols that informed your hypothesis, but keep the final report focused on reproduction evidence.

Report back:
- A brief bug summary before the verdict, including the issue/report identifier if available, the reported behavior, and the expected behavior.
- Reproduction status: confirmed, partially confirmed, not reproduced, or blocked.
- The exact steps you performed.
- Environment and app/build information.
- Reporter-requested app version/build/channel, installed test version/build/channel, and the artifact source or fallback explanation.
- Whether the observed behavior matched the report, and how closely.
- The screen recording (and any supplementary screenshots) with short descriptions and artifact paths or attachment names.
- Any logs, crash output, or diagnostics collected, with secrets redacted.
- The most likely code path or state involved, if investigated.
- Suggested next debugging step or follow-up question, only if it would materially change the next action.

Child prompt patterns

Primary repro child

Use this for a report with clear steps:

You own the primary reproduction attempt.

Follow the bug report's steps exactly before trying variants. Prioritize matching the reporter's OS, app channel, allowed app state, settings, shell, and layout. If those details are missing, choose the most common path and explicitly list assumptions.

Variant child

Use this when there is a specific alternate condition worth testing:

You own this reproduction variant: <variant name>.

Test only this variant's assigned environment or state. Do not duplicate the primary child's full search space. Report whether this variant changes the outcome and include screenshots for any difference.

Code-path hypothesis child

Use this when repro steps are missing or ambiguous:

You own code-path-guided reproduction.

Start by tracing likely code paths from strings, UI labels, settings names, feature names, or screenshots in the report. Then choose a targeted UI path that should exercise the suspected state. Report the code paths you used to form the hypothesis and the visual result of testing it.

Success criteria

A successful use of this skill produces:

  • A confirmed reproduction with a screen recording (and screenshots where useful) and exact steps, or a well-scoped non-reproduction with tested assumptions.
  • Clear artifact paths or attachments for visual evidence.
  • A concise summary of which variants were tested and which were not.
  • Enough environment detail for an engineer to repeat the test.
  • No leaked secrets, credentials, private account details, or unnecessary public comments.

Summary format

When the children finish, summarize in this structure:

Bug summary:
- Issue/report: <identifier or source>
- Reported behavior: <what bug the child attempted to reproduce>
- Expected behavior: <what should have happened instead>
Reproduction status: <confirmed | partially confirmed | not reproduced | blocked>

What was tested:
- <variant/child>: <steps and environment>

Evidence:
- <screenshot/artifact path>: <what it shows>

Findings:
- <observed behavior vs reported behavior>
- <likely state/code path, if known>

Next step:
- <one concrete debugging action or follow-up question>

来自 warpdotdev 的更多技能

council
warpdotdev
运行一个模型多样化的子代理委员会,从多个角度调查同一问题,比较发现,并生成最终建议。当用户要求委员会、第二意见、多个代理/模型评估一个问题、并行调查、红队/蓝队对比,或帮助在竞争性技术方案中做出决策时,使用此技能。
researchcommunicationproject-management
spec-driven-implementation
warpdotdev
通过先编写PRODUCT.md再实现、必要时编写TECH.md,并在实现过程中持续更新两份规范,推动以规范为先导的工作流程,用于开发重要功能。适用于启动重大特性、规划由智能体驱动的实现,或用户希望将产品和技术规范纳入源代码管理时。
developmentdocumentproject-management
review-pr
warpdotdev
审查拉取请求的差异,并撰写结构化反馈,写入review.json以供工作流发布。适用于审查从本地工件(如pr_diff.txt和pr_description.txt)检出的PR,并生成机器可读的审查输出,而非直接发布到GitHub。
code-reviewdevelopment
create-pr
warpdotdev
在当前分支的warp仓库中创建一个拉取请求。当用户提到打开PR、创建拉取请求、提交更改以供审查或准备合并代码时使用。
developmentcode-review
implement-specs
warpdotdev
实现PRODUCT.md和TECH.md中已批准的功能,在同一个PR中随着实现进展保持规格与代码对齐。在产品和技术规格获批、下一步是构建功能时使用。
developmentcode-reviewapi
cross-critique
warpdotdev
对有争议的问题进行第二轮讨论,将每个子代理的独立提案分发给其他作者,并要求给出结构化的优缺点,然后进行综合。当你对某个有争议的决策(如架构权衡、代码审查分歧、设计选择、相互矛盾的根因理论)有多个独立提案或意见,并且希望获得比单独综合更深入的分析时,可使用此技能。该技能与“council”和“research”技能自然搭配;……
resolve-merge-conflicts
warpdotdev
通过仅提取未解决的路径、冲突块和紧凑差异来解决 Git
developmentcode-review
brandalf
warpdotdev
指导Warp或Oz品牌资产的创建、修订和审核。适用于启动页面、文档、HTML/CSS组件、UI模型、提示词、社交媒体素材、文案、演示文稿,以及任何应具有鲜明Warp或Oz风格与调性的品牌交付物。
designcreativemarketing