Agent skill

Self Improve With Tinyfish

by tinyfish-io in tinyfish-io/tinyfish-cookbook

Enables Hermes to create new reusable skills for itself by researching live web sources with TinyFish Search and Fetch, analyzing source coverage, writing SKILL.md files, and installing them into…

MITAuto-check passedAgent Workflows

Install Self Improve With Tinyfish

skills CLI
$ npx skills add tinyfish-io/tinyfish-cookbook --skill self-improve-with-tinyfish -a claude-code

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

GitHub CLI
$ gh skill install tinyfish-io/tinyfish-cookbook self-improve-with-tinyfish --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/skills/tinyskill .claude/skills/self-improve-with-tinyfish && 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
self-improve-with-tinyfish
GitHub stars
2.2k
Token cost
~2.5k tokens
SKILL.md length
862 words
Files
2
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

Enables Hermes to create new reusable skills for itself by researching live web sources with TinyFish Search and Fetch, analyzing source coverage, writing SKILL.md files, and installing them into…

  • Works in 6 steps: Acknowledge the learning request. → Search with TinyFish. → Analyze search results. → …
  • The user asks Hermes to learn
  • SKILL.md covers When To Use, Pre-flight Check (REQUIRED), Core Workflow and Search Pattern, plus 8 more sections
  • Calls python3 and npm; reaches api.search.tinyfish.ai and api.fetch.tinyfish.ai; needs TINYFISH_API_KEY

What it does

Self Improve With Tinyfish is an agent skill from tinyfish-io/tinyfish-cookbook. Enables Hermes to create new reusable skills for itself by researching live web sources with TinyFish Search and Fetch, analyzing source coverage, writing SKILL.md files, and installing them into Hermes memory. Use when the user asks Hermes to learn, teach itself, upgrade itself, or save a reusable capability.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `README.md`).

It sits in Agent Workflows, covering Skill authoring and Web search. 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.

When your agent uses it

  • The user asks Hermes to learn
  • Save a reusable capability

Example prompts

  • “Use the self-improve-with-tinyfish skill to enable Hermes to create new reusable skills for itself by researching live web sources with TinyFish…”
  • “/self-improve-with-tinyfish”

Requirements

  • Python 3
  • Node.js
  • A credential in TINYFISH_API_KEY

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Acknowledge the learning request.
  2. Search with TinyFish.
  3. Analyze search results.
  4. Fetch selected URLs.
  5. Write the new skill.
  6. Install and verify.

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:

    • python3
    • npm

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.search.tinyfish.ai
    • api.fetch.tinyfish.ai

    Also links to:

    • docs.tinyfish.ai
    • agent.tinyfish.ai

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • TINYFISH_API_KEY

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

Context cost

Self Improve With Tinyfish loads about 2.5k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 862 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
~2.5k

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). 862 words, ~2,477 tokens.

Download SKILL.mdSave it as .claude/skills/self-improve-with-tinyfish/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
self-improve-with-tinyfish
description
Enables Hermes to create new reusable skills for itself by researching live web sources with TinyFish Search and Fetch, analyzing source coverage, writing SKILL.md files, and installing them into Hermes memory. Use when the user asks Hermes to learn, teach itself, upgrade itself, or save a reusable capability.

Self-Improve With TinyFish

When To Use

Use this skill when the user asks Hermes to:

  • Learn a new tool, API, framework, workflow, or domain for future tasks.
  • Create, install, or improve a reusable Hermes skill.
  • Research official docs and examples before writing procedural memory.
  • "Teach yourself," "upgrade yourself," or "make a skill for this."

Do not use this skill for ordinary one-off answers unless the user explicitly wants a saved skill.

Pre-flight Check (REQUIRED)

Before making any TinyFish call, determine which mode to use.

1. Check for CLI:

bash
which tinyfish && tinyfish --version || echo "TINYFISH_CLI_NOT_FOUND"

2. If CLI is found, check auth:

bash
tinyfish auth status

If authenticated, use CLI mode for all searches and fetches below.

3. If CLI is not found, check for API key:

bash
test -n "$TINYFISH_API_KEY" && echo "API_KEY_AVAILABLE" || echo "TINYFISH_API_KEY is not set"

