# Debug Collector

> Diagnose a collector that hangs, throws, records a placeholder, or produces noisy diffs. Use when a section is failed, timed out, permission-required, or a live capture is unstable.

- Skill: `hoangsonww/debug-collector` (Agent Skill)
- Install (CLI): `npx skillmds@latest add hoangsonww/debug-collector`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hoangsonww/debug-collector/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: hoangsonww (https://skillmd.com/u/hoangsonww)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/hoangsonww/debug-collector

---


# Debug a collector

Coordinator rules (already tested in CoreTests):

- One failing collector never fails the snapshot; it becomes a section with `CollectionStatus.failed` and a reason.
- Hanging collectors are abandoned at the per-collector deadline (`FakeCollector.Behaviour.hang` in tests).
- Disabled / unavailable / permission-required become placeholders, not crashes.
- Background captures skip expensive collectors (`CollectionCost`).

Live capture tests in Integration only use cheap, stable capabilities. Do not assert quiet diffs on battery or free space.

Reproduce with a `FakeCollector` first. If it only fails on hardware, record the `CollectionOutcome` and the travelling schema — do not add a platform `#if` in the diff engine.

