• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLKnowledge Workautomation

use-tinyfish

プラグイン
TinyFish
ソース
GitHub で見る ↗
説明

あなたのエージェント向けの完全なウェブ操作ツールキット。ウェブを検索して数ミリ秒で回答を得られます。任意のURLを取得して、きれいに整形されたテキスト形式で返してもらえます。ブラウザエージェント(自動操作するプログラム)を送って、サイトの閲覧、フォーム入力、構造化されたデータ抽出ができます。完全なプログラム制御が可能なヘッドレスブラウザ(画面表示なしで動くブラウザ)を起動できます。 次のような場合に使用: - ウェブ検索が必要 - ウェブサイトからデータを抽出・収集したい - ボット検出対策を施されたサイトに対応する必要がある - 自然言語でブラウザの自動操作タスクを実行したい

原文を表示

The complete web toolkit for your agent. Search the web and get answers in milliseconds. Fetch any URL and get clean markdown back. Send a browser agent to navigate sites, fill forms, and extract structured data. Spin up a headless browser for full programmatic control. Use when you need to search the web, extract/scrape data from websites, handle bot-protected sites, or automate browser tasks using natural language.

ユースケース
  • ウェブ検索して回答を得る
  • ウェブサイトからデータを抽出する
  • ボット検出対策サイトに対応する
  • ブラウザの自動操作タスクを実行する
  • URLからテキストを取得する
本文(日本語訳)

TinyFish CLI

完全なウェブ操作ツール — 4つのツール、1つのコマンドラインで。最初は最も軽量で対応できるツールから始めて、必要な場合だけより高機能なツールにステップアップします。

事前確認(必須)

TinyFishを実行する前に、必ず以下の2つの確認を行ってください:

1. CLIがインストールされているか?

which tinyfish && tinyfish --version || echo "TINYFISH_CLI_NOT_INSTALLED"

インストールされていない場合は、ユーザーに以下を伝えてください:

TinyFish CLIをインストール: npm install -g @tiny-fish/cli

2. 認証済みか?

tinyfish auth status

認証されていない場合は、ユーザーに以下を伝えてください:

TinyFish APIキーが必要です。こちらから取得してください: https://agent.tinyfish.ai/api-keys

その後、認証します:

tinyfish auth login

両方の確認に成功するまで、先に進まないでください。


適切なツールの選択

search  →  fetch  →  agent  →  browser
最も軽量                        最も高機能
ツール 使用場面 速度 コスト
search URLを見つけたり、トピックについて素早く答えを得たい 最速 最安
fetch URLはあるが、そのページのきれいなテキスト内容が必要(記事、ドキュメント、商品ページなど) 高速 安
agent ページとの相互作用が必要—クリック、フォーム入力、ナビゲーション、動的なサイトから構造化データを抽出したい やや遅い やや高
browser agentでは不十分—CDP(ブラウザ制御プロトコル)を使った低レベルのブラウザ操作が必要 最遅 最高

よくあるパターン

調査:search → fetch トピックを検索し、最良の結果をフェッチして全文を読む。

# 1. URLを見つける
tinyfish search query "best React state management libraries 2026"

# 2. 上位結果を読む
tinyfish fetch content get --format markdown "https://result1.com" "https://result2.com"

深い抽出:search → agent サイトを検索で見つけ、agentで操作して構造化データを抽出する。

# 1. サイトを見つける
tinyfish search query "Nike running shoes official store"

# 2. そこで自動抽出を実行
tinyfish agent run --url "https://nike.com/running" \
  "Extract all running shoes as JSON: [{\"name\": str, \"price\": str, \"colors\": [str]}]"

段階的なアップグレード:fetch → agent fetchを試してみてください。ページがJavaScript多用で動的な場合、fetchが空の結果や不完全な内容を返したら、agentにアップグレードします。

完全な制御:agent → browser agentが複雑な複数ステップのワークフローに対応できない場合は、raw browser(生のブラウザ)セッションを開いてCDP経由で自分で自動化します。


コマンド

tinyfish search query

ウェブ検索。ランク付けされた結果をタイトル、URL、スニペット付きで返します。

tinyfish search query "<クエリ>" [--location <ヒント>] [--language <ヒント>] [--pretty]
  • デフォルトで10件の結果を返す
  • --location と --language を使って地域・言語を指定
  • デフォルト出力はJSON、--pretty で人間が読みやすい形式に
tinyfish search query "best pho in Ho Chi Minh City" --location "Vietnam" --language "en"

tinyfish fetch content get

1つ以上のURLから、きれいに抽出したコンテンツを取得します。広告、ナビゲーション、定型文を除去して、本体コンテンツだけを返します。

tinyfish fetch content get <urls...> [--format markdown|html|json] [--links] [--image-links] [--pretty]
  • 複数のURLを1回の呼び出しで受け取り、サーバー側で並列処理
  • --format markdown(デフォルト)— きれいで読みやすいテキスト
  • --format json — 構造化されたドキュメント木構造
  • --links — ページから抽出したすべてのリンクを含める
  • --image-links — 抽出した画像URLを含める
  • 戻り値に含まれる情報:url、final_url、title、language、author、published_date、text、latency_ms
