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 agentmods add skills/bengous/claude-code-plugins/null-as-error-ccnpx skills add bengous/claude-code-plugins --skill null-as-error-ccgit clone --depth 1 https://github.com/bengous/claude-code-pluginsWhat 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 | $0.00074 | $0.00684 |
| Opus 5 | $0.00037 | $0.00342 |
| Sonnet 5 | $0.00015 | $0.00137 |
| Haiku 4.5 | $0.00007 | $0.00068 |
Grade A, and why
null-as-error-cc 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 2d 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 — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
null-as-error
Detect silent error swallowing in Effect codebases. The antipattern:
catchAll(() => Effect.succeed(null)) collapses real errors (disk full, permissions)
into sentinel values (null, [], false) that callers cannot distinguish from
normal absence.
Project context
- effect_posture: !
~/.claude/skills/null-as-error-cc/scripts/probe-effect.sh
Workflow
Phase 1 -- Gate on Effect
If the probe above shows effect="false", stop immediately:
This project does not use Effect. The null-as-error scanner targets Effect-specific patterns (catchAll, Effect.succeed, Effect.ignore). Nothing to scan.
Phase 2 -- Run scanner
Execute the scanner script. The user may provide a scope (directory path) as an argument;
default to src/.
bun ~/.claude/skills/null-as-error-cc/scripts/scan.ts [scope] --json
Capture the JSON output. If meta.hitsFound is 0:
No silent error swallowing patterns found in [scope]. Clean.
Stop here.
Phase 3 -- Semantic analysis
The scanner found hits. Spawn the auditor subagent to classify each one:
Agent({
subagent_type: "null-as-error-auditor",
prompt: <see below>
})
The auditor task prompt must include:
- The full scanner JSON output
- Reference file paths for the auditor to read:
~/.claude/skills/null-as-error-cc/references/patterns.md~/.claude/skills/null-as-error-cc/references/fixes.md~/.claude/skills/null-as-error-cc/references/guardrails.md
Phase 4 -- Report
Synthesize the auditor's findings into a final report:
## Silent Error Swallowing Audit
### Summary
- Scanned: N files in [scope]
- Found: N occurrences
- Breakdown: X errors, Y warnings, Z info, W suppressed
### Findings
#### [ERROR] ...
#### [WARNING] ...
#### [INFO] ...
#### [SUPPRESSED] ...
### Summary Table
| Function | File | Severity | Sentinel | Fix | Blast Radius |
|----------|------|----------|----------|-----|--------------|
Reference navigation
| Question | Load |
|---|---|
| Detection patterns and severity rules | references/patterns.md |
| Fix strategies and decision tree | references/fixes.md |
| False-positive prevention | references/guardrails.md |
| Auditor agent definition | ~/.claude/agents/null-as-error-auditor.md |
What ships with it
5 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.
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.
- 2d ago First seen · 101 lines · 74 tokens per session scan A 788d74cf56c7
null-as-error-cc is a skill published in the GitHub repository bengous/claude-code-plugins (4 stars, last pushed 3d ago), licensed MIT. It adds 74 tokens to every session and 684 once invoked, about $0.0004 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
aip-tracker
Track Airflow Improvement Proposal (AIP) implementation progress by comparing Confluence specs against codebase evidence. Use when asked to assess, report on, or compare AIP status.
html-ppt-hermes-cyber-terminal
OpenDesign + BYOK: choosing and wiring your own model, hands-on — cost, quality, and the routing decision. Built as a decision-grade AI literacy deck for engineers, IT, applied-AI teams.
development
开发语言能力索引。Python、Go、Rust、TypeScript、Java、C++、Shell。当用户提到编程、开发、代码、语言时路由到此。.
devops
DevOps 能力索引。Git、测试、DevSecOps、数据库。当用户提到 DevOps、CI/CD、Git、测试时路由到此。.
post-build-flow
Handles workflow verification and setup after build-workflow succeeds, or when the message contains workflow-verification-follow-up or workflow-setup-required. Load after direct builds, when verificationReadiness requires action, or on orchestrator verify/setup follow-up turns.
n8n:create-pr
Creates GitHub pull requests with properly formatted titles that pass the check-pr-title CI validation. Use when creating PRs, submitting changes for review, or when the user says /pr or asks to create a pull request.