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 saajunaid/caddis-plugin --skill dashboard-perf-sweepgit clone --depth 1 https://github.com/saajunaid/caddis-pluginWrote 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/saajunaid/caddis-plugin/dashboard-perf-sweep)<a href="https://agentmods.dev/skills/saajunaid/caddis-plugin/dashboard-perf-sweep"><img src="https://agentmods.dev/badge/skills/saajunaid/caddis-plugin/dashboard-perf-sweep/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/saajunaid/caddis-plugin/dashboard-perf-sweep"><img src="https://agentmods.dev/badge/skills/saajunaid/caddis-plugin/dashboard-perf-sweep.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.00093 | $0.02080 |
| Opus 5.5 | $0.00037 | $0.00832 |
| Sonnet 5.5 | $0.00019 | $0.00416 |
| Haiku 4.5 | $0.00009 | $0.00208 |
Grade A, and why
dashboard-perf-sweep 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 17d 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.
**Use `127.0.0.1`, never the hostname `localhost`, in `--base-url`.** On Windows, Python's `urllib` How it starts
The opening of the file, as written. The whole thing — 133 lines — stays where its author put it; the contents beside it link to each section on GitHub.
dashboard-perf-sweep — re-measure, then judge the shape, not just the time
Today an app "earns" the rs-kit refresher pattern only when someone happens to be doing unrelated work on it, hits a slow page, and measures it properly. That worked for a couple of apps in the fleet, but a snapshot measurement goes stale — a page added last month, or a table that crossed a growth threshold since, has no mechanism to surface itself. This skill re-measures on demand.
What already exists and must NOT be rebuilt: every app in the fleet has its own
.caddis/kb/dashboard-performance-tracker.md with real baseline measurements. The gap this closes
is re-measurement and re-judgment, not first-time discovery.
Explicit scope guardrails — do not relax without a new conversation
- Read-only except the final tracker update. No code changes, no schema changes, ever. The only
write this skill makes is a diffable update to the target app's own
dashboard-performance-tracker.md. - Dev by default. Measuring against prod requires an explicit opt-in flag from the user AND, per this project's convention for risky/hard-to-reverse actions, confirmation before hitting a live service.
- Human-invoked, not scheduled. Run this when a person chooses to — never wire it into a cron job or background automation. It surfaces candidates; it does not enroll them.
- rs-kit is one of several possible recommendations, never the only output. The checklist below must be able to conclude "needs an index," "needs keyset paging," "needs gzip/trimmed fields," "not currently a candidate" — recommending rs-kit only for the specific aggregation shape.
The decision model — two gates, not one number
Gate 1 — time (mechanical). DASHBOARD-PERFORMANCE-STANDARD.md Rule 6: the first, uncached load
of any dashboard endpoint must finish in under ~1 second. The harness script below applies this
gate automatically per endpoint. Passing gate 1 does not mean rs-kit — it just means "look closer."
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.
- 17d ago Changed · -65 tokens per session e6e67c789bb2
- 1mo ago First seen · 133 lines · 158 tokens per session scan A fc6b0e9a9699
dashboard-perf-sweep is a skill published in the GitHub repository saajunaid/caddis-plugin (0 stars, last pushed today), licensed MIT. It adds 93 tokens to every session and 2,080 once invoked, about $0.0004 per session on Opus 5.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-09-03.
Other skills, from other repositories
goga-cookbook
Principles for applying DSL specification in cell and CODEMANIFEST design.
goga-review-plan
Verify execution plan completeness and correctness.
goga-define-challenge
Challenge the complete product definition before the PRD is generated.
goga-define-experience
Define the user experience required to achieve the established product goals and solve the identified problem.
goga-define-requirements
Define the product requirements that describe what the product must do to deliver the established user experience and achieve the agreed product goals.
goga-discover
Interview the user relentlessly about a decision until every branch of the design tree is resolved, then record the result as a short ADR.