Fix Sentry
Auto-fix high-frequency Sentry issues: fetch issues > N occurrences, analyze stack...
Install
npx skills add FerroxLabs/wayland --skill fix-sentry -g -a claude-code -y- Repository
- FerroxLabs/wayland616
- Category
- Git and review
- Updated
- 4d ago
- License
- AGPL-3.0
- Context cost
- Mediumabout 3,000 tokens
- Runs scripts
- No, instructions only
What it does
Auto-fix high-frequency Sentry issues: fetch issues > N occurrences, analyze stack traces, fix code, create GitHub issues, and submit PRs. Supports user feedback issues (event.type "default") with attachment analysis (logs, screenshots) when include_feedback=true. Use when: (1) User says "/fix-sentry", (2) User asks to fix Sentry issues.
Fix Sentry Skill
Automated workflow: Sentry issues → analyze → fix → GitHub Issue → PR.
Announce at start: "I'm using fix-sentry skill to find and fix high-frequency Sentry issues."
Operating Modes
Batch Mode (default)
Invocation: /fix-sentry or /fix-sentry threshold=50
- Uses the specified threshold (default 100) to fetch issues
- Runs full Phase 1 → Phase 2 → Phase 3
- Fixes all qualifying issues
Daemon Mode
Invocation: /fix-sentry limit=1 (from daemon script)
- Phase 1 uses adaptive threshold descent: starts at 100, lowers progressively until a fixable issue is found
- Fixes only 1 issue (controlled by
limitparameter), then exits - If no fixable issue exists at any threshold → outputs
[NO_FIXABLE_ISSUES]and exits
Prerequisites
- Sentry MCP must be configured (global or project scope) with
mcp__sentry__*tools available - gh CLI must be authenticated
- Working directory must be clean (
git statusshows no uncommitted changes)
Workflow
Phase 1: Collect & Filter Issues
Step 1.1: Verify Environment
git status --porcelain # must be clean
git branch --show-current
If working directory is dirty, STOP and ask user to commit or stash first.
Step 1.1b: Load Skip List (Daemon Mode Only)
In daemon mode (limit > 0), load the skip list to avoid re-analyzing issues that were already
triaged in previous sessions. The skip list is stored at:
~/.wayland-fix-sentry/skip-list.json
Format:
{
"ELECTRON-6X": { "reason": "already_fixed", "expires": "2026-03-28T03:00:00Z", "summary": "PR #1758 merged" },
"ELECTRON-A7": { "reason": "system_level", "expires": "2026-04-03T03:00:00Z", "summary": "EPIPE in net.Socket" }
}
On load:
- Read the file (if it doesn't exist, start with an empty skip list)
- Remove all entries where
expires< current time (expired entries get re-analyzed) - Keep the remaining entries as the active skip list

