Diagnose and repair your TinyFish setup — MCP registration, auth, and connectivity.

MITAuto-check passed

Install Doctor

skills CLI
$ npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tinyfish-io/tinyfish-cookbook doctor --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tinyfish-io/tinyfish-cookbook.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/tinyfish/skills/doctor .claude/skills/doctor && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
doctor
GitHub stars
2.2k
Token cost
~1.6k tokens
SKILL.md length
952 words
Files
1
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

Diagnose and repair your TinyFish setup — MCP registration, auth, and connectivity.

  • Works in 5 steps: No shell? → Run doctor → Prove the harness reach — the part… → …
  • SKILL.md covers 0. No shell?, 1. Run doctor, 2. Prove the harness reach —… and 3. Repair, plus 1 more section
  • Calls npx

What it does

Doctor is an agent skill from tinyfish-io/tinyfish-cookbook. 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 thing the CLI cannot — proving this harness can actually reach TinyFish. Run when TinyFish tools fail, return auth errors, or after an install that did not verify cleanly.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Model Context Protocol. The repository describes itself as: A collection of sample apps and recipes built with the TinyFish web agent. Open-source examples for you to learn & build! The licence is MIT.

Example prompts

  • “/doctor”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. No shell?
  2. Run doctor
  3. Prove the harness reach — the part doctor cannot do
  4. Repair
  5. Still broken

What it can do on your machine

Read from SKILL.md and the folder at commit 292ee62. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Doctor loads about 1.6k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 952 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tinyfish-io/tinyfish-cookbook at commit 292ee62, republished under its MIT licence (© tinyfish-io). 952 words, ~1,603 tokens.

