
replicate-issue
Replicate and validate a GitHub issue by spinning up Archon, analyzing the issue, and systematically testing all described symptoms using browser automation. Use when: User wants to reproduce a bug, validate a GitHub issue, confirm a reported problem, or investigate whether an issue is real before working on a fix. Triggers: "replicate issue", "reproduce issue", "validate issue", "confirm bug", "test issue", "can you reproduce", "try to replicate", "verify the bug". Capability: Checks out main, pulls latest, starts Archon, reads the GitHub issue, then uses agent-browser to systematically test every symptom and produce a findings report. NOT for: Fixing issues (use /archon or /exp-piv-loop:fix-issue), general UI testing (use /validate-ui).
- Installs
- 243
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/coleam00/archon --skill replicate-issue- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads replicate-issue automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Replicate GitHub Issue
Systematically reproduce and validate a GitHub issue against the live Archon application. The goal: determine whether the reported behavior is real, identify exact reproduction steps, discover any related issues, and provide actionable fix recommendations.
Issue number: $ARGUMENTS
If $ARGUMENTS is empty, ask the user for the issue number before proceeding.
Phase 0: Prepare Environment
0.1 Switch to Main Branch and Pull Latest
Ensure you are testing against the latest code on main so results are accurate.
cd /path/to/archon
# Stash any local changes to avoid conflicts
git stash 2>/dev/null || true
# Switch to main and pull latest
git checkout main
git pull origin main
echo "On branch: $(git branch --show-current)"
echo "Latest commit: $(git log --oneline -1)"
0.2 Kill Existing Archon Processes
Free up ports 3090 (backend) and 5173 (frontend) so Archon starts cleanly.
pkill -f "bun.*dev:server" 2>/dev/null || true
pkill -f "bun.*dev:web" 2>/dev/null || true
pkill -f "bun.*packages/server" 2>/dev/null || true
pkill -f "bun.*packages/web" 2>/dev/null || true
fuser -k 3090/tcp 2>/dev/null || true
fuser -k 5173/tcp 2>/dev/null || true
sleep 2
# Verify ports are free
! fuser 3090/tcp 2>/dev/null && ! fuser 5173/tcp 2>/dev/null && echo "Ports 3090 and 5173 are free" || echo "WARNING: Ports still in use"
0.3 Start Archon Backend + Frontend
cd /path/to/archon
# Start both backend and frontend together
bun run dev &
sleep 8
# Verify backend is healthy
curl -s http://localhost:3090/api/health | head -c 200
echo ""
# Verify frontend is serving (port may vary if 5173 is taken)
curl -s http://localhost:5173 | head -c 100 || curl -s http://localhost:5174 | head -c 100
Note: If port 5173 is taken, Vite auto-increments (5174, 5175, etc.). Check the bun run dev output for the actual frontend port and use that throughout.
Phase 1: Analyze the Issue
1.1 Read the GitHub Issue
gh issue view $ARGUMENTS --json title,body,labels,comments,state
Parse the issue carefully. Extract:
- Title and summary: What is the reported problem?
- Reproduction steps: What specific actions trigger the bug?
- Expected behavior: What should happen?
- Actual behavior: What happens instead?
- Environment details: Any specific conditions (browser, OS, timing)?
- Labels and priority: How severe is this?
- Comments: Any additional context, workarounds, or related issues?
1.2 Build a Test Plan
Based on the issue content, create a checklist of specific things to test. For each symptom described in the issue, define:
- The exact user journey to reproduce it
- What to look for (expected vs actual)
- Screenshots to capture as evidence
Phase 2: Reproduce with Browser Automation
Use the agent-browser CLI (NOT Playwright) for all browser interactions.
Core Workflow
# 1. Navigate to the page
agent-browser open http://localhost:5173
# 2. Get interactive elements
agent-browser snapshot -i
# 3. Interact using refs from the snapshot
agent-browser click @e1
agent-browser fill @e2 "text"
# 4. Re-snapshot after navigation or DOM changes
agent-browser snapshot -i
# 5. Take screenshots at every significant point
agent-browser screenshot /tmp/issue-$ARGUMENTS-{step-name}.png
Testing Guidelines
- Take screenshots liberally — before and after each action, save to
/tmp/issue-$ARGUMENTS-*.png - Read every screenshot — use the Read tool to visually inspect each screenshot and verify what you see
- Test the happy path first — confirm the feature works under normal conditions before testing the bug
- Follow the exact reproduction steps from the issue — don't shortcut
- Test variations — try the same flow with slight differences (different data, different timing, page refresh)
- Test adjacent flows — if the issue is about workflow X, also check workflows Y and Z for similar problems
- Use curl for API verification — cross-reference UI state with direct API calls to confirm data accuracy
- Check after page refresh — many SSE/real-time bugs only manifest after navigation or refresh
- Check across conversations — if the issue involves conversations, test with multiple open conversations
- Wait for async operations — use
agent-browser waitcommands for network-dependent operations
Triggering Workflows (if needed)
If the issue involves workflow execution, use the REST API to trigger background workflows:
# Create a conversation
CONV_ID=$(curl -s -X POST http://localhost:3090/api/conversations \
-H "Content-Type: application/json" -d '{}' | jq -r '.conversationId')
# Trigger a workflow (archon-assist is a good general-purpose one)
curl -s -X POST http://localhost:3090/api/workflows/archon-assist/run \
-H "Content-Type: application/json" \
-d "{\"conversationId\":\"$CONV_ID\",\"message\":\"Your test message here\"}"
Triggering Chat Messages (if needed)
curl -s -X POST "http://localhost:3090/api/conversations/$CONV_ID/message" \
-H "Content-Type: application/json" \
-d '{"message":"Your test message"}'
Phase 3: Document Findings
For each symptom in the issue, record:
| Symptom | Reproduced? | Evidence | Notes |
|---|---|---|---|
| {symptom from issue} | YES / NO / PARTIAL | Screenshot path | {details} |
Severity Classification
- Confirmed (Reproducible): The exact bug described in the issue was reproduced
- Partially Confirmed: The symptom appears but under different conditions than described
- Not Reproduced: Could not reproduce despite following the described steps
- Related Issue Found: A different but related problem was discovered during testing
Phase 4: Investigate Root Cause (if reproduced)
If the issue was reproduced, do a targeted codebase analysis:
- Identify the affected components — which files/hooks/components are involved?
- Read the relevant source code — understand the current implementation
- Trace the data flow — where does the data come from? SSE? REST? React Query? useState?
- Identify the root cause — what specifically causes the observed behavior?
- Check for similar patterns — are other components vulnerable to the same issue?
Phase 5: Recommendations
Provide multiple fix options with trade-offs:
Option Format
For each recommendation:
### Option N: {Short title}
**Approach**: {1-2 sentence description}
**Changes required**:
- {file}: {what changes}
- {file}: {what changes}
**Pros**:
- {benefit}
**Cons**:
- {drawback}
**Complexity**: Low / Medium / High
**Risk**: Low / Medium / High
Provide at least 2-3 options ranging from quick fix to comprehensive solution.
Phase 6: Cleanup
# Close the browser
agent-browser close
# Stop Archon (optional — leave running if user wants to continue testing)
# fuser -k 3090/tcp 2>/dev/null
# fuser -k 5173/tcp 2>/dev/null
Phase 7: Summary Report
Present a final summary to the user:
# Issue #$ARGUMENTS Replication Report
## Issue: {title}
**Status**: Reproduced / Not Reproduced / Partially Reproduced
**Tested on**: main @ {commit hash}
## Reproduction Summary
{2-3 sentences describing what was tested and the outcome}
## Findings
{Detailed findings with screenshot references}
## Root Cause
{If identified — what causes the bug and why}
## Related Issues Discovered
{Any additional problems found during testing}
## Recommendations
{Summary of fix options with recommended approach}
Execution Notes
- Always use
agent-browser(Vercel Agent Browser CLI), NOT Playwright - Load the
/agent-browserskill if you need a command reference - Take screenshots at EVERY significant test point — these are your evidence
- Read screenshots with the Read tool to visually verify what the UI shows
- If reproduction requires long-running operations, be patient — wait for workflows to complete
- Cross-reference browser state with API responses (
curl) to distinguish UI bugs from backend bugs - If the issue cannot be reproduced, document what you tried and suggest possible reasons
- Close the browser when finished:
agent-browser close
FAQ
What does the replicate-issue skill do?
Replicate and validate a GitHub issue by spinning up Archon, analyzing the issue, and systematically testing all described symptoms using browser automation. Use when: User wants to reproduce a bug, validate a GitHub issue, confirm a reported problem, or investigate whether an issue is real before working on a fix. Triggers: "replicate issue", "reproduce issue", "validate issue", "confirm bug", "test issue", "can you reproduce", "try to replicate", "verify the bug". Capability: Checks out main, pulls latest, starts Archon, reads the GitHub issue, then uses agent-browser to systematically test every symptom and produce a findings report. NOT for: Fixing issues (use /archon or /exp-piv-loop:fix-issue), general UI testing (use /validate-ui).
How do I install replicate-issue?
Run npx skills add https://github.com/coleam00/archon --skill replicate-issue in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/replicate-issue/ (personal) or .claude/skills/replicate-issue/ (project).
Which AI agents can use replicate-issue?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is replicate-issue safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains replicate-issue?
It is published by coleam00 in coleam00/archon. It has 243 recorded installs.
More from coleam00/archon
playwright-cli
coleam00/archon
Automate browser interactions, test web pages and work with Playwright tests.
docker-extend
coleam00/archon
Open the skill to read its SKILL.md instructions.
test-release
coleam00/archon
Open the skill to read its SKILL.md instructions.
Popular testing & qa skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
grilling
mattpocock/skills
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
migrate-to-shoehorn
mattpocock/skills
Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.
run-train
lllllllama/rigorpilot-skills
Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.
test-driven-development
obra/superpowers
Use when implementing any feature or bugfix, before writing implementation code
finishing-a-development-branch
obra/superpowers
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work