Agent skill
brave-search
Search the web using Brave Search API. Use when the user asks to "search the web", "look up current information", "find news about", "research a topic online", "check prices online", or needs up-to-date facts that may not be in the model's training data. Requires BRAVE_SEARCH_API_KEY. Supports structured web results (pages, FAQs, news, videos) and an optional AI summarizer.
Install this agent skill to your Project
npx add-skill https://github.com/akaihola/skills-akaihola/tree/main/brave-search
SKILL.md
Purpose
Provide deterministic wrappers around Brave Search’s web and summarizer endpoints. Use the web workflow to retrieve structured SERP data (web pages, FAQs, discussions, news, videos). Use the summarizer workflow to turn Brave’s aggregated findings into a concise narrative when the subscription permits summarization.
When to Use
- Run web fact-finding on current events, product comparisons, research digests, or perspective gathering when Google/Bing responses are insufficient.
- Request the summarizer only after a prior web search produced a
summarizer_key, and the user explicitly wants a Brave-generated synthesis.
Configuration Requirements
- Set
BRAVE_SEARCH_API_KEYin the execution environment. The value populates theX-Subscription-Tokenheader. - Prefer secure storage through the project’s secrets tooling before launching the script.
- All invocations must use
uv runto respect the project’s Python environment.
Workflows
A. Web Search (results only)
- Prepare JSON containing at least
"query". Optional keys includecountry,search_lang,ui_lang,count,offset,safesearch,freshness,text_decorations,spellcheck,result_filter,goggles,units, andextra_snippets. - Run
uv run scripts/brave_search.py web --params-json '<JSON>'. - Consume
web_results,faq_results,discussions_results,news_results, andvideo_resultsfrom the JSON output. Each section mirrors the Brave MCP tool’s simplified records. - If
okisfalsewith"No web results found", broaden or restate the query before retrying.
B. Web Search with Summarizer Key
- Follow workflow A but add
"summary": trueto the JSON payload. - The script automatically requests
result_filter=summarizer. Inspect the response’ssummarizer_key. - Store the key and cite the original
web_resultswhen answering detailed questions while preparing for a summarizer follow-up.
C. Summarizer
- Ensure a recent workflow B run produced a
summarizer_key. - Build JSON like
{"key": "<summarizer_key>", "entity_info": false, "inline_references": true}. Optional overrides:poll_interval_ms(default 50) andmax_attempts(default 20). - Run
uv run scripts/brave_search.py summarizer --params-json '<JSON>'. - Use
summary_textas the main synthesis. Supplement withenrichments,followups, andentities_infosfor deeper context or suggested next steps. - If the summarizer fails, rely on the previously collected
web_resultsto craft a manual answer.
Error Handling and Fallbacks
- Missing API key: the script emits
ok: falsewith an explicit description; set the environment variable and rerun. - HTTP or Brave-side errors: review the
detailsobject, adjust parameters, or pause if throttled. - Summarizer polling timeout: rerun the web search to refresh the key, or answer using raw web data.
References
references/brave_web_search_params.md— exhaustive parameter definitions and sample payloads.references/brave_summarizer_workflow.md— polling logic, summary message schema, and tuning guidance.references/brave_search_examples.md— end-to-end scenarios demonstrating combined web and summarizer usage.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
youtube-to-markdown
Convert a YouTube video into clean, readable Markdown using its free auto-generated captions (no paid API needed). Use when the user asks to "convert YouTube video to markdown", "get transcript from YouTube URL", "summarise this video", or wants to turn YouTube subtitles/captions into readable text. Prefer this over youtube-transcription when the video already has auto-generated subtitles — it's free and faster. Accepts YouTube URLs.
verkkokauppa
Search products on the Verkkokauppa.com Finnish webshop. This skill uses the Verkkokauppa search API directly, requiring no browser. Use when the user asks to "search Verkkokauppa", "find products on verkkokauppa.com", "verkkokauppa product search", "check Verkkokauppa prices", or mentions searching the Verkkokauppa store.
clasohlson
Search products on the Clas Ohlson Finland webshop (clasohlson.com/fi/). This skill uses the Voyado Elevate (Apptus eSales) search API directly, requiring no browser. Use when the user asks to "search Clas Ohlson", "find products on clasohlson.com", "clas ohlson product search", "check Clas Ohlson prices", or mentions searching the Finnish Clas Ohlson store.
bauhaus
Search products on the Bauhaus webshop (bauhaus.fi). This skill uses the Algolia search API with automatic key refresh. Use when the user asks to "search Bauhaus", "find products on bauhaus.fi", "bauhaus product search", "check Bauhaus prices", or mentions searching the Bauhaus store.
library
email-mailbox-analyzer
Analyzes email mailbox usage by extracting IMAP configurations and running imapdu to generate detailed usage reports. Use this skill when you need to analyze email storage, identify large mailboxes, and generate CSV reports.
Didn't find tool you were looking for?