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/m-binimran/dev-pack/error-statesnpx skills add m-binimran/dev-pack --skill error-statesgit clone --depth 1 https://github.com/m-binimran/dev-packWhat 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.00053 | $0.00369 |
| Opus 5 | $0.00026 | $0.00185 |
| Sonnet 5 | $0.00011 | $0.00074 |
| Haiku 4.5 | $0.00005 | $0.00037 |
Grade A, and why
error-states 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 yesterday.
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.
What it actually says
error-states
Most apps ship the happy path and forget the other three. A surface isn't done until loading, empty, and error are all handled.
The four states for every data surface
- Loading —
loading.tsxor<Suspense fallback>. Use skeletons that match the final layout (no CLS), not a bare spinner where possible. - Empty — designed empty state with a next action ("No projects yet — create one"), not a blank box.
- Error —
error.tsx(client error boundary) with a human message + a retry (reset()); log the real error server-side. Never show a raw stack trace to users. - Not found —
not-found.tsx+notFound()for missing resources (real 404, not a 200 with "nothing here").
Feedback for actions
- Mutations show pending state (disabled + spinner) and a success/error toast (
aria-livefor errors). - Optimistic updates roll back visibly on failure (see
state-architect).
Output
- The loading/empty/error/not-found treatments for the surface, and the action feedback.
- State which of the four are implemented and which are N/A.
Guardrails
- No surface ships with only the happy path.
- Error UI must not leak internal details; log them server-side instead.
- Skeletons must reserve the real layout's space to avoid layout shift.
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.
- yesterday First seen · 31 lines · 53 tokens per session scan A 78e5059a62ef
error-states is a skill published in the GitHub repository m-binimran/dev-pack (2 stars, last pushed 2mo ago), licensed MIT. It adds 53 tokens to every session and 369 once invoked, about $0.0003 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
investigate-issue
Investigate a GitHub issue by fetching details, analyzing the codebase, researching documentation, and presenting an actionable implementation plan with test guidance. Use when asked to investigate, analyze, triage, or plan work for a GitHub issue. Invoked with /investigate-issue or /investigate-issue (prompts for ID).
resolve-pr-comments-stack
Resolve unresolved PR review comments across an entire Graphite (gt) stack of many PRs, bottom-up, in one working directory. Use when asked to "go through this stack and resolve comments", "clean up review comments across the whole stack", or given a list/range of PR numbers that form (or partially form) a gt stack.…
resolve-pr-comments
Skill "resolve-pr-comments" from maximhq/bifrost, covering resolve pr comments, usage, workflow overview, step 1: detect repository and step 2: fetch unresolved comments (graphql).
harness-test-writer
Add regression test cases to the Bifrost provider harness (the Postman collection run via make run-provider-harness-test) based on a merged PR or a GitHub issue. Fetches the PR/issue, traces the affected wire path in the codebase, checks existing harness coverage, designs cases following harness conventions, inserts…
trulens-blocking-guardrails
Configure and use feedback functions as runtime blocking guardrails.
review-pr
Reviews a PR or diff with multi-angle finders and adversarial verification, then reports a findings table, a merge/no-merge recommendation, required followups, and offers to create a follow-up PR. Use when the user types /review-pr [PR# | branch | path].