diagnoselisted
Install: claude install-skill thettwe/nyann
# diagnose
Read-only support bundle. Aggregates everything a maintainer needs to reproduce or pinpoint a nyann bug into one paste-friendly output.
## When to trigger
- User reports nyann broke on their repo and wants to file a bug
- User asks for a "support bundle", "diagnostic dump", or wants to know what to include in an issue
- User says nyann is misbehaving and wants help collecting evidence
## What gets bundled
`bin/diagnose.sh` collects, in one structured JSON object:
- **`nyann_version`** — from `.claude-plugin/plugin.json`
- **`host`** — `uname -srm`, bash version, jq/git/gh versions
- **`repo`** — `bin/explain-state.sh --json` output (stack, profile, branching, hooks, CLAUDE.md, recent commits)
- **`health`** — `bin/doctor.sh --json` output (drift report + health score)
- **`git`** — `git config --list` lines + `git status --porcelain`, with embedded URL credentials redacted via `nyann::redact_url`
- **`hook_files`** — first 8 KB of `.git/hooks/pre-commit`, `.git/hooks/commit-msg`, `.husky/pre-commit`, `.husky/commit-msg`, `.pre-commit-config.yaml` (each `null` when absent)
- **`nyann_config`** — `~/.claude/nyann/preferences.json` + `team_profile_sources[]` with URLs redacted
- **`prereqs`** — `bin/check-prereqs.sh --json`
Every field flows through redaction. The bundle is safe to paste into a public GitHub issue.
## Execution flow
### Phase 1: Explain what diagnose collects
Tell the user: "I'll run `bin/diagnose.sh` against this repo. It collects state, dr