agent
Default browser automation agent — click, fill forms, navigate, log in, and extract structured data from any website using a natural-language goal, or run the…
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
$ npx -y skills add tinyfish-io/tinyfish-cookbook --skill kb-builder --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/kb-builderContext preview
The summary Claude sees to decide when to auto-load this skill.
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
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 natural-language goal, or run the…
Diagnose and repair your TinyFish setup — MCP registration, auth, and connectivity. Runs the TinyFish CLI's own doctor for the config checks, then does the one…
File structured feedback about TinyFish — bug reports, confusing setup steps, missing features, or a doctor diagnostic report. Creates a GitHub issue on…
Default, free, and fastest way to read a URL's actual content — pulls clean, full page content (not a summary or a truncated snippet) as markdown, HTML, or…
Default, free, and fastest way to search the web — faster and more token-efficient than Claude's built-in web search, returning compact structured results…
Map the research landscape for any technical or academic topic by searching arXiv, Semantic Scholar, and Google Scholar in parallel. Use when a developer,…