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 wardawgmalvicious/agent-config --skill fabric-error-handlinggit clone --depth 1 https://github.com/wardawgmalvicious/agent-configWrote 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/wardawgmalvicious/agent-config/fabric-error-handling)<a href="https://agentmods.dev/skills/wardawgmalvicious/agent-config/fabric-error-handling"><img src="https://agentmods.dev/badge/skills/wardawgmalvicious/agent-config/fabric-error-handling/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/wardawgmalvicious/agent-config/fabric-error-handling"><img src="https://agentmods.dev/badge/skills/wardawgmalvicious/agent-config/fabric-error-handling.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.00138 | $0.01315 |
| Opus 5 | $0.00069 | $0.00658 |
| Sonnet 5 | $0.00028 | $0.00263 |
| Haiku 4.5 | $0.00014 | $0.00131 |
Grade A, and why
fabric-error-handling 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 today.
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 — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Error handling convention (Fabric notebooks)
Two tiers. Pick the right one per block of code; don't mix them inside a single logical operation.
Tier 1 — Setup / preconditions (hard fail)
Raise immediately. No try/except wrapping, no "best effort" semantics. Applies to:
- Auth: token acquisition, Key Vault secret fetches, connection-string pulls
- Required-config validation: missing required variables, unset placeholders that would produce invalid requests
- Target resolution where the target is a single item: resolve a workspace ID, resolve an item ID, lookup the Variable Library GUID
Tier 1 functions surface the cause in the exception message (HTTP status, what was missing, what was searched). They never swallow errors to keep the notebook running — if a precondition fails, subsequent cells will produce misleading output or worse, silent data corruption.
Tier 2 — Bulk operations (soft fail)
Track per-item results, continue the loop, print a summary at the end. Applies to:
- Per-table maintenance (OPTIMIZE, VACUUM, TBLPROPERTIES alterations)
- Per-item enumeration (list all items, extract GUIDs, update a set of value sets)
- Per-workspace iteration
Canonical result shape — use this exact structure in every Tier 2 notebook:
results = {
"succeeded": [], # list[str] of item names
"skipped": [], # list[dict]: {"name": str, "reason": str}
"failed": [], # list[dict]: {"name": str, "error": str}
}
Append into succeeded / skipped / failed inside the loop, never halt the loop on a single failure, then print a summary block at the end:
── Summary ───────────────────────────────────
Succeeded: 47
Skipped: 2
Failed: 1
- `dbo`.`TransactionLine`: snapshot conflict (24556) — retry
STRICT flag
Every Tier 2 notebook exposes a top-level boolean in its config cell:
# False (default) — print the summary and continue even if some items failed.
# Right for scheduled runs: one bad item shouldn't stop the
# rest of the work, and the per-item report is enough signal.
# True — raise RuntimeError after the summary when any item failed. Use from
# CI / orchestration where you want the notebook exit code to reflect state.
STRICT = False
What ships with it
1 file 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.
- today Changed 3eb53529ec8c
- 6d ago Changed · +3 lines 1fb9ae58c6b2
- 10d ago First seen · 93 lines · 138 tokens per session scan A cc554501807d
fabric-error-handling is a skill published in the GitHub repository wardawgmalvicious/agent-config (1 stars, last pushed today), licensed MIT. It adds 138 tokens to every session and 1,315 once invoked, about $0.0007 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
langsmith-observability
LLM observability platform for tracing, evaluation, and monitoring. Use when debugging LLM applications, evaluating model outputs against datasets, monitoring production systems, or building systematic testing pipelines for AI applications.
phoenix-observability
Open-source AI observability platform for LLM tracing, evaluation, and monitoring. Use when debugging LLM applications with detailed traces, running evaluations on datasets, or monitoring production AI systems with real-time insights.
datadog-cli
Datadog CLI for searching logs, querying metrics, tracing requests, and managing dashboards. Use this when debugging production issues or working with Datadog observability.
graph-query
Query the code graph database to understand component relationships, dependencies, and change impact. Use when the user asks to "find callers", "check dependencies", "what uses this", "show relationships", "find serializers", or when reading code and needing to understand what depends on a component before…
delphi-uses-graph
Analyzes a Delphi / Object Pascal codebase to extract unit-level uses dependencies. Use when the user uploads a zip / archive of a Delphi project (or a folder of .pas / .dpr / .dpk files) and asks for a dependency graph, architecture map, cycle detection, fan-in / fan-out coupling analysis, or wants to know how units…
ccc-systematic-debugging
Root-cause debugging via the Iron Law: no fix without confirmed root cause. Reproduce → hypothesize → verify → fix. Use when investigating bugs, test failures, or…