Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add thettwe/nyann --skill diagnosegit clone --depth 1 https://github.com/thettwe/nyannWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/thettwe/nyann/diagnose)<a href="https://agentmods.dev/skills/thettwe/nyann/diagnose"><img src="https://agentmods.dev/badge/skills/thettwe/nyann/diagnose.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00202 | $0.01206 |
| Opus 5 | $0.00101 | $0.00603 |
| Sonnet 5 | $0.00040 | $0.00241 |
| Haiku 4.5 | $0.00020 | $0.00121 |
Grade A, and why
diagnose scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.jsonhost—uname -srm, bash version, jq/git/gh versionsrepo—bin/explain-state.sh --jsonoutput (stack, profile, branching, hooks, CLAUDE.md, recent commits)health—bin/doctor.sh --jsonoutput (drift report + health score)git—git config --listlines +git status --porcelain, with embedded URL credentials redacted vianyann::redact_urlhook_files— first 8 KB of.git/hooks/pre-commit,.git/hooks/commit-msg,.husky/pre-commit,.husky/commit-msg,.pre-commit-config.yaml(eachnullwhen absent)nyann_config—~/.claude/nyann/preferences.json+team_profile_sources[]with URLs redactedprereqs—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, drift, hooks, and configuration into one bundle. URL credentials and tokens are redacted before output."
Phase 2: Run the bundle
Run bin/diagnose.sh --target . --json (default mode is human-readable; --json for the paste-into-issue version).
If the user wants to share publicly, suggest:
- Pipe to a file:
bin/diagnose.sh --target . --json > nyann-diagnose-$(date +%Y%m%d).json - OR use the human-readable mode (
bin/diagnose.sh --target .) for a quick eyeball summary
Phase 3: Surface the obvious problems
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 88 lines · 202 tokens per session scan A 4c5095a4abaf
diagnose is a skill published in the GitHub repository thettwe/nyann (6 stars, last pushed 9d ago), licensed MIT. It adds 202 tokens to every session and 1,206 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
audit
Project health audit and health check — architecture, performance, tests, dependencies, code quality. Use when assessing overall project health, before releases, or after refactors.
investigate
Investigate bugs and errors in Elixir/Phoenix — root-cause analysis for crashes, exceptions, stack traces, test failures. Use --parallel for deep 4-track investigation.
narrow-bare-rescue
Narrow bare rescue in Elixir so real errors like KeyError and typos propagate instead of being swallowed. Use to audit rescues and refactor error handling.
tidewave-integration
Tidewave MCP runtime tools — debugging, smoke testing, live state inspection, SQL queries, hex docs. Use when evaluating code in a running Phoenix app.
verify
Verify Elixir/Phoenix changes — compile, format, and test in one loop. Use after implementation, before PRs, or after fixing bugs.
phx-investigate
Investigate Elixir/Phoenix bugs root-cause first. Reproduce failures, cite evidence, and use optional Amp subagents only when useful.