Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Pre-ship observability readiness checklist — ensures errors reach production monitoring, not just debug consoles.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -20% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 39% | 0% |
Code that passes all tests but logs errors only via debug-only APIs (e.g., debugPrint, console.log in debug mode) is functionally silent in production. This skill enforces observability readiness before ship — ensuring the team is not blind during beta testing and production rollout.
feature and architecture-change classifications./review (semantic error check) and /ship (readiness checklist)./review)For every catch / error-handling block in changed files:
| Check | Pass | Fail | |-------|------|------| | Logging call exists | Logger.error(), log.error(), crashReporter.capture() | Empty catch {} | | Logger is production-observable | Framework logger, crash reporter, structured stdout | debugPrint(), print(), debug-only console.log | | Error context is actionable | Includes error type, operation, identifiers | "error occurred", raw exception only |
/ship)Document in Work Log where production errors go:
## Observability
- Error sink: [e.g., Sentry via Logger.error(), Crashlytics, stdout → CloudWatch]
- Health check: [e.g., /health endpoint, Firebase Vitals, uptime monitor]
- Rollback signal: [e.g., error rate > 2x baseline → revert]If the project has no production logging infrastructure, document as Known Risk: > "No production error reporting configured. Errors in catch blocks will be logged to stdout only. Risk: silent failures in release builds if stdout is not monitored."
/ship)The rollback plan (per engineering_guardrails.md §12.5) must answer:
For phase-entry loading, read only:
When to UseObservability ChecklistLoad What This Skill Does NOT Cover, Anti-Patterns, and Interaction with Other Skills on full read or cache miss only.
| Anti-Pattern | Why It Fails | Fix | |---|---|---| | catch (e) { debugPrint(e); } | Tree-shaken in release build | Use production logger | | catch (e) { /* TODO: add logging */ } | Silent catch escapes review | Add logging now, not later | | Logger.error("error") without context | Useless in production triage | Include operation, identifiers, error type | | Logging to local file only | Not observable in cloud/mobile | Use centralized error reporting |
Other measured skills in the registry, with their headline benchmark lift.