Docs Search logo

Docs Search

Organization
adobe
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 relevance, fetches full articles, and surfaces code examples and deprecation warnings.

Overview

Publisheradobe
Repositoryskills
Skill namedocs-search
Stars
298
Forks
92
Bundled files
5
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 5 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by adobe on GitHub. Read the source before you install it.

Installation

Install the Docs Search AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/adobe/skills/tree/main/plugins/aem/edge-delivery-services/skills/docs-search
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/adobe/skills.git /tmp/skills
mkdir -p .claude/skills
cp -r /tmp/skills/plugins/aem/edge-delivery-services/skills/docs-search .claude/skills/docs-search
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Docs Search in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Docs Search on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Docs Search is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Docs Search AI skill do?

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.

Why use Docs Search on TypingMind?

Because you install it once and use it with any model. Docs Search is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Docs Search in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/adobe/skills/tree/main/plugins/aem/edge-delivery-services/skills/docs-search. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Docs Search?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Docs Search?

As many as you like. As long as a model supports skills, you can use Docs Search with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Docs Search AI skill free?

Yes. It is published on GitHub by adobe under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