If the API key is available, use API mode for all searches and fetches below.

4. If neither CLI nor API key is available, stop and tell the user:

Install the TinyFish CLI: npm install -g @tiny-fish/cli Then authenticate: tinyfish auth login

Or set TINYFISH_API_KEY in your environment. Get a key at: https://agent.tinyfish.ai/api-keys

Do NOT proceed until one mode is confirmed.


Core Workflow

  1. Acknowledge the learning request.

    • Send a short progress update: I'll research this with TinyFish and create a reusable skill.
    • Extract a clean skill topic from the user request.
    • Preserve constraints such as "check official docs," "cover all endpoints," "focus on errors," or "make it production-ready."
  2. Search with TinyFish.

    • Use the CLI or API (whichever passed pre-flight).
    • Run multiple targeted searches.
    • Prefer official docs and authoritative examples first.
    • Do not invent URLs.
  3. Analyze search results.

    • Review titles, snippets, URLs, site names, and ranks.
    • Decide if the current sources cover setup, main workflow, edge cases, and validation.
    • If coverage is weak, run follow-up searches before fetching.
  4. Fetch selected URLs.

    • Use TinyFish Fetch for known URLs.
    • Fetch 3-8 strong sources by default.
    • Prefer markdown output.
    • Continue if one URL fails; replace critical failed sources with another search result.
  5. Write the new skill.

    • Create a focused SKILL.md.
    • Make it procedural and reusable.
    • Include gotchas, defaults, validation, and references.
    • Do not dump raw docs.
  6. Install and verify.

    • Save the generated skill using Hermes skill management.
    • Verify with skill_view or skills list.
    • Tell the user only the skill name and that it can be used going forward.

Search Pattern

Use TinyFish Search when you need ranked web results, snippets, and URLs.

CLI mode
bash
tinyfish search query "{topic} official documentation" --pretty

Run multiple searches:

bash
tinyfish search query "{topic} official documentation"
tinyfish search query "{topic} API reference"
tinyfish search query "{topic} quickstart examples"
tinyfish search query "site:github.com {topic} examples issues"
tinyfish search query "{topic} common errors best practices"

For API skills, add:

bash
tinyfish search query "{topic} authentication"
tinyfish search query "{topic} SDK reference"
tinyfish search query "{topic} rate limits errors"

For framework skills, add:

bash
tinyfish search query "{topic} production best practices"
tinyfish search query "{topic} testing debugging deployment"
API mode (fallback)
bash
python3 - <<'PY'
import json
import os
import urllib.parse
import urllib.request

query = "Remotion official docs best practices"
api_key = os.environ["TINYFISH_API_KEY"]
url = "https://api.search.tinyfish.ai?query=" + urllib.parse.quote(query)

req = urllib.request.Request(url, headers={"X-API-Key": api_key})
with urllib.request.urlopen(req, timeout=15) as res:
    data = json.load(res)

for r in data.get("results", [])[:10]:
    print(json.dumps({
        "position": r.get("position"),
        "site_name": r.get("site_name"),
        "title": r.get("title"),
        "url": r.get("url"),
        "snippet": r.get("snippet"),
    }, ensure_ascii=False))
PY

Run the same query variations listed in CLI mode above, substituting the query variable each time.


Search Analysis Loop

After each search pass, decide:

  • Do I have at least one official source?
  • Do I have setup or authentication covered?
  • Do I have the main workflow covered?
  • Do I have enough code or command examples?
  • Do I have likely mistakes and validation checks?
  • Are there duplicate or low-value sources I should ignore?

If no, send a short user update and run targeted follow-up searches.

Example update:

text
I found the official docs and examples. I'm checking for pitfalls and validation guidance before writing the skill.

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

Source Selection Rules

Prefer sources in this order:

  1. Official docs, API references, quickstarts.
  2. Official examples, cookbook repos, templates.
  3. GitHub issues/discussions with concrete failure modes.
  4. Stack Overflow answers for specific errors.
  5. High-quality technical blog posts that fill real gaps.

