← TavilyCONTENT HISTORY
WHAT CHANGED
Update to Tavily
Snapshot Nov 9, 2026 · 18:08 UTC · version 2.3.0
Collection source: skill API.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Tavily and check future changes in Following.
Up to 3 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Build a Tavily search or extraction that runs on a cadence, with a saved baseline. Search monitors set max_age_hours to the interval so a cached copy from before it is not returned. Use when the user wants to monitor, track, watch, or be alerted when something changes, or asks for a recurring check of a query or a page. For a deep comprehensive report use tavily-research. For a one-time lookup use tavily-search. For a one-time table use tavily-list.\n",
"included_files": [],
"name": "tavily-monitor",
"skill_md_contents": "---\nname: tavily-monitor\ndescription: |\n Build a Tavily search or extraction that runs on a cadence, with a saved baseline. Search monitors set max_age_hours to the interval so a cached copy from before it is not returned. Use when the user wants to monitor, track, watch, or be alerted when something changes, or asks for a recurring check of a query or a page. For a deep comprehensive report use tavily-research. For a one-time lookup use tavily-search. For a one-time table use tavily-list.\nallowed-tools: Bash(tvly *)\n---\n\n# Tavily monitor\n\nTurn a watch into a search or an extraction that can run again unchanged, then\nrun it once and save the baseline. The monitor file is the result.\n\nUse `tavily-search` to run the check. If it isn't installed, run `npx skills add tavily-ai/skills --skill tavily-search` and read its SKILL.md before continuing.\n\n## When this is the wrong skill\n\n- The user wants a deep comprehensive report. Use `tavily-research`. If it isn't installed, run `npx skills add tavily-ai/skills --skill tavily-research` and read its SKILL.md before continuing.\n- The user wants every current match, once. Use `tavily-list`. If it isn't installed, run `npx skills add tavily-ai/skills --skill tavily-list` and read its SKILL.md before continuing.\n\n## Pick the kind\n\n| You have | Kind | What \"changed\" means |\n|---|---|---|\n| A topic, and the pages are not known yet | search | A result URL that was not in the previous snapshot |\n| One or more known URLs | extract | The hash of that page's extracted content changed |\n\nUse search for mentions, news, jobs, and anything where new pages appear. Use\nextract for a pricing page, a changelog, a docs page, or a status page.\n\n## Steps\n\n1. Write the query or the URL list so the next run can reuse it verbatim. Follow\n `tavily-search` for how to shape it. Leave dates and \"latest\" out of the\n query. The snapshot, not the wording, decides what is new.\n2. Write the change rule in one sentence. For a search, a new URL is the\n alert. A URL from the last snapshot that is missing this run is not an\n alert: a page that could not be fetched live is left out. For an extract, a\n changed hash is the alert, and the alert quotes the part the user cares\n about (the price, the version), not the whole page.\n3. Name a cadence. Use the one the user asked for. If they did not, use daily\n for news and changelogs, and weekly for a page that changes slowly, and say\n which you chose. On a search, set `max_age_hours` to that interval in hours,\n so a cached copy older than the cadence is not returned. Daily is 24, weekly\n is 168. Use `0` when the interval is under an hour, and `720` when it is\n longer than 30 days. Read how the parameter works in the search reference of\n `tavily-search`. Write the number in the monitor file and send it on every\n run, including the first. Extract does not take `max_age_hours`.\n4. Run it once. If the results are the wrong kind of thing, fix the query or\n the URLs and run again before you save anything. If the search is refused\n with `434`, the run did not complete. Say so, and leave `snapshot.json` as\n it was.\n5. Save the monitor and the snapshot. The next run reads the monitor, runs the\n same search or extract, reports only what the change rule flags, and\n replaces `snapshot.json`.\n\nCreate `monitors/{name}/` in the working directory. The name is sentence case,\n3 to 6 words, letters, numbers, and single spaces. Quote it in shell commands.\n\nDo not start a scheduler unless the user asks for one. When they do, and the\nenvironment has a way to run on that cadence, point it at this folder.\n\nA later change to the query or the URL list is a new monitor. It gets a new\nfolder and a new baseline. Editing them in place makes the next diff meaningless.\n\n## Output\n\n`monitors/{name}/monitor.md`:\n\n```markdown\n# {Name}\n\n- Cadence: {daily | weekly on Monday | the schedule the user asked for}\n- Kind: search | extract\n- Query: {the query, for a search}\n- URLs: {one per line, for an extract}\n- max_age_hours: {the cadence in hours, search only}\n- Alert when: {the change rule}\n- Snapshot: snapshot.json\n\n## Run again\n\nRead this file. Use `tavily-search` to run the same search or extract. On a\nsearch, pass `max_age_hours` from this file. Compare the result to\nsnapshot.json using the alert rule above. Report only the changes. Then\nreplace snapshot.json with this run. If the search is refused with `434`,\nreport that and keep the snapshot.\n```\n\n`monitors/{name}/snapshot.json`:\n\n```json\n{\n \"ran_at\": \"YYYY-MM-DD\",\n \"kind\": \"search\",\n \"query\": \"\",\n \"items\": [{ \"url\": \"\", \"title\": \"\", \"snippet\": \"\" }]\n}\n```\n\nFor an extract, store `pages` instead of `items`: `url`, `sha256` of the\nextracted content, and a short excerpt of the part being watched.\n\nIn the reply, give the cadence, `max_age_hours` for a search, the query or the\nURLs, the alert rule, and the folder path, plus what the baseline already shows.\n"
}SHA-256 of public snapshot: cc06c1d792036327ed699c80868c1ed4af936325677c578fa217b607d6a3eefe