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/mirandakim1434/spider-data/skillnpx skills add MirandaKim1434/spider-data --skill skillgit clone --depth 1 https://github.com/MirandaKim1434/spider-dataWrote 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/mirandakim1434/spider-data/skill)<a href="https://agentmods.dev/skills/mirandakim1434/spider-data/skill"><img src="https://agentmods.dev/badge/skills/mirandakim1434/spider-data/skill.svg" alt="Measured on agentmods" 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.00119 | $0.01101 |
| Opus 5 | $0.00060 | $0.00550 |
| Sonnet 5 | $0.00024 | $0.00220 |
| Haiku 4.5 | $0.00012 | $0.00110 |
Grade A, and why
spider-data 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 5d 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 — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
spider-data
All web access goes through one CLI. WebSearch and WebFetch are denied by
policy and will not run.
spider-data search "<query>" [--num 8] [--json]
spider-data fetch "<url>" [--format md|html|text] [--json]
spider-data crawl "<url>" [--limit 20]
Add --json when you want to branch on the result programmatically. Without it
you get readable text.
Branch on the exit code, never on the wording
Every failure has a stable code. Read it and act; do not re-read the prose and guess.
| Exit | Meaning | What to do |
|---|---|---|
| 0 | Success — including a search that matched nothing | Use the result |
| 3 | Cross-site redirect, not followed | Re-run fetch on the redirect_to value if you still want it |
| 4 | The target refuses anonymous access (bot wall, login wall, paywall) | The ladder already tried. Find another source |
| 5 | The page does not exist | Do not retry. Fix the URL or search for the real one |
| 6 | Transient | Retry once, later. If it repeats, move on |
| 7 | The API key is wrong or missing | Stop and tell the user to run spider-data auth login |
| 8 | No spider.cloud credit left | Stop and tell the user. Do not keep trying |
| 9 | Rate limited | Wait, then retry once |
| 10 | Refused locally (SSRF guard, robots.txt, bad scheme) | Do not work around it. This is a deliberate boundary |
Exits 5, 7, 8 and 10 are terminal. Retrying them wastes time or money and changes nothing.
Zero results is an answer
spider-data search exiting 0 with an empty list means the query genuinely
matched nothing. It does not mean the tool failed.
Reword and re-run at most once. Each search is a paid call, and a query with no answer still has no answer the fifth time. Say the search found nothing and move on to a different approach.
Long pages: read the outline, then drill in for free
A long page comes back as a section outline plus as much text as fits. The full text is already cached, so these follow-ups cost nothing and make no API call:
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.
- 5d ago First seen · 105 lines · 119 tokens per session scan A cc285fd0e2ac
spider-data is a skill published in the GitHub repository MirandaKim1434/spider-data (0 stars, last pushed 25d ago), licensed MIT. It adds 119 tokens to every session and 1,101 once invoked, about $0.0006 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
laravel-actions
Build, refactor, and troubleshoot Laravel Actions using lorisleiva/laravel-actions. Use when implementing reusable action classes (object/controller/job/listener/command), converting service classes/controllers/jobs into actions, orchestrating workflows via faked actions, or debugging action entrypoints and wiring.
review-pending-pr-reviews
Review, grill, edit, and post pending PR review drafts saved by /review-pr (or its batch/cron runners). Lists drafts that have not yet been posted, walks the maintainer through each finding, then posts, closes, or discards. Use when the user says "post my pending reviews", "what reviews are waiting", "go through the…
Workspace Data Analyst
Analyze CSV files in the workspace and summarize insights.
cabloy-worktree-environment
This skill must be used only when the user explicitly invokes /cabloy-worktree-environment or explicitly asks to perform the named Cabloy worktree-environment setup. It prepares a confirmation-gated, worktree-local Vona and Zova runtime environment for a linked Cabloy Basic or Cabloy Start Git worktree using Git…
version-upgrade
Prepare, validate, and publish a Rustwright version across the Python/PyPI and Node.js/npm packages. Use when asked to bump or upgrade the Rustwright version, prepare a release PR, tag a release, publish Rustwright, or verify both package registries.
implementing-jsc-classes-cpp
Implements JavaScript classes in C++ using JavaScriptCore. Use when creating new JS classes with C++ bindings, prototypes, or constructors.