/docs-search
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
$ npx -y skills add adobe/skills --skill docs-search --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/docs-search
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
docs-search.SKILL.mdname: 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:
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:**
# 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:
[
{
"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:**
[
{
"path": "/developer/authoring-paRead more
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:
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:**
# 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:
[
{
"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:**
[
{
"path": "/developer/authoring-paRepo: adobe/skills
Other skills on adobe-skills.
- /aa-conversion-funnel-analysis
Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have the worst leakage. Use this skill when someone describes a journey and asks about conversion rates, drop-off, fallout, or step completion. Trigger for "analyze our checkout funnel,"
Open skill - /aa-executive-briefing
Generates a concise, executive-ready performance summary covering key metrics, trends, and what's driving movement. Use this skill when someone needs to produce a briefing, executive summary, performance narrative, or stakeholder readout — for example, "write an exec summary of
Open skill - /aa-kpi-pulse
Produces a compact KPI digest showing how key metrics changed over a period and what's driving the movement. Use this skill when someone asks for a performance summary, a weekly recap, a morning briefing, a KPI update, or any variation of "how did we do this week/month." Also
Open skill - /aa-segment-performance-comparator
Compares the performance of two or more audience segments across key metrics side by side. Use this skill when someone wants to compare audiences or visitor groups — for example, "how do mobile visitors compare to desktop on conversion," "compare new vs. returning visitors,"
Open skill - /aa-top-movers-watchlist
Identifies which items (pages, campaigns, products, channels, regions) had the biggest increases or decreases for a key metric between two time periods. Use this skill when someone asks "what's up and what's down," "which campaigns moved the most," "top gainers and losers,"
Open skill - /cja-dimension-analysis
Comprehensive dimension analysis and reporting for CJA. Use this skill whenever the user wants to analyze one or more dimensions — including cardinality, distribution/skew, trends, anomalies, data quality errors, comparisons, and forecasting. Also trigger when someone asks "what
Open skill

