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 jimmc414/claude-code-plugin-marketplace --skill catch-expected-errorsgit clone --depth 1 https://github.com/jimmc414/claude-code-plugin-marketplaceWrote 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/jimmc414/claude-code-plugin-marketplace/catch-expected-errors)<a href="https://agentmods.dev/skills/jimmc414/claude-code-plugin-marketplace/catch-expected-errors"><img src="https://agentmods.dev/badge/skills/jimmc414/claude-code-plugin-marketplace/catch-expected-errors/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/jimmc414/claude-code-plugin-marketplace/catch-expected-errors"><img src="https://agentmods.dev/badge/skills/jimmc414/claude-code-plugin-marketplace/catch-expected-errors.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.00024 | $0.00571 |
| Opus 5.5 | $0.00010 | $0.00228 |
| Sonnet 5.5 | $0.00005 | $0.00114 |
| Haiku 4.5 | $0.00002 | $0.00057 |
Grade A, and why
catch-expected-errors 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 1mo 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 — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.
catch-expected-errors
When to Use
- Trying many possibilities where some fail
- Division by zero might occur naturally
- Type conversion might fail
- Exploring invalid states in search
When NOT to Use
- Errors indicate bugs (let them propagate)
- All inputs should be valid
- Exception overhead matters
The Pattern
Wrap potentially failing code in try/except, continue on expected errors.
for candidate in candidates:
try:
result = process(candidate)
if is_valid(result):
return result
except (ValueError, ArithmeticError):
continue # Skip this candidate
return None # None worked
Example (from pytudes)
# Cryptarithmetic solver (Cryptarithmetic.ipynb)
def faster_solve(formula):
"""Fill in digits to solve formula."""
python_lambda, letters = translate_formula(formula)
formula_fn = eval(python_lambda)
for digits in permutations((1,2,3,4,5,6,7,8,9,0), len(letters)):
try:
if formula_fn(*digits) is True:
yield format_solution(digits, letters, formula)
except ArithmeticError:
pass # Division by zero - skip this combination
# Simple validator (Cryptarithmetic.ipynb)
def valid(pformula):
"""Valid iff no leading zero and evaluates to True."""
try:
return (not leading_zero(pformula)) and (eval(pformula) is True)
except ArithmeticError:
return False
# Type conversion cascade (lispy.py)
def atom(token):
"""Convert token to appropriate type."""
if token == '#t': return True
if token == '#f': return False
if token[0] == '"': return token[1:-1]
try:
return int(token)
except ValueError:
try:
return float(token)
except ValueError:
try:
return complex(token.replace('i', 'j', 1))
except ValueError:
return Sym(token)
# Version compatibility (beal.py)
try:
from math import gcd
except ImportError:
from fractions import gcd
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.
- 1mo ago First seen · 90 lines · 24 tokens per session scan A a79ebdd2fca0
catch-expected-errors is a skill published in the GitHub repository jimmc414/claude-code-plugin-marketplace (4 stars, last pushed today), licensed MIT. It adds 24 tokens to every session and 571 once invoked, about $0.0001 per session on Opus 5.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
clean-code
Use when the user writes new Python, or asks for review, refactor, or cleanup of Python code, names, comments/docstrings, functions, or tests. Applies Robert Martin's complete Clean Code catalog -- naming, functions, comments, DRY, boundary conditions, and tests -- to the code being changed.
csharp-source-generator
Use when writing, reviewing, debugging, or testing C# source generators and Roslyn incremental generators. Covers IIncrementalGenerator architecture, SyntaxProvider pipelines, generated-code snapshots with Verify, analyzer packaging, marker attributes, AnalyzerConfigOptionsProvider, SDK compatibility, diagnostics, and…
rust-coding-standards
Rust coding standards, documentation authoring, content workflows, and quality patterns for systemprompt.io development.
extension-building
Build library extensions for systemprompt.io with Rust - architecture, traits, schemas, API routes, jobs, and code review.
rust-dev-guide
Entry point for rust-development — routes to the right sub-skill for your task.
python-package-management
Guide for managing packages in the Agent Framework Python monorepo, including creating new connector packages, versioning, and the lazy-loading pattern. Use this when adding, modifying, or releasing packages.