From armory
Performs AI-optimized web searches via Tavily API, returning clean snippets for current information and news.
How this skill is triggered — by the user, by Claude, or both
Slash command
/armory:tavilyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Web search and URL content extraction powered by Tavily API. Returns clean, structured results
Web search and URL content extraction powered by Tavily API. Returns clean, structured results optimized for AI consumption — no HTML noise, no cookie banners, no pagination.
| Situation | Tool | Reason |
|---|---|---|
| Need current information on a topic | search.mjs | Tavily aggregates and ranks live results |
| Need news from the last N days | search.mjs --topic news --days N | News mode filters recency |
| Have a specific URL, need full text | extract.mjs | Extracts clean article content from URL |
| Need documentation for a library | search.mjs --deep | Deep mode covers docs sites thoroughly |
| Need a static resource already known | direct fetch or read | Skip Tavily if no live lookup needed |
| Need multiple competing perspectives | search.mjs -n 10 | Increase result count for breadth |
Both scripts exist at scripts/ and require TAVILY_API_KEY in the environment.
scripts/search.mjs — query-based web searchscripts/extract.mjs — full content extraction from a URLnode {baseDir}/scripts/search.mjs "query"
node {baseDir}/scripts/search.mjs "query" -n 10
node {baseDir}/scripts/search.mjs "query" --deep
node {baseDir}/scripts/search.mjs "query" --topic news
node {baseDir}/scripts/search.mjs "query" --topic news --days 3
| Option | Default | Description |
|---|---|---|
-n <count> | 5 | Number of results to return (max: 20). Increase for broader coverage. |
--deep | off | Advanced search mode — slower but more comprehensive. Use for complex research questions, technical deep-dives, or when standard results are insufficient. |
--topic <topic> | general | general for standard search; news for current events filtered by recency. |
--days <n> | — | Only valid with --topic news. Limits results to articles published in the last n days. |
node {baseDir}/scripts/extract.mjs "https://example.com/article"
Use when you already have a URL and need the full page content — Tavily strips navigation, ads, and boilerplate, returning structured article text.
Search results return a JSON array. Each result contains:
[
{
"title": "Article or page title",
"url": "https://source.com/path",
"content": "Clean text snippet (AI-optimized excerpt)",
"score": 0.92
}
]
score is Tavily's relevance ranking (0–1). Higher is more relevant. When parsing results,
use content for summarization and url for attribution. Do not treat content as the full
article — use extract.mjs on the URL if complete text is needed.
Extract output returns a single object:
{
"url": "https://source.com/path",
"raw_content": "Full extracted page text..."
}
| Error | Cause | Resolution |
|---|---|---|
TAVILY_API_KEY not set | Environment variable missing | Set TAVILY_API_KEY before running. Get a key at https://tavily.com |
401 Unauthorized | Invalid API key | Verify the key value; regenerate at Tavily dashboard if needed |
429 Too Many Requests | Rate limit hit | Reduce request frequency; free tier allows 1000 API credits/month |
Empty results array [] | No matches found | Broaden or rephrase the query; try --deep for niche topics |
ETIMEDOUT / timeout | Network or API latency | Retry once; --deep searches take longer (up to 30s) |
| Extract returns empty content | Page blocks scrapers | Use a different source or fall back to a manual fetch approach |
--deep costs more.general mode. Use --topic news for recency-sensitive queries.npx claudepluginhub mathews-tom/armory --plugin armorySearches the web and extracts article content via the Tavily API, returning clean results with citations for real-time facts, news, or research. No browser needed.
Searches the web, extracts content from URLs, and crawls websites using the Tavily API for up-to-date information retrieval.
Executes web searches via Tavily, filters and extracts content inside Python so only curated results enter the context window. Activates on research queries like "search for", "look up", or "find".