К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

tavily-dynamic-search — скилл для Claude Code: суть и установка

Скилл для поиска в интернете через Tavily с изоляцией контекста. Сохраняет тяжёлые ответы на диск и отбирает факты локально, чтобы не засорять окно модели.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add tavily-ai/skills --skill tavily-dynamic-search -a claude-code
Открыть на GitHub

Что делает tavily-dynamic-search

Скилл организует веб-поиск через утилиту tvly, когда запрос возвращает слишком много сырого текста. Обычный поиск сразу отправляет результаты в контекст, а этот процесс сначала сохраняет выдачу в файл. Модель изучает только отфильтрованные выжимки. Это полезно при выгрузке полных страниц или объединении нескольких запросов.

Вся работа строится вокруг изоляции контекста. Поиск и извлечение запускаются через tvly search или tvly extract с параметром вывода в файл. Для обработки промежуточных данных скилл применяет python3 или jq. Важный нюанс: флаг --include-domains сужает поиск, но не гарантирует принадлежность всех ссылок указанному домену. Проверять хост придётся скриптом на этапе фильтрации.

Утилита поддерживает запуск без ключа с лимитом запросов. Если лимит исчерпан, в интерактивной сессии потребуется команда tvly login для входа через браузер. В фоновом режиме процесс прервётся с сообщением об ошибке, поэтому для скриптов надёжнее заранее настроить авторизацию.

Какие задачи решает

  • сохранять сырые результаты веб-поиска на диск во временные файлы
  • фильтровать длинные веб-страницы через скрипты до передачи в модель
  • исключать дубликаты ссылок при поиске по нескольким похожим запросам
  • проверять домены источников при строгих ограничениях на доверенные сайты

Примеры запросов агенту

  • Найди через tavily-dynamic-search документацию по новому API и отфильтруй только примеры кода на диск
  • Собери статьи по теме с ограничением по доменам, сохрани сырые данные в файл и выведи только короткие цитаты
  • Выполни поиск через tvly, удали повторяющиеся адреса страниц и покажи ключевые выжимки

Как установить tavily-dynamic-search

1Через Skills CLI (Vercel)

npx skills add tavily-ai/skills --skill tavily-dynamic-search -a claude-code

2Вручную: положить файлы

~/.claude/skills/tavily-dynamic-search/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/tavily-dynamic-search/

Из того же набора6

Весь набор →
tavily-search tavily-ai Ищет данные в сети через утилиту tvly и выдаёт выжимки с оценкой релевантности для нейросети. Пригодится, когда агенту нужны свежие новости или факты без готовой ссылки. Claude Code CX Codex Cursor +1 36 000установок tavily-research tavily-ai Запускает глубокий поиск через Tavily CLI и собирает отчёт со ссылками на веб-источники. Помогает, когда простого поиска по одному сайту мало. Claude Code CX Codex Cursor +1 21 900установок tavily-best-practices tavily-ai Скилл даёт агенту справку по интеграции Tavily для поиска, извлечения контента, обхода сайтов и исследований. Нужен при добавлении веб-данных в агентный сценарий или RAG. Claude Code CX Codex Cursor +1 20 600установок tavily-extract tavily-ai Извлекает чистый текст или Markdown с указанных страниц через Tavily CLI. Пригодится для страниц с JavaScript и выборки фрагментов по запросу. Claude Code CX Codex Cursor +1 18 000установок tavily-map tavily-ai Скилл учит агента обходить сайт и отдавать список адресов без выкачивания текста. Пригодится, когда знаешь домен, но не знаешь, где лежит нужная страница. Claude Code CX Codex Cursor +1 17 100установок

Похожие

wp-wpcli-and-ops WordPress Скилл для операций с WordPress через wp: переносит домены, выгружает базу, ставит плагины, разбирается с cron. Пригодится, когда агенту нужно что-то сделать на живом сайте, а не в файлах темы. Claude Code CX Codex Cursor +1 5 400установок managed-deep-agents langchain-ai Скилл помогает спроектировать, протестировать и развернуть Managed Deep Agent в LangSmith прямо из консоли. Полезен, когда нужно упаковать логику агента в файловую структуру и подготовить деплой. Claude Code CX Codex Cursor +1 9 100установок prompt-caching sickn33 Скилл для оптимизации работы с LLM через кэширование промптов, ответов и предварительно загруженных документов. Снижает задержку и стоимость при повторных запросах с одинаковым контекстом. Claude Code CX Codex Cursor +1 867установок autoresearch Yeachan-Heo Ведёт одну миссию по кругу: правка, прогон эвалюатора, запись результата в JSON и markdown-лог. Пригодится, когда нужен долгий перебор гипотез с историей, а не одна попытка. Claude Code CX Codex Cursor +1 575установок modlens liustack Скилл для моделей без зрения: отдаёт картинку в CLI и возвращает JSON с распознанным текстом, областями вёрстки и смысловыми пометками. Claude Code CX Codex Cursor +1 896установок autopilot nick-vels Ведёт продиктованную идею до готового проекта в одном диалоге: требования, спецификация, тикеты, субагенты и приёмка без утверждения каждого шага. Claude Code CX Codex Cursor +1 5 200установок setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. Claude Code 1 052 851установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. Claude Code 711 230установок

Вопросы о tavily-dynamic-search

Как установить tavily-dynamic-search в Claude Code?

Выполните команду npx skills add tavily-ai/skills --skill tavily-dynamic-search -a claude-code в терминале.

Зачем нужен tavily-dynamic-search, если есть обычный поиск?

Скилл изолирует большие объёмы веб-страниц на диске и фильтрует их до отправки агенту. Обычный поиск сразу помещает весь текст в контекст модели.