Reject:

  • Marketing pages without implementation detail.
  • Duplicate docs pages.
  • Outdated sources when official docs exist.
  • Shallow posts that only repeat generic concepts.

Default to 3-8 fetched URLs total.


Fetch Pattern

Use TinyFish Fetch when you already know the URLs and need clean extracted content.

CLI mode
bash
tinyfish fetch content get --format markdown "https://example.com/docs" "https://example.com/quickstart"
  • Accepts multiple URLs in a single call — they are fetched in parallel server-side.
  • --format markdown (default) returns clean readable text.
  • Add --links to include extracted links from each page.
bash
tinyfish fetch content get --format markdown --links \
  "https://example.com/docs" \
  "https://example.com/quickstart" \
  "https://example.com/api-reference"
API mode (fallback)

Fetch up to 10 URLs per request:

bash
python3 - <<'PY'
import json
import os
import urllib.request

api_key = os.environ["TINYFISH_API_KEY"]
urls = [
    "https://example.com/docs",
    "https://example.com/quickstart",
]

body = json.dumps({
    "urls": urls,
    "format": "markdown",
}).encode()

req = urllib.request.Request(
    "https://api.fetch.tinyfish.ai",
    data=body,
    headers={
        "X-API-Key": api_key,
        "Content-Type": "application/json",
    },
    method="POST",
)

with urllib.request.urlopen(req, timeout=150) as res:
    data = json.load(res)

for page in data.get("results", []):
    print("\n---SOURCE---")
    print("URL:", page.get("url"))
    print("FINAL:", page.get("final_url"))
    print("TITLE:", page.get("title"))
    print("TEXT:")
    print((page.get("text") or "")[:12000])

for err in data.get("errors", []):
    print("\n---FETCH ERROR---")
    print(err)
PY

Fetch returns per-URL errors in errors[]. Do not fail the whole run because one source failed.


Writing The Generated Skill

The generated skill must be raw Markdown beginning with frontmatter:

markdown
---
name: concise-kebab-case-name
description: Third-person description of what the skill does and when to use it.
---

The description must include:

  • What the skill does.
  • When Hermes should use it.

Use this structure unless the topic requires a better one:

markdown
# Skill Title

## When To Use

## Core Workflow

## Defaults

## Key Patterns

## Gotchas

## Validation

## References

Write for future Hermes behavior, not for a human tutorial.

Include:

  • Exact commands or code only when they change execution.
  • Defaults and decision rules.
  • Gotchas that Hermes is likely to miss.
  • Validation checks before finishing.
  • Source URLs in References.

Avoid:

  • Raw search dumps.
  • Long copied docs sections.
  • Generic "best practices" filler.
  • Unverified claims.
  • Menus of options without a recommended default.

Installing The Skill

After writing the skill:

  1. Save it using Hermes skill management.
  2. Verify the skill exists with skill_view or equivalent.
  3. If verification fails, repair the frontmatter or skill path.
  4. Send the user a concise completion message.

Completion message:

text
Done, I added the <skill-name> skill and can use it going forward.

Do not send the full SKILL.md unless the user asks.

User Progress Updates

During long runs, send concise updates:

text
I'll research this with TinyFish and create a reusable skill.
Searching official docs and examples...
I found 6 candidate sources and am checking coverage.
Fetching the best sources...
Writing the skill...
Installing and verifying it...
Done, I added the skill and can use it going forward.

Do not expose raw JSON, terminal logs, or full source text in chat.

Validation Checklist

Before finalizing, confirm:

  • Pre-flight check passed (CLI or API key available).
  • Search results included at least one authoritative source.
  • Fetched content was actually used.
  • Frontmatter has name and description.
  • Skill name is kebab-case.
  • Skill includes workflow, defaults, gotchas, validation, and references.
  • The saved skill can be viewed by Hermes.

References

© 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

SKILL.md and 1 other file in skills/tinyskill of tinyfish-io/tinyfish-cookbook.

  • SKILL.md
  • README.md

Open the folder on GitHubat commit 292ee62

Compare with similar skills

Self Improve With Tinyfish 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.

