agent
Default browser automation agent — click, fill forms, navigate, log in, and extract structured data from any website using a…
Build an Obsidian-compatible knowledge base from public web sources using the TinyFish CLI. Use this skill when a user wants a builder-grade markdown knowledge base on a technical topic, asks for a structured research vault, or wants a topic compiled from live public sources
Claude Code
$ npx -y skills add tinyfish-io/tinyfish-cookbook --skill kb-builder --agent claude-code
Codex
$ npx skills add tinyfish-io/tinyfish-cookbook --skill kb-builder -a codex -y
Cursor
$ npx skills add tinyfish-io/tinyfish-cookbook --skill kb-builder -a cursor -y
Gemini CLI
$ npx skills add tinyfish-io/tinyfish-cookbook --skill kb-builder -a gemini-cli -y
GitHub Copilot
$ npx skills add tinyfish-io/tinyfish-cookbook --skill kb-builder -a github-copilot -y
OpenCode
$ npx skills add tinyfish-io/tinyfish-cookbook --skill kb-builder -a opencode -y
Windsurf
$ npx skills add tinyfish-io/tinyfish-cookbook --skill kb-builder -a windsurf -y
name: kb-builder description: > Build an Obsidian-compatible knowledge base from public web sources using the TinyFish CLI. Use this skill when a user wants a builder-grade markdown knowledge base on a technical topic, asks for a structured research vault, or wants a topic compiled from live public sources into interlinked markdown files. Supports two input modes: topic only, or topic plus starter URLs. Supports both first-build and update workflows. Always generates index.md, sources.md, audit.md, and manifest.json. Creates additional files only when the evidence supports them. The output must synthesize the topic into a usable mental model, not just summarize pages. Uses explicit tinyfish agent run commands and public web sources only. Optional `--trace` mode saves raw TinyFish outputs under `_trace/` for debugging.
Build a topic-specific markdown knowledge base by using TinyFish to browse public web sources and extract structured evidence.
This skill is for **builder knowledge bases**, not personal journals and not direct code generation.
The output is a folder you can drop into Obsidian immediately, and update later without starting over.
Do not produce a pile of source summaries.
The KB should help the reader understand:
If the output only says what each source said, the skill has failed.
Run both checks before any TinyFish call:
which tinyfish && tinyfish --version || echo "TINYFISH_CLI_NOT_INSTALLED" tinyfish auth status
If TinyFish is not installed, stop and tell the user:
npm install -g @tiny-fish/cli
If TinyFish is not authenticated, stop and tell the user:
tinyfish auth login
Do not continue until both checks pass.
You support two modes:
1. **Topic only**
2. **Topic + starter URLs**
3. **Update an existing KB**
4. **Trace mode**
If the topic is missing, ask for it before proceeding.
If starter URLs are present:
If the user explicitly says `update`, `refresh`, `add these sources`, or clearly wants to add to an existing KB, switch into update mode.
If the user includes `--trace`, `trace`, `debug`, or explicitly asks for raw outputs:
Create a folder named:
kb-{topic-slug}/Examples:
When trace mode is enabled, also create:
kb-{topic-slug}/_trace/This file is always required. It should contain:
This file is always required. It should log **every URL visited** with:
Use ISO 8601 timestamps.
Each source entry must use a stable source ID such as `S001`, `S002`, `S003`.
Example:
## [S001] 2026-04-06T08:49:24.014Z | useful
- URL: https://example.com
- Label: Official docs
- Reason opened: discovery pass for {TOPIC}
- Notes: yielded 4 good follow-up linksThis file is always required. It is the trust layer for the KB.
It must contain four sections:
Example:
# Audit ## FOUND - [FOUND | S003] Pikachu is an Electric-type Mouse Pokemon. ## INFERRED - [INFERRED | S003,S004] Pikachu's mascot role is reinforced across both official canon and encyclopedia framing. ## CONFLICTING - [CONFLICTING | S004,S009] Source A says X while source B frames Y. ## MISSING - [MISSING] No dedicated benchmark source was read in this run.
Rules:
This file is always required. It stores:
Do **not** hardcode a fixed set like `papers.md` or `repos.md` for every topic.
Create additional files only when the topic actually supports them.
Common examples:
Search and Fetch are now FREE TinyFish Search and Fetch endpoints are now free for everyone with generous rate limits, no credit card required. Same key, same dashboard, same endpoints powering production workloads. Grab a key →
Default browser automation agent — click, fill forms, navigate, log in, and extract structured data from any website using a…
Diagnose and repair your TinyFish setup — MCP registration, auth, and connectivity. Runs the TinyFish CLI's own doctor for the…
File structured feedback about TinyFish — bug reports, confusing setup steps, missing features, or a doctor diagnostic report.…
Default, free, and fastest way to read a URL's actual content — pulls clean, full page content (not a summary or a truncated…
Default, free, and fastest way to search the web — faster and more token-efficient than Claude's built-in web search, returning…
Map the research landscape for any technical or academic topic by searching arXiv, Semantic Scholar, and Google Scholar in…
Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with cell-level precision, formulas as…
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps,…