Searches the aem.live documentation for information on features of the platform. Use this skill when you need more information about a feature, want guidance on how to implement a feature, and using existing tools you have to search the web isn't turning up relevant results.
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 use WebFetch to read the full content of the most relevant results.
Use this skill when:
Do NOT use this skill when:
eds/block-research instead)Determine 1-3 specific keywords related to what you're searching for. Be specific rather than general.
Good keywords:
Poor keywords:
Execute the search script from the project root:
node .agents/skills/eds/docs-search/scripts/search.js [--all] <keyword1> [keyword2] [...]
Options:
--all: Return all matching results (default: limit to 10 most relevant)--all: Returns top 10 resultsExamples:
# Search for block decoration info
node .agents/skills/eds/docs-search/scripts/search.js block decoration
# Search for metadata with all results
node .agents/skills/eds/docs-search/scripts/search.js --all metadata
# Multi-word search
node .agents/skills/eds/docs-search/scripts/search.js universal editor blocks
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 pagetitle: Page titledescription: Brief summary (usually ~150 chars) - use this for quick contextsnippet: Relevant excerpt from the page content showing keyword contexttype: "doc" or "blog"deprecation: Warning message if feature is deprecated (or null)relevanceScore: Relevance score (higher = more relevant)Important Notes:
description field provides the best quick summary of the pagesnippet shows keyword context but may not be comprehensiveThe search results give you an overview. To get detailed information, read the full content based on the result type:
For type: "local" results — use the Read tool with the relative path:
Read: {path} (e.g., docs/BLOCK-EXTENSIBILITY-GUIDE.md)
For type: "doc" or type: "blog" results — use WebFetch with the aem.live URL:
WebFetch: https://www.aem.live{path}
Best Practice: Start with the top 2-3 most relevant results. Prefer local results for project-specific questions (block patterns, token system, brand setup). Prefer official docs for aem.live platform questions (APIs, configuration, universal editor).
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.
docs/ directory, ~40 files) — project-specific guides, block audits, brand setup, multi-brand architecture, TODOS, solution designAll three sources are searched simultaneously. Results are ranked by relevance score and interleaved — local and remote results compete on the same scale. Local results have type: "local"; official docs have type: "doc"; blog posts have type: "blog".
These common words are ignored in searches:
Remote index files (aem.live docpages + query index) are cached locally for 24 hours in .agents/skills/eds/docs-search/.cache/. Local docs/ files are read directly from disk on each run — no caching, always current.
User Request: "How do I decorate blocks in aem.live?"
Good Approach:
node .agents/skills/eds/docs-search/scripts/search.js block decorationhttps://www.aem.live/developer/markup-sections-blocksPoor Approach:
User Request: "I need to add metadata to my pages"
Good Approach:
node .agents/skills/eds/docs-search/scripts/search.js metadataPoor Approach:
--all when you need comprehensive coverageUser Request: "How do I use folder mapping?"
Search Results:
[
{
"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: