skills/aem/edge-delivery-services/skills/docs-search/SKILL.md
Searches the aem.live documentation for information on AEM Edge Delivery Services features. 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.
npx skillsauth add adobe/skills docs-searchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
Use this skill when:
Do NOT use this skill when:
block-collection-and-party 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 .claude/skills/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 .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
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, 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:
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.
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.
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.
User Request: "How do I decorate blocks in aem.live?"
Good Approach:
node .claude/skills/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 .claude/skills/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:
tools
Use the run-workflow MCP to discover, compose, execute, publish, and save Adobe Firefly workflows. TRIGGER when: user asks what actions are available, what the MCP can do, how to process images/video/3D via workflow, wants to build/run/save/publish a workflow, OR pastes any workflow/batch/execution ID. BARE ID (UUID/workflowId/batchId) = INSPECT ONLY — call inspect_run, NEVER run_workflow_submit. ALWAYS call list_actions first for capability/discovery questions. DO NOT TRIGGER for direct Firefly API calls without MCP (use firefly-api-specs).
tools
Run predefined featured workflows via run-workflow MCP. TRIGGER when user names a featured workflow (retargeting, banners at scale, localization, packaging, banner advertising, etc.) or asks to run a known marketing/production workflow. Requires run-workflow MCP. ALWAYS call get_featured_workflow before compose_workflow. DO NOT TRIGGER for custom one-off workflows with no named template — use run-workflow skill.
tools
Migrate an Adobe Commerce App Builder project from the Integration Starter Kit or Checkout Starter Kit to the new App Management approach. Run from the root of the App Builder project to be migrated. Pass --auto to skip confirmation prompts (suitable for CI or batch use) — auto mode prints a summary of all Q&A questions answered with their defaults. Pass --doc-scan-only to scan README.md and env.dist for outdated content without modifying any files. Use when the user wants to migrate an App Builder project from the Integration Starter Kit or Checkout Starter Kit to the App Management approach, or mentions upgrading their Adobe Commerce extension architecture.
development
Add or modify webhook interceptors in an Adobe Commerce app. Use when the user wants to intercept Commerce operations to validate input, append data, or modify behavior — before or after execution. Requires a base app initialized with commerce-app-init.