# 1ページをマークダウン形式で取得
tinyfish fetch content get --format markdown "https://example.com/article"

# 複数ページをリンク付きで取得
tinyfish fetch content get --links "https://site-a.com" "https://site-b.com" "https://site-c.com"

tinyfish agent run

自然言語で書いた目標を使ってブラウザを自動操作します。実際のブラウザを開いて、ナビゲーション、クリック、フォーム入力、データ抽出を行います。

tinyfish agent run --url <url> "<目標>" [--sync] [--async] [--pretty]
フラグ 目的
--url <url> 対象URL(ホスト名のみの場合は自動的に https:// が付く)
--sync 結果を完全に待つ(ステップをストリーミングしない)
--async すぐに送信・返却(完了を待たない)
--pretty 人間が読みやすい形式で出力

出力: デフォルトは data: {...} 形式のSSE(サーバー送信イベント)行をストリーミングします。最終結果は type == "COMPLETE" かつ status == "COMPLETED" のイベントで、抽出されたデータは resultJson フィールドに含まれます。生の出力をそのまま読んでください。スクリプト側での解析は不要です。

常に、目標の中で欲しいJSON構造を指定してください:

tinyfish agent run --url "https://example.com/products" \
  "Extract all products as JSON array: [{\"name\": str, \"price\": str, \"url\": str}]"

tinyfish agent run --url "https://example.com/search" \
  "Search for 'wireless headphones', filter under $50, extract top 5 as JSON: [{\"name\": str, \"price\": str, \"rating\": str}]"

並列抽出 — 複数の独立したサイトから取得する場合、複数の呼び出しに分けてください。1つの目標に統合しないでください。

良い例—並列呼び出し(同時実行):

tinyfish agent run --url "https://pizzahut.com" \
  "Extract pizza prices as JSON: [{\"name\": str, \"price\": str}]"

tinyfish agent run --url "https://dominos.com" \
  "Extract pizza prices as JSON: [{\"name\": str, \"price\": str}]"

悪い例—単一の統合呼び出し:

# これはやらないでください — 信頼性が低く遅くなります
tinyfish agent run --url "https://pizzahut.com" \
  "Extract prices from Pizza Hut and also go to Dominos..."

実行の管理:

tinyfish agent run list [--status PENDING|RUNNING|COMPLETED|FAILED|CANCELLED] [--limit N]
tinyfish agent run get <run_id>
tinyfish agent run cancel <run_id>

バッチ操作 — CSVファイル(url,goal 列)から多数の実行を投入:

tinyfish agent batch run --input runs.csv
tinyfish agent batch list
tinyfish agent batch get <batch_id>
tinyfish agent batch cancel <batch_id>

tinyfish browser session create

リモートブラウザインスタンスを起動します。CDP(ブラウザ制御プロトコル)用のWebSocket URLを返します。

tinyfish browser session create [--url <url>] [--pretty]
  • --url で作成後にページに移動(オプション)
  • 戻り値:session_id、cdp_url(WebSocket)、base_url
  • cdp_url を Playwright、Puppeteer、その他のCDPクライアントで使用
tinyfish browser session create --url "https://example.com"
# 戻り値: { session_id, cdp_url: "wss://...", base_url: "https://..." }

一般的な注記

  • ユーザーの言語に合わせる: ユーザーが使用している言語で対応してください
  • すべてのコマンドは --pretty で人間が読みやすい出力に対応。デフォルトはJSON
  • ルートコマンドで --debug を使うか、TINYFISH_DEBUG=1 を設定してHTTPリクエストをstderrにログ出力

$ARGUMENTS

原文(English)を表示

TinyFish CLI

The complete web toolkit — four tools, one CLI. Start with the lightest tool that can do the job and escalate only when needed.

Pre-flight Check (REQUIRED)

Before making any TinyFish call, always run BOTH checks:

1. CLI installed?

which tinyfish && tinyfish --version || echo "TINYFISH_CLI_NOT_INSTALLED"

If not installed, stop and tell the user:

Install the TinyFish CLI: npm install -g @tiny-fish/cli

2. Authenticated?

tinyfish auth status

If not authenticated, stop and tell the user:

You need a TinyFish API key. Get one at: https://agent.tinyfish.ai/api-keys

Then authenticate:

tinyfish auth login

Do NOT proceed until both checks pass.


Picking the Right Tool

search  →  fetch  →  agent  →  browser
lightest                        heaviest
Tool When to use Speed Cost
search You need to find URLs or get a quick answer about a topic Fastest Lowest
fetch You have URLs and need their clean content (articles, docs, product pages) Fast Low
agent You need to interact with a page — click, fill forms, navigate, extract structured data from dynamic sites Slower Higher
browser Agent isn't enough — you need raw programmatic browser control via CDP Slowest Highest

Common Patterns

Research: search → fetch Search for a topic, then fetch the best results to read their full content.

# 1. Find URLs
tinyfish search query "best React state management libraries 2026"

# 2. Read the top results
tinyfish fetch content get --format markdown "https://result1.com" "https://result2.com"

Deep extraction: search → agent Search to find the right site, then use agent to interact with it and extract structured data.

# 1. Find the site
tinyfish search query "Nike running shoes official store"

# 2. Automate extraction on it
tinyfish agent run --url "https://nike.com/running" \
  "Extract all running shoes as JSON: [{\"name\": str, \"price\": str, \"colors\": [str]}]"

Escalation: fetch → agent Try fetch first. If the page is dynamic/JS-heavy and fetch returns empty or incomplete content, escalate to agent.

Full control: agent → browser If agent can't handle a complex multi-step workflow, spin up a raw browser session and automate it yourself via CDP.


Commands

tinyfish search query

Web search. Returns ranked results with titles, URLs, and snippets.

tinyfish search query "<query>" [--location <hint>] [--language <hint>] [--pretty]
  • Returns 10 results by default
  • Use --location and --language for geo-targeted results
  • Default output is JSON; --pretty for human-readable
tinyfish search query "best pho in Ho Chi Minh City" --location "Vietnam" --language "en"

tinyfish fetch content get

Fetch clean, extracted content from one or more URLs. Strips ads, nav, boilerplate — returns just the content.

tinyfish fetch content get <urls...> [--format markdown|html|json] [--links] [--image-links] [--pretty]
  • Accepts multiple URLs in a single call — they are fetched in parallel server-side
  • --format markdown (default) — clean readable text
  • --format json — structured document tree
  • --links — include all extracted links from the page
  • --image-links — include extracted image URLs
  • Response includes: url, final_url, title, language, author, published_date, text, latency_ms
# Fetch one page as markdown
tinyfish fetch content get --format markdown "https://example.com/article"

# Fetch multiple pages with links
tinyfish fetch content get --links "https://site-a.com" "https://site-b.com" "https://site-c.com"

tinyfish agent run

Run a browser automation using a natural language goal. The agent opens a real browser, navigates, clicks, fills forms, and extracts data.

tinyfish agent run --url <url> "<goal>" [--sync] [--async] [--pretty]
Flag Purpose
--url <url> Target URL (bare hostnames get https:// auto-prepended)
--sync Wait for full result without streaming steps
--async Submit and return immediately
--pretty Human-readable output

Output: Default streams data: {...} SSE lines. The final result is the event where type == "COMPLETE" and status == "COMPLETED" — the extracted data is in the resultJson field. Read the raw output directly; no script-side parsing is needed.

Always specify the JSON structure you want in the goal:

tinyfish agent run --url "https://example.com/products" \
  "Extract all products as JSON array: [{\"name\": str, \"price\": str, \"url\": str}]"

tinyfish agent run --url "https://example.com/search" \
  "Search for 'wireless headphones', filter under $50, extract top 5 as JSON: [{\"name\": str, \"price\": str, \"rating\": str}]"

Parallel extraction — when hitting multiple independent sites, make separate calls. Do NOT combine into one goal.

Good — parallel calls (run simultaneously):

tinyfish agent run --url "https://pizzahut.com" \
  "Extract pizza prices as JSON: [{\"name\": str, \"price\": str}]"

tinyfish agent run --url "https://dominos.com" \
  "Extract pizza prices as JSON: [{\"name\": str, \"price\": str}]"

Bad — single combined call:

# Don't do this — less reliable and slower
tinyfish agent run --url "https://pizzahut.com" \
  "Extract prices from Pizza Hut and also go to Dominos..."

Managing runs:

tinyfish agent run list [--status PENDING|RUNNING|COMPLETED|FAILED|CANCELLED] [--limit N]
tinyfish agent run get <run_id>
tinyfish agent run cancel <run_id>

Batch operations — submit many runs from a CSV file (url,goal columns):

tinyfish agent batch run --input runs.csv
tinyfish agent batch list
tinyfish agent batch get <batch_id>
tinyfish agent batch cancel <batch_id>

tinyfish browser session create

Spin up a remote browser instance. Returns a CDP WebSocket URL for programmatic control.

tinyfish browser session create [--url <url>] [--pretty]
  • --url optionally navigates to a page after creation
  • Returns session_id, cdp_url (WebSocket), and base_url
  • Use the cdp_url with Playwright, Puppeteer, or any CDP client
tinyfish browser session create --url "https://example.com"
# Returns: { session_id, cdp_url: "wss://...", base_url: "https://..." }

General Notes

  • Match the user's language: Respond in whatever language the user writes in.
  • All commands support --pretty for human-readable output. Default is JSON.
  • Use --debug on the root command or set TINYFISH_DEBUG=1 to log HTTP requests to stderr.

$ARGUMENTS

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。