reproduce-and-fix-issues
Reproduce triaged bugs through a configured app-verification adapter, verify existing fixes, and open a bounded draft pull request only after before-and-after…
Skill by gh0stwin
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/gh0stwin-reproduce-and-fix-issues
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/reproduce-and-fix-issues
What's inside
- Skill name
reproduce-and-fix-issues- Description
- Reproduce triaged bugs through a configured app-verification adapter, verify existing fixes, and open a bounded draft pull request only after before-and-after proof. Use only from the configured Benny reproduce run.
- License
- MIT
- Instructions
- 313 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- feature-map.example.md · references/
- verification-adapter.md · references/
- verify-existing-fix.md · references/
SKILL.md (first lines)
# Reproduce and fix issues
The run prompt carries the intake binding: the source item, the source thread, the verdict location, and the adapter that reads and posts. Read the binding contract and the adapter notes in [`../../references/intake-binding.md`](../../references/intake-binding.md) before the first source read or post.
The event either names one report through the binding or asks for a sweep (`{"sweep": true}`). On a sweep, the binding names the source collection and the adapter; scan it for the oldest report that carries a trusted triage marker from the binding's trusted verdict identity, has no repro reply yet, and is still inside the configured verdict budget. Run that one report. Stop cleanly when there is none; a sweep that finds nothing is not a failure.
Wait for a trusted triage marker in the source thread. Reproduce the exact symptom through the target app's real UI. Verify an existing fix when one exists. Attempt a bounded fix only after a confirmed repro.
Load the external Benny configuration supplied by the run. If the config, the binding, the adapter, the verification skill, or the completed feature map is missing, stop without posting or writing to the source.
## Hard safety rules
- Exactly one verdict per run, posted at the binding's verdict location through the binding's adapter.
- Never open a new top-level post for the report.
- The binding's source coordinates are immutable.
- Preflight the source item before every source-thread post.
- The coordinator is the only adapter poster.
- Delegated analysis workers are read-only and return findings or media notes.
- A fix-phase code worker may edit only when its environment provably excludes adapter credentials and every adapter write action. Otherwise the coordinator edits.
- Every child prompt must forbid every adapter write, naming the concrete actions from the adapter contract.
- Never give a child adapter credentials, posting instructions, source coordinates for posting, or permission to report externally.
- If a child needs adapter write access to run, do not launch it.
- Utility bots are evidence sources. They do not own the fix unless a person explicitly delegated the fix to them.
- The exact discriminating symptom must appear twice through real UI interaction.
- State inspection may confirm an observation. It must not inject or force the symptom.
- No confirmed repro means no authored fix.
- Existing pull requests or commits switch the run to verify mode. Do not author over them.
- Use `github.com` pull request links.
- Keep captures, recordings, logs, and tokens out of source control.
- Fail closed when the binding, the adapter, the verification skill, or the completed feature map is missing or uncertain.
- Use pstack's `principle-guard-the-context-window` for delegated analysis.
- Apply pstack's `principle-sequence-verifiable-units`, `principle-fix-root-causes`, and `principle-prove-it-works` through repro, fix, and verification.
## Subagents on pi
Spawn delegated workers with pi-pstack's `subagent` tool and `readonly: true`, which pins `read`, `grep`, `find`, and `ls`. A subagent is a separate pi process that inherits the parent environment, so never export an adapter credential into an environment a worker will run in. Keep the coordinator as the only poster.
## 1. Freeze the binding
Before making a work list or delegating:
1. Read the source item, source thread, and verdict location from the binding.
2. Require all three to be nonempty and consistent with the event or the sweep result.
3. Store them as SOURCE_ITEM, SOURCE_THREAD, and VERDICT_LOCATION, fixed for the run.
4. Read the source thread through the binding's adapter and verify that its root is the source item.
5. Fetch the source permalink through the adapter.
Never replace these values with a reply, operations, or status-message coordinate.
Before every source post:
1. Read the source thread by the fixed coordinates through the adapter.
2. Confirm the source item exists, is not deleted, and still belongs to the source thread.
3. Post only through the binding's adapter, at the verdict location.
4. Read the source thread again and verify the new message is at the verdict location.
If any check fails, post nothing. Never retry at the source root or in a fallback location.
## 2. Wait for the triage contract
Watch the source thread through the adapter for the configured verdict budget. Stay silent while waiting.
Accept a verdict only when:
- Its author matches the binding's trusted verdict identity.
- It is at the verdict location under the source thread.
- It contains exactly one configured marker.
Public marker forms:
```text
[benny:bug]
[benny:bug] tracker=https://tracker.example/issue/123
[benny:performance]
[benny:performance] tracker=https://tracker.example/issue/123
[benny:other]
```
Proceed only for `bug` or `performance`. Capture the optional tracker URL. Stop silently for `other`, a missing verdict, an untrusted author, conflicting markers, or a timeout.
This marker replaces private bot identities and free-form verdict matching.
## 3. Apply ownership and fix-artifact gates
Re-read the source thread through the adapter immediately before starting work.
### Someone is explicitly fixing it
Stop when a person clearly claims the fix, gives a concrete implementation plan, or asks another agent to implement, patch, fix, or open a pull request.
Do not treat these as fix ownership:
- A bot summarizes evidence.
- A tool looks up logs or tickets.
- Someone asks a bot to diagnose, explain, inspect, or reproduce.
- A bot posts a cause hypothesis without agreeing to implement it.
Judge the requested action, not the presence of a bot.
### A fix artifact already exists
If an open pull request or merged commit plausibly fixes this report, switch to `references/verify-existing-fix.md`.
An artifact may come from the source thread, tracker issue, repository history, or pull request search. A claim without a commit or pull request is not a fix artifact.
If a person owns the work but has not produced an artifact, stop. Do not race them.
## 4. Use the optional operations location
When the binding names a separate operations location, such as an operations thread, the coordinator may create one root status message there. This is the only allowed top-level post in the repro workflow. Store its coordinates as OPERATIONS_LOCATION and never confuse them with the source coordinates.
When the binding names the run output, keep detailed status there and post no status message. Never substitute a source-thread root post.
Use the configured plain Unicode status strings. Keep status text short:
- Reproducing
- Could not reproduce
- Blocked
- ReproducedFrom gh0stwin/pi-pstack, MIT.
More from gh0stwin/pi-pstack
- 0.526score
triage-issue-reports
gh0stwin
Triage one report through its intake binding with a single verdict, evidence review, cause-aware routing, tracker dedupe, and fail-closed ticket creation.
SkillBFreshness: BClaude Code +9 - 0.520score
create-skill
gh0stwin
Author, revise, or validate a pi skill (a SKILL.md folder) against the Agent Skills standard.
SkillBFreshness: BClaude Code +9 - 0.501score
how
gh0stwin
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which…
SkillBFreshness: BClaude Code +9 - 0.501score
interrogate
gh0stwin
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".
SkillBFreshness: BClaude Code +9 - 0.499score
setup-benny
gh0stwin
Configure Benny and prepare its triage and reproduce runs on pi.
SkillBFreshness: BClaude Code +9 - 0.499score
make-bot-ui
gh0stwin
Use when building a custom UI (page, dashboard, buttons) that should wake a pi agent from a local server, when the user must provide a wake token, or when…
SkillBFreshness: BClaude Code +9 - 0.496score
deslop
gh0stwin
Remove AI-generated code slop and clean up code style on the current branch's diff.
SkillBFreshness: BClaude Code +9 - 0.496score
automate-me
gh0stwin
Use for "automate me", "create/update/refresh my -mode skill", "turn/capture my preferences or working style into a skill", or wanting agents to follow how…
SkillBFreshness: BClaude Code +9 - 0.496score
no-comments
gh0stwin
Spawn Comment Sicko, fix accepted findings, and offer encodings for claimed constraints.
SkillBFreshness: BClaude Code +9 - 0.496score
blast-radius
gh0stwin
Find what a change could break somewhere else before it ships, beyond the diff, and prove the one fact it's safe because of by running real code instead of…
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 14, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/gh0stwin/pi-pstack
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from gh0stwin
- 0.526score
triage-issue-reports
gh0stwin
Triage one report through its intake binding with a single verdict, evidence review, cause-aware routing, tracker dedupe, and fail-closed ticket creation.
SkillBFreshness: BClaude Code +9 - 0.520score
create-skill
gh0stwin
Author, revise, or validate a pi skill (a SKILL.md folder) against the Agent Skills standard.
SkillBFreshness: BClaude Code +9 - 0.501score
how
gh0stwin
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which…
SkillBFreshness: BClaude Code +9 - 0.501score
interrogate
gh0stwin
Use for "interrogate", "adversarial review", "multi-model review", "challenge this", "stress test this code", "find blind spots", or "tear this apart".
SkillBFreshness: BClaude Code +9 - 0.499score
setup-benny
gh0stwin
Configure Benny and prepare its triage and reproduce runs on pi.
SkillBFreshness: BClaude Code +9 - 0.499score
make-bot-ui
gh0stwin
Use when building a custom UI (page, dashboard, buttons) that should wake a pi agent from a local server, when the user must provide a wake token, or when…
SkillBFreshness: BClaude Code +9
Cite this page
reproduce-and-fix-issues skill. Agent Mart. https://agentmart.dev/skills/gh0stwin-reproduce-and-fix-issues (last updated 2026-10-24)