TinyFish Cookbook is a collection of example applications, recipes, and automations built with TinyFish, a web service that lets AI agents search the live web, read pages, and perform browser-based tasks. Developers use it to learn how to build web agents and connect them with workflows such as research, monitoring, and data collection. The catalogue entries provide agent skills and integrations for working with these examples and TinyFish endpoints.
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 tinyfish-io/tinyfish-cookbook --skill fetchgit clone --depth 1 https://github.com/tinyfish-io/tinyfish-cookbookWrote 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/tinyfish-io/tinyfish-cookbook/fetch)<a href="https://agentmods.dev/skills/tinyfish-io/tinyfish-cookbook/fetch"><img src="https://agentmods.dev/badge/skills/tinyfish-io/tinyfish-cookbook/fetch/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/tinyfish-io/tinyfish-cookbook/fetch"><img src="https://agentmods.dev/badge/skills/tinyfish-io/tinyfish-cookbook/fetch.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00121 | $0.00710 |
| Opus 5.5 | $0.00048 | $0.00284 |
| Sonnet 5.5 | $0.00024 | $0.00142 |
| Haiku 4.5 | $0.00012 | $0.00071 |
Grade A, and why
fetch 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 — 48 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TinyFish Fetch
Free, token-efficient content extraction via the bundled TinyFish MCP server (fetch_content tool). Renders pages in a real browser and returns clean, structured content — actual page text, not a lossy summary — so it handles JavaScript-heavy and dynamic pages that raw HTTP fetching can't.
When to use this over built-in fetch
- It's free and returns clean, deduplicated content instead of raw markup, so it costs fewer tokens to read.
- It renders in a real browser, so it works on JS-heavy pages that a plain HTTP fetch would return empty or broken.
- It fetches up to 10 URLs in parallel in a single call — no need for repeated round-trips.
- Optional CSS-selector scoping (
include_selectors/exclude_selectors) lets you pull just the content that matters and skip boilerplate, and conditional-request support (if_none_match/if_modified_since) avoids re-fetching unchanged pages.
Parameters
urls(required) — 1-10 URLs, fetched in parallel; one failing doesn't block the othersformat—"markdown"(default, best for LLM consumption),"html"(cleaned semantic HTML), or"json"(structured document tree)links— include all outbound links from each pageimage_links— include all image URLs from each pageinclude_selectors/exclude_selectors— arrays of CSS selectors to scope extraction to, or strip out before extractionif_none_match/if_modified_since— replay a prior ETag/Last-Modified validator (single URL only). Only works on the fast (non-browser-rendered) path — a browser-rendered URL may returnconditional_unsupported; if so, retry without the validators.include_etag_and_last_modified— opt in to receiving validators on each result for future conditional requestsper_url_timeout_ms— independent timeout budget per URLpurpose— optional short note on why you're fetching, used to tailor extraction
Response includes per URL: url, final_url, title, language, author, published_date, text (and links/image_links if requested).
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 · 48 lines · 121 tokens per session scan A 109e4a755886
fetch is a skill published in the GitHub repository tinyfish-io/tinyfish-cookbook (2,254 stars, last pushed 8d ago), licensed MIT. It adds 121 tokens to every session and 710 once invoked, about $0.0005 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-30.
Other skills, from other repositories
typescript-strict
TypeScript strict mode patterns with interfaces, type guards, generics, and utility types. Use when defining types, creating type-safe functions, handling nullable values, or implementing generic components.
agentscope-java
Expert Java developer skill for AgentScope Java framework - a reactive, message-driven multi-agent system built on Project Reactor. Use when working with reactive programming, LLM integration, agent orchestration, multi-agent systems, or when the user mentions AgentScope, ReActAgent, Mono/Flux, Project Reactor, or…
chat-sdk
Build multi-platform chat bots with Chat SDK (chat npm package). Use when developers want to (1) Build a Slack, Teams, Google Chat, Discord, Telegram, GitHub, Linear, or WhatsApp bot, (2) Use Chat SDK to handle mentions, direct messages, subscribed threads, reactions, slash commands, cards, modals, files, or AI…
type-safety
TypeScript type safety conventions for the Playwright scaffold — the "no any" rule, Zod 4 schema patterns (z.strictObject, top-level validators like z.uuid / z.email / z.url / z.int / z.enum), schemas built directly from the documented OpenAPI / Swagger contract (response envelope spelled out per endpoint), type…
enums
TypeScript enum conventions for the Playwright scaffold — PascalCase enum names, SCREAMINGSNAKECASE members, location rules for app-specific (enums/{area}/) vs shared/utility (enums/util/) constants, and the rules for adding or extending enums. Use when adding a new API endpoint path, UI message, role, storage-state…
refactor-values
Safe refactoring workflow for enum values, enum keys, and static test data in test-data/static/.ts — mandatory impact analysis, cascading updates, and verification. Use BEFORE changing any enum member's string value (ApiEndpoints., Messages., Roles, StorageStatePaths), renaming any enum key, or editing any existing…