local-descriptions — скилл для Claude Code: AI-описания мест
Генерирует текстовые описания точек интереса (POI) на основе поиска. Пригодится, если нужны развёрнутые характеристики заведений, достопримечательностей или адресов для туризма, справочников и приложений.
npx skills add brave/brave-search-skills --skill local-descriptions -a claude-codeЧто делает local-descriptions
Скилл работает во второй фазе поиска: сначала вы получаете ID точек интереса через local-place-search или web-search с фильтром result_filter=locations, затем передаёте эти ID в local-descriptions и получаете markdown с AI-сгенерированными описаниями. Каждое описание содержит обзор, особенности, практическую информацию — примерно 200–400 слов в стиле туристического путеводителя.
Описания генерируются на основе веб-поиска, а не профилей самих заведений, поэтому контент может различаться по полноте. За один запрос можно обработать до 20 ID одновременно. ID действительны примерно 8 часов, поэтому свежие данные нужно запрашивать через поиск.
Для работы требуется API-ключ Brave Search (входит в тариф Search). Форматирование автоматически применяется: заголовки на ###, списки, выделение текста — результат сразу готов для документов и веб-контента.
Какие задачи решает
- Собрать справочник локальных заведений с описаниями для сайта
- Пополнить результаты поиска развёрнутой информацией о месте
- Подготовить контент для туристического гайда по города
- Сформировать карточки POI с AI-текстом вместо пустых полей
Примеры запросов агенту
- Найди кафе в Санкт-Петербурге, получи их ID и сгенерируй описания через local-descriptions
- Мне нужны markdown-описания для 15 ресторанов — вот их ID из последнего поиска
- Обогати результаты поиска достопримечательностей текстовыми характеристиками через local-descriptions
Как установить local-descriptions
1Через Skills CLI (Vercel)
npx skills add brave/brave-search-skills --skill local-descriptions -a claude-code2Вручную: положить файлы
~/.claude/skills/local-descriptions/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/local-descriptions/
1Через Skills CLI (Vercel)
npx skills add brave/brave-search-skills --skill local-descriptions -a codex2Вручную: положить файлы
.agents/skills/local-descriptions/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add brave/brave-search-skills --skill local-descriptions -a cursor2Вручную: положить файлы
.cursor/skills/local-descriptions/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install brave/brave-search-skills local-descriptions2Вручную: положить файлы
.github/skills/local-descriptions/SKILL.md1Через Skills CLI (Vercel)
npx skills add brave/brave-search-skills --skill local-descriptions -a gemini-cli2Командой платформы
gemini skills install https://github.com/brave/brave-search-skills --path skills/local-descriptionsВручную: положить файлы
.devin/skills/local-descriptions/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add brave/brave-search-skills --skill local-descriptions -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о local-descriptions
Как установить local-descriptions в Claude Code?
Выполните npx skills add brave/brave-search-skills --skill local-descriptions -a claude-code, затем обновите конфигурацию из ~/.claude/skills/local-descriptions/SKILL.md.
Что даёт local-descriptions?
Возвращает markdown-описания мест (кафе, музеи, магазины и т. п.) на основе их ID. Описания AI-сгенерированы из веб-поиска и содержат информацию о том, чем это место известно.
Откуда я беру ID для local-descriptions?
ID приходят из local-place-search или из web-search с параметром result_filter=locations — они находятся в поле locations.results[].id. ID действительны около 8 часов.
Исходный текст
SKILL.md · MIT
---
name: local-descriptions
description: USE FOR getting AI-generated POI text descriptions. Requires POI IDs from local-place-search, or from web-search with result_filter=locations. Returns markdown descriptions grounded in web search context. Max 20 IDs per request.
---
# Local Descriptions (Search API)
> **Requires API Key**: Get one at https://api.search.brave.com
>
> **Plan**: Included in the **Search** plan. See https://api-dashboard.search.brave.com/app/subscriptions/subscribe
>
> **Two-step flow**: This endpoint requires POI IDs from a prior search.
>
> 1. Get POI IDs from `local-place-search`, or from `web-search` with `result_filter=locations` (`locations.results[].id`)
> 2. Pass those IDs to this endpoint to get AI-generated descriptions
## Quick Start (cURL)
### Get POI Description
```bash
curl -s "https://api.search.brave.com/res/v1/local/descriptions?ids=loc4CQWMJWLD4VBEBZ62XQLJTGK6YCJEEJDNAAAAAAA%3D" \
-H "Accept: application/json" \
-H "Accept-Encoding: gzip" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"
```
### Multiple POIs
```bash
curl -s "https://api.search.brave.com/res/v1/local/descriptions" \
-H "Accept: application/json" \
-H "Accept-Encoding: gzip" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-G \
--data-urlencode "ids=loc4CQWMJWLD4VBEBZ62XQLJTGK6YCJEEJDNAAAAAAA=" \
--data-urlencode "ids=loc4HTAVTJKP4RBEBZCEMBI3NG26YD4II4PATIHPDYI="
```
**Note**: POI IDs are opaque strings returned in web search `locations.results[].id`. They are valid for approximately 8 hours. The example IDs above are for illustration — fetch fresh IDs via `web-search` with `result_filter=locations`.
## Endpoint
```http
GET https://api.search.brave.com/res/v1/local/descriptions
```
**Authentication**: `X-Subscription-Token: <API_KEY>` header
## Parameters
| Parameter | Type | Required | Default | Description |
|--|--|--|--|--|
| `ids` | string[] | **Yes** | — | POI IDs from web search `locations.results[].id` (1-20, repeated: `?ids=a&ids=b`) |
## Response Format
### Response Fields
| Field | Type | Description |
|--|--|--|
| `type` | string | Always `"local_descriptions"` |
| `results` | array | List of description objects (entries may be `null`) |
| `results[].type` | string | Always `"local_description"` |
| `results[].id` | string | POI identifier matching the request |
| `results[].description` | string? | AI-generated markdown description, or `null` if unavailable |
### Example Response
```json
{
"type": "local_descriptions",
"results": [
{
"type": "local_description",
"id": "loc4CQWMJWLD4VBEBZ62XQLJTGK6YCJEEJDNAAAAAAA=",
"description": "### Overview\nA cozy neighborhood cafe known for its **artisanal coffee**..."
}
]
}
```
## Getting POI IDs
`local-place-search` returns POI IDs directly. They also come from the **Web Search API** (`web-search`) with `result_filter=locations`:
```bash
# 1. Search for local businesses
curl -s "https://api.search.brave.com/res/v1/web/search?q=restaurants+san+francisco&result_filter=locations" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"
# 2. Extract POI IDs from locations.results[].id
# 3. Use those IDs with local/pois and local/descriptions
```
## Use Cases
- **Local business overview**: Pair with `local-pois` to get both structured data (hours, ratings) and narrative descriptions
- **Travel/tourism enrichment**: Add descriptive context to POIs for travel planning or destination guides
- **Search results augmentation**: Supplement web search results with AI-generated summaries of local businesses
## Notes
- **Always markdown**: Descriptions use `###` headings, bullet lists, **bold**/*italics* — always formatted as markdown
- **Travel-guide tone**: Typically 200-400 words covering what makes the POI notable
- **AI-generated**: Descriptions are AI-generated based on web search context, not sourced from business profiles
- **Availability**: Not all POIs have descriptions — `description` may be `null`
- **Max IDs**: Up to 20 IDs per request
© brave · MIT · brave/brave-search-skills