docs-search — скилл для Claude Code: поиск по документации AEM
Ищет по документации aem.live, отбирает страницы по релевантности и вытаскивает полные статьи с примерами кода и пометками об устаревании.
npx skills add adobe/skills --skill docs-search -a claude-codeЧто делает docs-search
Когда обычный веб-поиск не находит нужную страницу по AEM Edge Delivery Services (EDS, Franklin, Helix), скилл прогоняет запрос по локальному индексу документации. Внутри — скрипт search.js: ему передают от одного до трёх ключевых слов, на выходе получают JSON со списком страниц, у каждой есть путь, заголовок, краткое описание, фрагмент текста, тип «doc» или «blog» и оценка релевантности. По умолчанию отдаются 10 лучших совпадений, флаг --all снимает лимит.
Дальше агент сам открывает найденные страницы по адресу https://www.aem.live{path} и читает их целиком, чтобы ответить по существу. Сначала ищутся документы, блог подключается, только если документов нашлось меньше пяти. Поле deprecation показывает, что функция устарела: такой результат остаётся в выдаче с пониженным весом, и агент должен предупредить вас и подсказать замену.
Для запуска нужен Node.js, а команда выполняется из корня проекта, где лежит .claude/skills/docs-search/scripts/search.js. Слишком общий запрос вроде «aem» отсекается как стоп-слово, так что ключевые слова берите точные: «block decoration», «universal editor», «sidekick plugin». Если вы уже знаете адрес страницы, скилл ни к чему.
Какие задачи решает
- найти в документации aem.live страницу про нужную функцию, когда веб-поиск выдаёт мусор
- получить полный текст статьи, а не один сниппет из выдачи
- узнать, что функция устарела, до того как она попадёт в код
- разобраться в разнице между обычными и bulk-метаданными по первоисточнику
- найти официальный пример кода для блока вместо догадок
Примеры запросов агенту
- Найди в документации aem.live, как устроено block decoration
- Поищи по докам metadata и сравни page-level и bulk-подходы
- Проверь, не устарела ли folder mapping, и предложи актуальную замену
Как установить docs-search
1Через Skills CLI (Vercel)
npx skills add adobe/skills --skill docs-search -a claude-code2Вручную: положить файлы
~/.claude/skills/docs-search/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/docs-search/
1Через Skills CLI (Vercel)
npx skills add adobe/skills --skill docs-search -a codex2Вручную: положить файлы
.agents/skills/docs-search/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add adobe/skills --skill docs-search -a cursor2Вручную: положить файлы
.cursor/skills/docs-search/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install adobe/skills docs-search2Вручную: положить файлы
.github/skills/docs-search/SKILL.md1Через Skills CLI (Vercel)
npx skills add adobe/skills --skill docs-search -a gemini-cli2Командой платформы
gemini skills install https://github.com/adobe/skills --path plugins/aem/edge-delivery-services/skills/docs-searchВручную: положить файлы
.devin/skills/docs-search/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add adobe/skills --skill docs-search -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о docs-search
Как установить docs-search в Claude Code?
Выполните npx skills add adobe/skills --skill docs-search -a claude-code, файл скилла окажется по пути ~/.claude/skills/docs-search/SKILL.md.
Что делает docs-search?
Прогоняет ваши ключевые слова по индексу документации aem.live, ранжирует страницы по релевантности и достаёт полные статьи. Отдельно помечает устаревшие функции, чтобы вы не взяли их в работу.
Почему поиск через скилл лучше обычного веб-поиска?
Он ищет только по сайту aem.live, поэтому в выдачу не попадают сторонние статьи. Скрипт возвращает 10 самых релевантных результатов с оценкой, а флаг --all нужен, когда требуется охватить и блог.
Исходный текст
SKILL.md · Apache-2.0
---
name: docs-search
description: "Use this when you need more information about an AEM Edge Delivery Services (EDS, Franklin, Helix) feature or guidance on how to implement one, and your existing web-search tools are not turning up relevant results. Searches the aem.live documentation, ranks matching pages by relevance, fetches full articles, and surfaces code examples and deprecation warnings."
license: Apache-2.0
metadata:
version: "1.0.1"
---
# Searching AEM Documentation
## Overview
This skill helps you efficiently search the complete aem.live documentation (docs and blog posts) without wasting context on irrelevant pages. Use the provided search script to find relevant documentation pages, then fetch and read the full content of the most relevant results.
## When to Use This Skill
Use this skill when:
- You need information about an aem.live feature or concept
- You've already looked at the project codebase for context
- You've tried a basic web search but didn't find relevant aem.live documentation
- You need technical guidance on implementing aem.live features
- You're looking for best practices or examples from the official docs
**Do NOT use this skill when:**
- You need reusable code snippets or block examples (use `block-collection-and-party` instead)
- You already know the specific documentation URL
- You're looking for general web development information (not aem.live specific)
## How to Use This Skill
### Step 1: Identify Keywords
Determine 1-3 specific keywords related to what you're searching for. Be specific rather than general.
**Good keywords:**
- "block decoration"
- "metadata"
- "universal editor"
- "sidekick plugin"
**Poor keywords:**
- "aem" (too generic, filtered as stop word)
- "how to build website" (too broad)
- "the" (stop word)
### Step 2: Run the Search Script
Execute the search script from the project root:
```bash
node .claude/skills/docs-search/scripts/search.js [--all] <keyword1> [keyword2] [...]
```
**Options:**
- `--all`: Return all matching results (default: limit to 10 most relevant)
- Without `--all`: Returns top 10 results
**Examples:**
```bash
# Search for block decoration info
node .claude/skills/docs-search/scripts/search.js block decoration
# Search for metadata with all results
node .claude/skills/docs-search/scripts/search.js --all metadata
# Multi-word search
node .claude/skills/docs-search/scripts/search.js universal editor blocks
```
### Step 3: Review Search Results
The script returns JSON with the following structure:
```json
[
{
"path": "/developer/markup-sections-blocks",
"title": "Markup, Sections, Blocks, and Auto Blocking",
"description": "To design websites and create functionality, developers use the markup and DOM...",
"snippet": "Markup, Sections, Blocks, and Auto Blocking\n\nTo design websites...",
"type": "doc",
"deprecation": null,
"relevanceScore": 141
}
]
```
**Field Explanations:**
- `path`: URL path to the documentation page
- `title`: Page title
- `description`: Brief summary (usually ~150 chars) - **use this for quick context**
- `snippet`: Relevant excerpt from the page content showing keyword context
- `type`: "doc" or "blog"
- `deprecation`: Warning message if feature is deprecated (or null)
- `relevanceScore`: Relevance score (higher = more relevant)
**Important Notes:**
- Results are sorted by relevance (highest first)
- Deprecated pages have reduced relevance scores but still appear in results
- The `description` field provides the best quick summary of the page
- The `snippet` shows keyword context but may not be comprehensive
### Step 4: Fetch and Read Full Documentation
The search results give you an overview. To get detailed information, you must fetch and read the complete page content.
**Target URL format:**
```
https://www.aem.live{path}
```
**How to retrieve:** Use whatever method you have available to fetch the full HTML/text content:
- Dedicated web fetching tools
- Terminal commands (curl, wget, etc.)
- Web browsing/scraping capabilities
**Best Practice:** Start with the top 2-3 most relevant results, read them fully, then decide if you need more. You may also follow links referenced in the documentation or conduct additional searches based on what you learn.
### Step 5: Alert User to Deprecations
If any results have a `deprecation` field with content, **inform the user** that the feature is deprecated and include the deprecation message. Suggest they look at higher-ranked (non-deprecated) alternatives.
## What Gets Searched
The search script searches documentation first (150+ pages). Blog posts are only searched if fewer than 5 doc results are found. If you need comprehensive coverage including blogs, use the `--all` flag.
## Examples
### Example 1: Finding Block Documentation
**User Request:** "How do I decorate blocks in aem.live?"
**Good Approach:**
1. Search: `node .claude/skills/docs-search/scripts/search.js block decoration`
2. Review top 3 results
3. Fetch the most relevant: `https://www.aem.live/developer/markup-sections-blocks`
4. Read full content and provide answer
**Poor Approach:**
- Using general web search instead (wastes time on irrelevant results)
- Not using the search script (might miss the best documentation page)
### Example 2: Learning About Metadata
**User Request:** "I need to add metadata to my pages"
**Good Approach:**
1. Search: `node .claude/skills/docs-search/scripts/search.js metadata`
2. Notice top result is "/docs/bulk-metadata" (score: 63)
3. Also see "/docs/metadata" (score: 30)
4. Fetch and read both to understand page-level vs bulk metadata
5. Provide comprehensive answer with both approaches
**Poor Approach:**
- Only reading the first result and missing bulk metadata option
- Not using `--all` when you need comprehensive coverage
### Example 3: Deprecated Feature Warning
**User Request:** "How do I use folder mapping?"
**Search Results:**
```json
[
{
"path": "/developer/authoring-path-mapping",
"title": "Path mapping for AEM authoring",
"relevanceScore": 51,
"deprecation": null
},
{
"path": "/developer/folder-mapping",
"title": "Folder Mapping",
"relevanceScore": 34.5,
"deprecation": "Please contact us if you have a use case for folder mapping..."
}
]
```
**Good Response:**
"I found information about folder mapping, but **this feature is deprecated**. The deprecation notice says: 'Please contact us if you have a use case for folder mapping...'. The current recommended approach is **Path mapping for AEM authoring** (the top result). Let me read that documentation for you instead."
**Poor Response:**
- Ignoring the deprecation warning and implementing the deprecated feature
- Not mentioning the better alternative
## Related Skills
- **block-collection-and-party**: Use when you need reusable code examples or block implementations
- **building-blocks**: Use when creating new blocks from scratch
- **content-modeling**: Use when designing content models for blocks
## Important Reminders
1. **Always check for deprecation warnings** and alert the user
2. **Fetch and read full pages** - search results are just for finding the right pages
3. **Start with top 2-3 results** before expanding search
4. **The description field is your friend** - it's usually well-written and concise
5. **Don't rely solely on snippets** - they're for context, not comprehensive information
© adobe · Apache-2.0 · adobe/skills