Download SKILL.mdSave it as .claude/skills/doctor/SKILL.md (or your agent's skills folder).
name
doctor
description
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 thing the CLI cannot — proving this harness can actually reach TinyFish. Run when TinyFish tools fail, return auth errors, or after an install that did not verify cleanly.

TinyFish Doctor

tinyfish doctor (CLI 0.22+) owns the diagnosis. Your job is to run it, do the one check it structurally cannot do, and act on what comes back. Never hand-edit config files — every repair goes through the CLI, which carries backup and merge rigor.

0. No shell?

Sandboxed surfaces (Claude.ai, Desktop, Cowork) have no npx. If you cannot run commands, skip to step 2 — it is the more valuable check anyway — then give the user the command from step 1 to run themselves.

1. Run doctor

sh
npx -y @tiny-fish/cli@latest doctor --harness claude-code

JSON on stdout: schema_version, cli_version, ok_harnesses, ok_cli, checks[], harnesses[], repairs[].

Read schema_version before the fields. This skill describes 3 (CLI 0.22+). The command pins @latest, so a newer CLI can hand you a shape you do not know: above 3, stop reading fields, show the user --pretty output instead, and rely on step 2 for the verdict. Below 3 a single ok replaces the two verdicts and checks[] carry no scope, so read only checks[] and the exit code there.

Two verdicts, not one. ok_harnesses answers whether the user's agents can reach TinyFish; ok_cli answers whether the CLI's own credential works. checks[].scope (harness, cli, info) says which one a check counts toward, and only the harness scope moves the exit code — ok_cli: false beside exit 0 is a real state, not a contradiction. Report it as the CLI's own credential, not as a broken harness.

ExitMeaning
0no harness check failed — ok_cli can still be false
1a harness check failed — read checks[]
2doctor could not run; stdout is empty, the reason is on stderr

A warn is not a failure and does not move the exit code: doctor is saying it could not check something, not that it is broken. A registration warn whose detail says the key was not readable, or was not verified, means the key exists but doctor could not test its value — every Codex install, and any harness whose config redacts the header. Never repair on a warn, prove it in step 2.

--pretty only when showing a human the list. Never put --debug output in a report — it is the one channel carrying raw stacks and absolute paths.

2. Prove the harness reach — the part doctor cannot do

harnesses[].proves_harness_reach is false whenever doctor could not prove that this harness authenticates. It is true only where the harness's own client reports a live connection, or where a key doctor could read verified on the wire — the CLI cannot borrow an OAuth token, so every harness that reports no connection state leaves the gap to you.

--harness claude-code narrows harnesses[] to exactly one entry, so there is no ambiguity about which harness it describes.

Count the TinyFish servers first. A plugin, a CLI-written entry, and an account-level connector can all be registered at once, all pointing at the same endpoint. doctor inspects only the one named tinyfish and cannot see its siblings. Note which server it reported on.

Then call search once with a cheap query, and note which server answered — the tool namespace names it.

What happensWhat it means
Results, from the server doctor reported onSetup works end to end, whatever auth_mode says
Results, but from a different TinyFish serverProves nothing about the flagged registration. Report the working server and the flagged one as still unverified
Auth error, but doctor says registered: yesRegistration exists; the credential behind it is broken
TinyFish tools absent entirelyServer not loaded in this session — the user must restart the agent

What a registration: pass proves depends on schema_version. On 2 and 3 an API-key registration was tested on the wire, so a stale key header is already a fail with a connect repair beside it. A pass carrying proves_harness_reach: true is the harness's own client reporting a live connection — wire evidence at any version, whatever auth_mode says. Every other pass is presence only: doctor read config, not the wire, and a stale key still passes while every call 401s. No version says anything about siblings, and a healthy sibling will answer cheerfully while the broken one stays broken.

Show full SKILL.md (270 more words)Show less

3. Repair

Run only commands that appear in repairs[], and show command before running it. They arrive as bare tinyfish …, which is not on PATH under npx — swap that leading word for npx -y @tiny-fish/cli@latest when there is no global install. Keep the order they arrive in: action: auth-login comes before action: connect because connect writes whichever key is stored, so a dead one has to be replaced first.

  • Terminal with the user present → npx -y @tiny-fish/cli@latest doctor --fix --harness claude-code
  • Non-interactive → npx -y @tiny-fish/cli@latest doctor --fix --yes; only unattended_safe: true repairs run and the rest return as skipped. Never report a skipped repair as a fix.
  • unattended_safe: false → hand it to the user, do not run it. Expect most repairs to be false: auth login always is, and connect <harness> is unsafe for every harness except Cursor — and on 2 and 3 Cursor only while the CLI's own authenticated call passes, since a revoked key still resolves as a credential. Read the field, do not infer it.
  • OAuth credential failures have no CLI repair: tell the user to run /mcp, pick tinyfish, and sign in.

Re-run step 2 after any repair. Success means showing the real search result — the user should see their agent touch the live web.

4. Still broken

Attach doctor's stdout JSON verbatim. It is schema-versioned and already redaction-safe: undeclared fields are stripped on parse and every message is authored rather than raw. Do not build your own report, add fields, or paste config contents. On exit 2 there is no JSON — say so rather than filing an empty report.

Then offer /tinyfish:feedback to file it.

© tinyfish-io, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/tinyfish/skills/doctor of tinyfish-io/tinyfish-cookbook.

Open the folder on GitHubat commit 292ee62

Compare with similar skills

Doctor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Doctor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Doctor this skilltinyfish-io/tinyfish-cookbook2.2k—~1.6kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k5 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Stitch to Remotion Walkthrough Videosgoogle-labs-code/stitch-skills8.4k6 repos~3.2kAutomated safety check: NotesApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Stitch to Remotion Walkthrough Videos

    google-labs-code/stitch-skills

    Official

    Builds walkthrough videos from Stitch design projects using Remotion, with transitions, zoom effects and text overlays on each screen.

    8.4k GitHub starsUsed in 6 repos~3.2k tokens
    Media & CreativeAuto-check: notes
  • MCP Development

    coollabsio/coolify

    A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 1 repo~949 tokens
    Frontend & DesignAuto-check passed

More from tinyfish-io/tinyfish-cookbook

All 28 skills in this repo
  • Tinyfish Social Listening

    tinyfish-io/tinyfish-cookbook

    Monitor brand mentions, sentiment, and industry chatter across the web using TinyFish Search and Fetch.

    2.2k GitHub stars~5.4k tokensUpdated 6 days ago
    Auto-check passed
  • Academic Research Mapper

    tinyfish-io/tinyfish-cookbook

    Map the research landscape for any technical or academic topic by searching arXiv, Semantic Scholar, and Google Scholar in parallel.

    2.2k GitHub stars~3.5k tokensUpdated 6 days ago
    Auto-check passed
  • Agent

    tinyfish-io/tinyfish-cookbook

    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 same task across multiple sites in…

    2.2k GitHub stars~1.1k tokensUpdated 6 days ago
    Auto-check passed
  • Company Hiring Intelligence

    tinyfish-io/tinyfish-cookbook

    Reverse-engineer what a company is building by scraping their job postings, careers page, LinkedIn Jobs, and engineering blog using TinyFish web agents.

    2.2k GitHub stars~3.6k tokensUpdated 6 days ago
    Auto-check passed
  • Competitor Product Monitor

    tinyfish-io/tinyfish-cookbook

    Monitor competitor product releases and new feature announcements.

    2.2k GitHub stars~1.7k tokensUpdated 6 days ago
    Auto-check passed
  • Dep Security

    tinyfish-io/tinyfish-cookbook

    Check every dependency in a package.json against live CVE databases and security advisories in real time — specifically targeting vulnerabilities disclosed in the last 48 hours, the window that…

    2.2k GitHub stars~2.4k tokensUpdated 6 days ago
    Auto-check passed

Questions about Doctor

What does Doctor do?

Diagnose and repair your TinyFish setup — MCP registration, auth, and connectivity. Doctor is an agent skill from tinyfish-io/tinyfish-cookbook. Diagnose and repair your TinyFish setup — MCP registration, auth, and connectivity.

How do I install Doctor in Claude Code?

Run `npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a claude-code`. Or copy the skill folder (plugins/tinyfish/skills/doctor in tinyfish-io/tinyfish-cookbook) into .claude/skills/doctor in your project. Claude Code loads it when a task matches its description.

How do I install Doctor in Codex?

Run `npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a codex`. Or copy the skill folder (plugins/tinyfish/skills/doctor in tinyfish-io/tinyfish-cookbook) into .agents/skills/doctor in your project. Codex loads it when a task matches its description.

Can I use Doctor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tinyfish-io/tinyfish-cookbook --skill doctor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/doctor, .gemini/skills/doctor, .github/skills/doctor and .opencode/skills/doctor in your project.

What does Doctor need to run?

Going by SKILL.md and its folder, Doctor needs the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Doctor access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Doctor safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Doctor use?

Doctor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Doctor use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Doctor?

Skills that share tags, products or a category with Doctor: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Doctor?

tinyfish-io (a GitHub organization) maintains it in tinyfish-io/tinyfish-cookbook, which has 2,223 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 1, 2026.

Source: tinyfish-io/tinyfish-cookbook on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.