Self Improve With Tinyfish compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Self Improve With Tinyfish this skilltinyfish-io/tinyfish-cookbook2.2k—~2.5kAutomated safety check: PassMIT
Research Workflowmajiayu000/claude-skill-registry6661 repos~684Automated safety check: NotesMIT
Skill CreatorAzure/azqr79489 repos~8.2kAutomated safety check: PassApache-2.0
Claude Code Skill Developer Guidediet103/claude-code-infrastructure-showcase10k10 repos~3.5kAutomated safety check: PassMIT
Darwin Skill Optimizeralchaincyf/darwin-skill6.2k1 repos~4.7kAutomated safety check: PassMIT
Claude Code Command Developmentanthropics/claude-plugins-official37k10 repos~4.8kAutomated safety check: PassApache-2.0

Similar skills

  • Research Workflow

    majiayu000/claude-skill-registry

    Systematic research workflow orchestrating multi-source research operations for comprehensive domain investigation.

    666 GitHub starsUsed in 1 repo~684 tokens
    Research & ScienceAuto-check: notes
  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    794 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Skill Developer Guide

    diet103/claude-code-infrastructure-showcase

    A guide to creating and managing Claude Code skills with auto-activation: skill-rules.json triggers, hooks, enforcement levels, YAML frontmatter and progressive disclosure.

    10k GitHub starsUsed in 10 repos~3.5k tokens
    Agent WorkflowsAuto-check passed
  • Darwin Skill Optimizer

    alchaincyf/darwin-skill

    Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.

    6.2k GitHub starsUsed in 1 repo~4.7k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Command Development

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code slash commands: Markdown files with YAML frontmatter, arguments, file references, bash context and interactive prompts.

    37k GitHub starsUsed in 10 repos~4.8k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Plugin Structure

    anthropics/claude-plugins-official

    Official

    Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.

    37k GitHub starsUsed in 10 repos~3.4k tokens
    Agent WorkflowsAuto-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

Categories

Questions about Self Improve With Tinyfish

What does Self Improve With Tinyfish do?

Enables Hermes to create new reusable skills for itself by researching live web sources with TinyFish Search and Fetch, analyzing source coverage, writing SKILL.md files, and installing them into…. Self Improve With Tinyfish is an agent skill from tinyfish-io/tinyfish-cookbook.md files, and installing them into Hermes memory.

When should I use Self Improve With Tinyfish?

Self Improve With Tinyfish fits situations like: the user asks Hermes to learn; save a reusable capability.

How do I install Self Improve With Tinyfish in Claude Code?

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

How do I install Self Improve With Tinyfish in Codex?

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

Can I use Self Improve With Tinyfish 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 self-improve-with-tinyfish -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/self-improve-with-tinyfish, .gemini/skills/self-improve-with-tinyfish, .github/skills/self-improve-with-tinyfish and .opencode/skills/self-improve-with-tinyfish in your project.

What does Self Improve With Tinyfish need to run?

Going by SKILL.md and its folder, Self Improve With Tinyfish needs the command-line tools its instructions call (python3 and npm) and credentials named TINYFISH_API_KEY. Our summary lists: Python 3; Node.js; A credential in TINYFISH_API_KEY.

Does Self Improve With Tinyfish access the network?

SKILL.md names 4 domains. In commands or code: api.search.tinyfish.ai and api.fetch.tinyfish.ai; the agent is likely to contact these when it follows the instructions. As links in the text: docs.tinyfish.ai and agent.tinyfish.ai. This is read from the text; nothing was executed.

Is Self Improve With Tinyfish 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 Self Improve With Tinyfish use?

Self Improve With Tinyfish 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 Self Improve With Tinyfish use?

About 2.5k tokens (SKILL.md is roughly 9.9k 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 Self Improve With Tinyfish?

Skills that share tags, products or a category with Self Improve With Tinyfish: Research Workflow (majiayu000/claude-skill-registry, 666 stars), Skill Creator (Azure/azqr, 794 stars), Claude Code Skill Developer Guide (diet103/claude-code-infrastructure-showcase, 10k stars) and Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Self Improve With Tinyfish?

tinyfish-io (a GitHub organization) maintains it in tinyfish-io/tinyfish-cookbook, which has 2,221 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.