error-scanlisted
Install: claude install-skill app-vitals/shipwright
# Error Scan
Query Sentry for currently-unresolved issues across the org, diff them against a local
ledger to find what's **new** or **regressed** since the last run, dynamically derive which
checked-out repo each issue's `service` tag belongs to, and write a structured report. This
skill makes **no code changes** — it reads and reports only. Use `/error-fix` to act on the
findings.
This skill hardcodes Sentry as the backend (no provider abstraction) — see
`planning/error-patrol/PLAN.md` for the rationale. Support for other error-reporting
backends is explicitly out of scope.
---
## Setup: Parse Arguments
Before starting, check if any flags were passed:
- `--summary` — print counts to stdout; skip writing `error-report.md`
- `--dry-run` — run the full scan (Sentry API calls, service→repo derivation, diffing) but
skip writing `error-report.md` **and** skip updating `state/error-patrol-ledger.json`.
Print everything that would have been written to stdout instead. Use this to validate the
skill end-to-end without mutating any state.
---
## Step 0: Preconditions
1. Confirm `SENTRY_ORG` and `SENTRY_AUTH_TOKEN` are set in the environment (`echo
"org=$SENTRY_ORG token_set=$([ -n "$SENTRY_AUTH_TOKEN" ] && echo yes || echo no)"`). If
either is unset or empty, print:
```
error-scan requires SENTRY_ORG and SENTRY_AUTH_TOKEN to be set in the environment. Skipping scan.
```
and stop. Do not write a report or touch the ledger.
2. Confirm `SHIPWRIGHT_REPO_DI