$npx -y skills add apache/magpie --skill issue-reproducerFor a single <issue-tracker> issue identifying a code-level bug, extract the reporter's example code from the issue body, adapt it to run on the current <default-branch>, execute via <runtime>, and compose a verdict.json describing the observed behaviour vs the expected f
| 1 | <!-- SPDX-License-Identifier: Apache-2.0 |
| 2 | https://www.apache.org/licenses/LICENSE-2.0 --> |
| 3 | |
| 4 | <!-- Placeholder convention (see ../../AGENTS.md#placeholder-convention-used-in-skill-files): |
| 5 | <project-config> → adopter's project-config directory |
| 6 | <issue-tracker> → URL of the project's general-issue tracker |
| 7 | <upstream> → adopter's public source repo |
| 8 | <default-branch> → upstream's default branch (master vs main) |
| 9 | <runtime> → recipe for invoking the project's runtime |
| 10 | (resolves from <project-config>/runtime-invocation.md) |
| 11 | Substitute these with concrete values from the adopting |
| 12 | project's <project-config>/ before running any command below. --> |
| 13 | |
| 14 | # issue-reproducer |
| 15 | |
| 16 | Use this skill when the job is to **take an issue-described problem |
| 17 | and actually run it**: find the reproducer code, work out what shape |
| 18 | it's in, adapt it to a runnable form, and execute it against the |
| 19 | current `<default-branch>` and the project's runtime with enough |
| 20 | evidence captured that a maintainer can trust the verdict without |
| 21 | redoing the work. |
| 22 | |
| 23 | This skill is the load-bearing piece for both single-issue triage |
| 24 | (when a stronger-than-eyeballed reproduction is wanted) and bulk |
| 25 | reassessment campaigns. It doesn't speak about workflow, batch |
| 26 | processing, or hand-back — those belong to the calling skills: |
| 27 | |
| 28 | - [`issue-triage`](../issue-triage/SKILL.md) — invokes this skill at |
| 29 | the *"attempt reproduction on `<default-branch>`"* step when a |
| 30 | classification hinges on runtime evidence. |
| 31 | - [`issue-reassess`](../issue-reassess/SKILL.md) — bulk reassessment |
| 32 | campaign; calls this skill for every issue in the candidate set. |
| 33 | - [`issue-fix-workflow`](../issue-fix-workflow/SKILL.md) — when the |
| 34 | reproducer adapts cleanly to a regression test, the fix-workflow |
| 35 | skill takes the adapted form as its starting point. |
| 36 | |
| 37 | --- |
| 38 | |
| 39 | ## Golden rules |
| 40 | |
| 41 | **Golden rule 1 — never fabricate.** *"The reporter described X |
| 42 | happening; I'll write code that does X."* That is the agent doing |
| 43 | the reporter's job. If the description is prose-only and no |
| 44 | attachment helps, classify `cannot-run-extraction` and stop. The |
| 45 | reporter's specific code is what makes a reproduction trustworthy; |
| 46 | an agent-written stand-in is a different exercise (and a different |
| 47 | verdict). The full anti-fabrication discipline lives in |
| 48 | [`extraction.md`](extraction.md). |
| 49 | |
| 50 | **Golden rule 2 — inventory everything, run every case.** Reporters |
| 51 | frequently post simplified reproducers in comments after the initial |
| 52 | description, and may follow up with additional cases that exercise |
| 53 | different symptoms of the same root cause. Inventory every code |
| 54 | block in the description *and* every comment *and* every attachment; |
| 55 | when distinct reproducers exist, **run each and record per-case |
| 56 | outcomes** — not just the headline. The `cases` array in |
| 57 | `verdict.json` (see [`verdict-composition.md`](verdict-composition.md)) |
| 58 | carries per-case state for multi-case issues. |
| 59 | |
| 60 | **Golden rule 3 — bounded runs only.** Timeout (60s default; raise |
| 61 | per-issue if the reporter notes long-running behaviour). Without a |
| 62 | timeout, one bad issue burns hours. Classify as `timeout` if hit. |
| 63 | See [`runtime-recipes.md`](runtime-recipes.md) for the full |
| 64 | posture. |
| 65 | |
| 66 | **Golden rule 4 — capture both streams.** Many reproducers print |
| 67 | the bug indicator (stack traces, error messages, *"expected X got |
| 68 | Y"*) to stderr. Capture stdout + stderr + exit code + runtime. |
| 69 | Record the command verbatim. |
| 70 | |
| 71 | **Golden rule 5 — read-only on tracker state.** This skill produces |
| 72 | evidence; it does not post, transition, close, or modify anything on |
| 73 | `<issue-tracker>`. Posting / transitioning belongs to |
| 74 | [`issue-triage`](../issue-triage/SKILL.md) and sibling skills. |
| 75 | |
| 76 | **Golden rule 6 — no working-tree leaks between issues.** When |
| 77 | running many reproducers in sequence, reset between issues. A file |
| 78 | written by issue A's reproducer that issue B's run picks up corrupts |
| 79 | verdicts in ways that are |