Что делать, если закончился лимит запросов без ключа?

В терминале нужно выполнить команду tvly login для авторизации через браузер. В фоновом режиме утилита сообщит об исчерпании лимита и завершит работу с ошибкой.

Исходный текст

SKILL.md · MIT
---
name: tavily-dynamic-search
description: |
  Programmatic Tavily search with context isolation. Use when web search or extraction will return large results that need filtering, deduplication, or multi-step triage before they enter the model context. Use tavily-search for ordinary lookups and tavily-research for end-to-end cited synthesis.
allowed-tools: Bash(tvly *), Bash(python3 *), Bash(uv run *), Bash(jq *)
---

# Tavily Dynamic Search

Keep large raw web payloads on disk and return only the evidence needed for the
task. This is useful when using `--include-raw-content`, combining several
queries, or extracting multiple long pages. Do not use this workflow for a
simple lookup that a normal `tvly search --json` can answer directly.

## Before running

Search and extract support capped keyless access. Run them directly when `tvly`
is available. If `tvly` is missing, follow the
[tavily-cli setup](../tavily-cli/SKILL.md#setup). Do not look for an API key or
authenticate before the first request. If the keyless cap is reached in an
interactive session, run `tvly login` to open browser OAuth, then retry the
blocked request once. In an unattended environment, report the cap and
authentication options instead of starting an interactive flow.

## Workflow

1. Search broadly without raw content and inspect titles, URLs, scores, and
   snippets.
2. Fetch full content only for the best sources.
3. When raw output could be large, save it with `-o` and filter the file before
   printing anything to the model context.
4. Preserve source URLs beside every extracted fact.

When the user restricts evidence to official or named domains, validate the
hostname of every selected URL during local filtering. `--include-domains`
narrows the search but is not proof that every returned result belongs to an
allowed host. If full-page extraction is unavailable, label conclusions as
search-snippet evidence instead of implying that the page body was verified.

Keep the process in one turn when the relevant sources and filters are already
known. Use another turn only when the first search changes what should be
extracted.

Create a unique temporary task directory before saving evidence so concurrent
agents do not overwrite one another. Python's `tempfile.mkdtemp()` is available
when `mktemp` is not permitted. Reuse that directory for all raw and filtered
artifacts from the task.

## Small result: filter a direct JSON response

For a small search response, a pipe is enough:

```bash
tvly search "query" --max-results 5 --json | python3 -c '
import json, sys
data = json.load(sys.stdin)
for result in data.get("results", []):
    score = result.get("score") or 0
    title = result.get("title") or ""
    print(f"[{score:.2f}] {title}")
    print(result.get("url", ""))
    print(result.get("content", "")[:300])
'
```

Do not discard stderr. Authentication failures, keyless-cap messages, and API
errors are actionable and must remain visible.

## Large result: save first, then filter

Use the CLI's file output so raw page content does not pass through the tool
response:

```bash
tvly search "query" \
  --include-raw-content markdown \
  --max-results 8 \
  --json \
  -o /tmp/tavily-search-results.json
```

Then print only bounded evidence:

```bash
python3 -c '
import json
from pathlib import Path

data = json.loads(Path("/tmp/tavily-search-results.json").read_text())
for result in data.get("results", []):
    title = result.get("title") or ""
    url = result.get("url") or ""
    print(f"## {title}")
    print(f"URL: {url}")
    print((result.get("raw_content") or result.get("content") or "")[:1200])
    print()
'
```

Adjust the filtering logic to the question. Prefer relevant paragraphs or
fields over fixed character slices when the target information is known. Aim
for roughly 150-600 tokens per source unless a table or code block genuinely
requires more.

## Targeted extraction

When search identifies the right URLs, extract only those pages:

```bash
tvly extract "https://example.com/article" \
  --json \
  -o /tmp/tavily-extract-results.json
```

For topic-focused pages, let Tavily reduce the response before local filtering:

```bash
tvly extract "https://example.com/docs" \
  --query "authentication API" \
  --chunks-per-source 3 \
  --json \
  -o /tmp/tavily-extract-results.json
```

## Multiple queries

For multi-angle research, run a small set of focused searches, deduplicate by
URL, and rank before extracting. Use `subprocess.run(..., capture_output=True,
text=True)` when orchestrating commands in Python. Check `returncode`; if a
command fails, surface its stderr and stop or retry deliberately. Never use a
blanket `except Exception: continue` that hides missing evidence.

## Response shapes

`tvly search --json` returns `query`, optional `answer`, `results`, and
`response_time`. Each result commonly contains `url`, `title`, `content`,
`score`, and optional `raw_content`.

`tvly extract --json` returns `results`, `failed_results`, and
`response_time`. Each successful result commonly contains `url`,
`raw_content`, and optional images.

Treat fields as optional and use `.get()` while filtering. Inspect
`failed_results` instead of assuming every requested URL succeeded.

## Useful options

| Option | Purpose |
|--------|---------|
| `--max-results` | Bound the search result count; default 5, maximum 20 |
| `--depth` | Choose `ultra-fast`, `fast`, `basic`, or `advanced` |
| `--time-range` | Restrict results to `day`, `week`, `month`, or `year` |
| `--include-domains` | Restrict results to a comma-separated list of trusted domains |
| `--exclude-domains` | Exclude a comma-separated list of domains |
| `--include-raw-content` | Include full content as `markdown` or `text` |
| `-o, --output` | Save the complete response to a file |

Use `jq` only for short filters when Python is unavailable:

```bash
tvly search "query" --json | jq '[.results[] | {title, url, score, content}]'
```

© tavily-ai · MIT · tavily-ai/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой