A straightforward wrapper around Brave's Search API that keeps Claude out of a full browser when you just need search results or page content. You get up to 20 results per query with options for date filtering, country targeting, and optional markdown content extraction. The setup requires a free Brave API account (credit card needed but not charged), and you can pipe results straight into your workflow without the overhead of browser automation. Honestly, this is what you want 80% of the time when Claude needs to search the web. The markdown extraction is clean enough for documentation lookup and fact checking without dealing with raw HTML or JavaScript rendering.
npx -y skills add badlogic/pi-skills --skill brave-search --agent claude-codeInstalls into .claude/skills of the current project.
Web search and content extraction using the official Brave Search API. No browser required.
Requires a Brave Search API account with a free subscription. A credit card is required to create the free subscription (you won't be charged).
~/.profile or ~/.zprofile for zsh):
export BRAVE_API_KEY="your-api-key-here"
cd {baseDir}
npm install
{baseDir}/search.js "query" # Basic search (5 results)
{baseDir}/search.js "query" -n 10 # More results (max 20)
{baseDir}/search.js "query" --content # Include page content as markdown
{baseDir}/search.js "query" --freshness pw # Results from last week
{baseDir}/search.js "query" --freshness 2024-01-01to2024-06-30 # Date range
{baseDir}/search.js "query" --country DE # Results from Germany
{baseDir}/search.js "query" -n 3 --content # Combined options
-n <num> - Number of results (default: 5, max: 20)--content - Fetch and include page content as markdown--country <code> - Two-letter country code (default: US)--freshness <period> - Filter by time:
pd - Past day (24 hours)pw - Past weekpm - Past monthpy - Past yearYYYY-MM-DDtoYYYY-MM-DD - Custom date range{baseDir}/content.js https://example.com/article
Fetches a URL and extracts readable content as markdown.
--- Result 1 ---
Title: Page Title
Link: https://example.com/page
Age: 2 days ago
Snippet: Description from search results
Content: (if --content flag used)
Markdown content extracted from the page...
--- Result 2 ---
...
juliusbrussee/caveman
mattpocock/skills
shadcn/improve
obra/superpowers
forrestchang/andrej-karpathy-skills
vercel-labs/skills