brave-search — Claude Code skill: what it does, how to install
Searches the web and extracts page content as markdown using the official Brave Search API without running a browser.
npx skills add badlogic/pi-skills --skill brave-search -a claude-codeWhat brave-search does
The skill equips the agent with two command-line scripts. search.js queries the Brave Search API with filters for freshness and country codes. It outputs titles, links, snippets, or full page text. The second script, content.js, fetches a specific URL and turns readable text into clean markdown.
A credit card is required during registration to activate the Free AI subscription, though Brave will not charge it. Without exporting BRAVE_API_KEY into your shell profile and running npm install inside the skill directory, queries will fail.
What it helps with
- search online documentation and API references
- extract readable text from a URL as markdown
- filter search results by country or date ranges
- gather recent web information without headless browsers
Example prompts for the agent
- Search for recent API changes using brave-search with the past week filter
- Extract the content from
https://example.com/articleas markdown - Find documentation snippets for our dependency with 10 search results
How to install brave-search
1Skills CLI (Vercel)
npx skills add badlogic/pi-skills --skill brave-search -a claude-code2Manually: put the files in place
~/.claude/skills/brave-search/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/brave-search/
1Skills CLI (Vercel)
npx skills add badlogic/pi-skills --skill brave-search -a codex2Manually: put the files in place
.agents/skills/brave-search/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add badlogic/pi-skills --skill brave-search -a cursor2Manually: put the files in place
.cursor/skills/brave-search/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install badlogic/pi-skills brave-search2Manually: put the files in place
.github/skills/brave-search/SKILL.md1Skills CLI (Vercel)
npx skills add badlogic/pi-skills --skill brave-search -a gemini-cli2Platform CLI
gemini skills install https://github.com/badlogic/pi-skills --path brave-searchManually: put the files in place
.devin/skills/brave-search/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add badlogic/pi-skills --skill brave-search -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about brave-search
How to install brave-search in Claude Code?
Run npx skills add badlogic/pi-skills --skill brave-search -a claude-code. Then navigate to the skill directory, run npm install, and add export BRAVE_API_KEY="your-api-key-here" to ~/.profile or ~/.zprofile.
What does brave-search do?
It conducts web searches and converts web pages into markdown via the official Brave Search API without requiring a browser.
Is a credit card required for the Brave Search API?
Yes, Brave requires a credit card to activate the Free AI subscription, but the service will not charge you for it.
Source text
SKILL.md · MIT
---
name: brave-search
description: Web search and content extraction via Brave Search API. Use for searching documentation, facts, or any web content. Lightweight, no browser required.
---
# Brave Search
Web search and content extraction using the official Brave Search API. No browser required.
## Setup
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).
1. Create an account at https://api-dashboard.search.brave.com/register
2. Create a "Free AI" subscription
3. Create an API key for the subscription
4. Add to your shell profile (`~/.profile` or `~/.zprofile` for zsh):
```bash
export BRAVE_API_KEY="your-api-key-here"
```
5. Install dependencies (run once):
```bash
cd {baseDir}
npm install
```
## Search
```bash
{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
```
### 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 week
- `pm` - Past month
- `py` - Past year
- `YYYY-MM-DDtoYYYY-MM-DD` - Custom date range
## Extract Page Content
```bash
{baseDir}/content.js https://example.com/article
```
Fetches a URL and extracts readable content as markdown.
## Output Format
```
--- 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 ---
...
```
## When to Use
- Searching for documentation or API references
- Looking up facts or current information
- Fetching content from specific URLs
- Any task requiring web search without interactive browsing
© badlogic · MIT · badlogic/pi-skills