Claude-skill-registry bug-reporter
Capture bug context, generate reports, and optionally create GitHub issues or share patterns
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/bug-reporter" ~/.claude/skills/majiayu000-claude-skill-registry-bug-reporter && rm -rf "$T"
manifest:
skills/data/bug-reporter/SKILL.mdsource content
Bug Reporter
Capture and report bugs with automatic context gathering, local logging, GitHub issue creation, and pattern sharing.
When to Use
- User reports a bug or issue with
/popkit:bug - Agent encounters repeated errors or gets stuck
- Need to document an issue for later investigation
- Want to share a bug pattern with the collective
Input
User provides:
- Bug description
- Optional flags:
,--issue
,--share
,--verbose--no-context - Or subcommands:
,list
,view <id>clear
Process
1. Parse Request
Determine the action:
- Default: Report new bug
: List logged bugslist
: View specific bugview
: Clear logsclear
2. Capture Context (for new bug)
Gather automatic context using
hooks/utils/bug_context.py:
from bug_context import BugContextCapture, format_bug_report, format_github_issue capture = BugContextCapture() ctx = capture.capture( description=user_description, recent_tools=recent_tool_calls, agent_state=current_agent_state )
Context includes:
- Recent tool calls (last 10)
- Files touched
- Error messages detected
- Agent progress and current task
- Project type (language, framework)
- Git status (branch, uncommitted changes)
- Stuck patterns (same file edited 3+ times, build failures)
3. Generate Report
Format the bug report:
Bug Report ========== ID: bug-2024-12-04-abc123 Time: 2024-12-04T10:30:00Z Description: Agent got stuck on OAuth flow Context: Language: TypeScript Framework: Next.js Branch: feature/oauth Uncommitted: 3 files Recent Actions: 1. Edit src/auth/oauth.ts 2. Bash: npm run build (failed) 3. Edit src/auth/oauth.ts (same file, 2nd time) Errors Detected: [TypeError] Cannot read property 'token' of undefined Stuck Patterns: - Same file edited 3 times: oauth.ts - Build command failed Suggested Actions: - Consider stepping back and reviewing the approach - Check for null/undefined values
4. Output Actions
Based on flags:
Default - Log locally:
file_path = capture.save(ctx) print(f"Logged to: {file_path}")
--issue - Create GitHub issue:
issue_body = format_github_issue(ctx) # Use gh issue create with formatted body
--share - Share to collective (Pro/Team):
# Anonymize pattern # Upload to collective learning database
5. Confirm to User
Show:
- Bug ID
- Actions taken (logged, issue created, shared)
- Link to issue if created
Subcommand Handlers
list
bugs = capture.list_bugs(limit=10) # Format as table with ID, date, description
view
ctx = capture.get_bug(bug_id) if ctx: print(format_bug_report(ctx, verbose=True))
clear
cleared = capture.clear_bugs(before=date, bug_id=id) print(f"Cleared {cleared} bug reports")
Anonymization for Sharing
When
--share is used, anonymize before uploading:
| Original | Anonymized |
|---|---|
| |
| |
| API keys, secrets | |
| Variable names | Generic terms |
def anonymize_pattern(ctx: BugContext) -> Dict: return { "trigger": abstract_error(ctx.errors[0] if ctx.errors else None), "context": { "language": ctx.project.language, "framework": ctx.project.framework, "error_type": ctx.errors[0].error_type if ctx.errors else None }, "stuck_patterns": ctx.stuck_patterns, "suggested_actions": ctx.suggested_actions }
Example Flows
Report Bug (Default)
User: /popkit:bug "Agent can't find the right file" [Capturing context...] - Recent tools: 8 calls - Files touched: 4 - Errors: 1 (ENOENT) - Git: feature/search branch Bug Report ========== ID: bug-2024-12-04-def456 ... Logged to: .claude/bugs/bug-2024-12-04-def456.json
Create GitHub Issue
User: /popkit:bug "Tests failing after refactor" --issue [Capturing context...] [Creating GitHub issue...] Bug Report Created ================== ID: bug-2024-12-04-ghi789 GitHub Issue: #123 URL: https://github.com/user/repo/issues/123 Logged locally and issue created.
Share Pattern
User: /popkit:bug "OAuth token refresh failing" --share [Capturing context...] [Anonymizing pattern...] [Uploading to collective...] Bug Report ========== ID: bug-2024-12-04-jkl012 Pattern shared: Yes (anonymized) Collective ID: pattern-abc123 Thank you for contributing to the collective learning database!
Integration Points
| Component | Purpose |
|---|---|
| Context capture and formatting |
| Local bug storage |
| Pattern sharing |
| GitHub issue creation |
Output Style
Use a clear, structured format:
- Show bug ID prominently
- List context in organized sections
- Highlight errors and stuck patterns
- Provide actionable suggestions
- Confirm what actions were taken