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 iamzhihuix/happy-claude-skills --skill happy-app-auditgit clone --depth 1 https://github.com/iamzhihuix/happy-claude-skillsWrote 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/iamzhihuix/happy-claude-skills/happy-app-audit)<a href="https://agentmods.dev/skills/iamzhihuix/happy-claude-skills/happy-app-audit"><img src="https://agentmods.dev/badge/skills/iamzhihuix/happy-claude-skills/happy-app-audit/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/iamzhihuix/happy-claude-skills/happy-app-audit"><img src="https://agentmods.dev/badge/skills/iamzhihuix/happy-claude-skills/happy-app-audit.svg" alt="Reviewed on agentmods" width="80" 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.00152 | $0.03677 |
| Opus 5 | $0.00076 | $0.01839 |
| Sonnet 5 | $0.00030 | $0.00735 |
| Haiku 4.5 | $0.00015 | $0.00368 |
Grade A, and why
happy-app-audit scanned grade A with 1 finding 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 13d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **Read only.** No `curl/wget/nc/dig` against discovered endpoints. No `lldb attach`, `dtrace`, `fs_usage`, `tcpdump`, `mitmproxy`, `frida`. No Keychain reads. No DRM bypass. No memory dump. How it starts
The opening of the file, as written. The whole thing — 285 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Happy App Audit
Static-only macOS app telemetry auditor. Produces a markdown report describing what an installed .app bundle reports, to whom, how often (inferred), and what it leaves on disk.
When to invoke
Invoke when the user says any of: "审计 / 调查 / 看看 / 拆 / 逆向 / 上报 / 埋点 / 隐私 / 抓 SDK" combined with a .app path or app name. Also invoke when given paths under /Applications, ~/Applications, /Library/Input Methods, or /Library/PrivilegedHelperTools.
Do NOT invoke for: source-code repos, web sites, mobile (iOS/Android) packages — this skill is macOS-bundle specific.
Hard rules (non-negotiable)
- Read only. No
curl/wget/nc/digagainst discovered endpoints. Nolldb attach,dtrace,fs_usage,tcpdump,mitmproxy,frida. No Keychain reads. No DRM bypass. No memory dump. - Allowed commands only. See
references/safe_commands.md. If a step seems to need something outside the whitelist, stop and tell the user instead of improvising. - Privacy by default. In every output file, scrub
device_id,uid,session_id,email, IDFV, IDFA, JWT, and any 16+ hex blob to<redacted:N>(keep length, drop content). - Scope cap. Refuse a single invocation that targets more than 5 apps. Refuse paths under
/System/,/usr/libexec/,/private/var/db/com.apple.*. Those are OS components, not third-party telemetry targets.
Runtime
{baseDir} = directory of this SKILL.md.
All scripts are bun + TypeScript. Resolve runtime as: prefer bun in PATH, otherwise npx -y bun. If neither exists, abort with a one-line install hint.
# Smoke check
bun --version || npx --version || echo "Need bun (recommended) or npx"
Workflow — 6 phases, in order
Each phase has: Goal → Inputs → Commands → Output → Stop conditions. Do not skip ahead. Do not interleave.
Phase 0 — Scope confirm
Goal. Lock the target list to ≤5 valid .app paths.
Inputs. Whatever the user said — could be a path, a name, or "the input methods I have installed."
What ships with it
15 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- lib/card.ts 18 KB runs code
- lib/shell.ts 4.3 KB runs code
- references/data_locations.md 3.3 KB
- references/known_endpoints.md 3.4 KB
- references/methodology_examples.md 5.8 KB
- references/safe_commands.md 3.3 KB
- references/sdk_fingerprints.md 5.6 KB
- scripts/classify_strings.ts 7.9 KB runs code
- scripts/inventory_data.ts 6.3 KB runs code
- scripts/match_fingerprints.ts 6.3 KB runs code
- scripts/render_report.ts 3.9 KB runs code
- scripts/run.ts 9.3 KB runs code
- scripts/snapshot_app.ts 6.9 KB runs code
- templates/card_prompt.md.tmpl 3.4 KB
- templates/report.md.tmpl 2.2 KB
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.
- 13d ago First seen · 285 lines · 152 tokens per session scan A 3dce9955ed33
happy-app-audit is a skill published in the GitHub repository iamzhihuix/happy-claude-skills (306 stars, last pushed 4mo ago), licensed MIT. It adds 152 tokens to every session and 3,677 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…