Check: do traces connect across service boundaries?
Structured Logging:
Are logs structured (JSON) with correlation IDs?
Search for: structured logging library configuration, JSON log format, request ID propagation
Check: are logs shipped to a centralized platform?
Step 2: Report Gaps
Present results as a coverage matrix:
## Observability Posture
### Coverage Matrix
| Service | RED Metrics | SLOs | Alerts | Runbooks | Tracing | Logging |
|---------|------------|------|--------|----------|---------|---------|
| [name] | yes/no | yes/no| yes/no | yes/no | yes/no | yes/no |
### Critical Gaps (fix before launch)
- [gap] — [service] — [why it matters]
### Important Gaps (fix soon)
- [gap] — [service] — [why it matters]
### Nice to Have
- [gap] — [service] — [why it matters]
Step 3: Prioritize by Blast Radius
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
Order recommendations by impact:
Customer-facing services first — if the user can see it, it must be monitored
Revenue-critical paths — payment, checkout, auth — zero blind spots
Data integrity — anything that writes to a database needs error tracking
Internal services — important but lower priority than user-facing
Batch jobs and cron — often forgotten, monitor for failure and duration drift
For each gap, provide a concrete recommendation: what to add, which library/tool, and estimated effort (small/medium/large).
Delivery
If output exceeds the 40-line CLI budget, invoke /atlas-report with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.
How to use it
Copy the folder
Take jeremylongshore/vigil-check from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
Check the name does not clash
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.