Skip to main content
plugin

dx-aem — Claude Code plugin for AEM: components, QA, screenshots

An Adobe Experience Manager plugin for Claude: component checks, dialog inspection, demo capture and Playwright-driven QA.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin marketplace add anthropics/claude-plugins-community
/plugin install dx-aem@claude-community
Open on GitHub

What dx-aem does

dx-aem ships ten skills aimed at AEM work. /aem-snapshot records a component's state before you touch it, /aem-verify compares the deployed result against that baseline and builds a test page. /aem-qa walks pages, checks rendering and dialogs, grabs screenshots and files bug tickets. Recon skills cover the rest: /aem-component locates source files and dialog fields, /aem-page-search finds pages built on a given component, /aem-doctor inspects project infrastructure.

Five subagents back this up, split across Sonnet and Haiku — dialog inspection, Playwright capture, file resolution, page finding, bug verification. Two MCP servers come bundled and are wired through .mcp.json: aem-mcp-server for JCR content and page management, plus Playwright MCP for browser automation. Neither needs a separate install.

The dx-core plugin has to be in place first, otherwise /dx-init and the build steps have nothing to run on. QA and stage environments behind HTTP Basic Auth take credentials under aem.qa-basic-auth in .ai/config.yaml, alongside author and publish URLs, the component prefix and brand list. Agents use that prefix to build CSS selectors against rendered pages.

What it helps with

  • capture a component baseline before editing
  • diff a deployed dialog against the baseline
  • screenshot dialogs and pages for an authoring guide
  • list every page that uses a component
  • audit AEM project infrastructure health

Example prompts for the agent

  • Snapshot the hero component before I start changing it
  • Verify starterkit after deploy and compare it to the baseline
  • Run QA across the pages and open bug tickets for what breaks

How to install dx-aem

Plugin marketplace

/plugin marketplace add anthropics/claude-plugins-community
/plugin install dx-aem@claude-community

Step by step, with commands for each platform: Claude Code plugins: marketplaces, installing, and building your own

Questions about dx-aem

How do I install dx-aem in Claude Code?

Add the marketplace first: /plugin marketplace add anthropics/claude-plugins-community, then install the plugin: /plugin install dx-aem@claude-community.

What does dx-aem do?

It gives Claude AEM-specific skills and subagents: component snapshots, post-deploy verification, dialog inspection, Playwright screenshots and QA runs that produce bug tickets.

What do I need before using dx-aem?

The dx-core plugin comes first — /dx-init and the build steps depend on it. For QA environments behind Basic Auth, set the credentials under aem.qa-basic-auth in .ai/config.yaml.

Source text

dx-aem · MIT
# dx-aem — AEM Plugin for Claude Code

AEM-specific tools for Adobe Experience Manager projects: component verification, dialog inspection, demo capture, and QA automation. Built on top of the [dx-core](https://github.com/yourorg/claude-dx) development workflow plugin.

## Prerequisites

Install the `dx-core` plugin first:

```bash
/plugin marketplace add easingthemes/dx-aem-flow
/plugin install dx-core@dx-aem-flow
```

## Installation

```bash
/plugin install dx-aem@dx-aem-flow
```

## Quick Start

```bash
/dx-init                          # One-time project setup (dx plugin)
/aem-init                         # Add AEM config to .ai/config.yaml

/aem-snapshot starterkit          # Baseline before development
# ... develop your changes ...
/dx-step-build                         # Build & deploy to AEM
/aem-verify starterkit            # Verify component after deployment
/aem-editorial-guide starterkit              # Screenshot dialog, write authoring guide
```

## Skills (10)

### Verification

| Skill | Description |
|-------|-------------|
| `/aem-snapshot` | Baseline component state before development — dialog fields, properties, pages |
| `/aem-verify` | Check component after deployment, compare against baseline, create test page |
| `/aem-editorial-guide` | Open AEM editor, screenshot dialog, write authoring guide |

### QA

| Skill | Description |
|-------|-------------|
| `/aem-qa` | Full QA agent — navigate pages, check rendering/dialogs, capture screenshots, create Bug tickets |

### Documentation

| Skill | Description |
|-------|-------------|
| `/aem-doc-gen` | Generate AEM demo docs — find existing pages, create docs page, capture dialog + website screenshots on QA, write authoring guide |

### Recon

| Skill | Description |
|-------|-------------|
| `/aem-init` | Detect AEM structure, add `aem:` section to .ai/config.yaml |
| `/aem-component` | Find all source files, AEM pages, and dialog fields for a component |
| `/aem-page-search` | Find all AEM pages using a specific component |
| `/aem-refresh` | Update `.ai/project/` seed data from plugin, external docs repo, or manual sources |
| `/aem-doctor` | Check AEM project infrastructure health — component definitions, OSGi, dispatcher |

## Agents

| Agent | Model | Purpose |
|-------|-------|---------|
| `aem-inspector` | Sonnet | Dialog/component inspection, docs page creation, publishing via AEM MCP |
| `aem-editorial-guide-capture` | Sonnet | Playwright screenshots, QA Basic Auth, dialog + publisher view capture |
| `aem-file-resolver` | Haiku | Resolve all source files for an AEM component across repos |
| `aem-page-finder` | Haiku | Find AEM pages using a specific component |
| `aem-bug-executor` | Sonnet | AEM-specific bug verification via Playwright and AEM MCP |

## Configuration

`/aem-init` appends to `.ai/config.yaml`:

```yaml
aem:
  url: http://localhost:4502
  component-prefix: myproject
  brands: [brand-a, brand-b, brand-c]
  author-url-qa: "https://qa-author.example.com"
  publish-url-qa: "https://qa-publish.example.com"
  qa-basic-auth:
    username: "myuser"
    password: "mypassword"
```

### QA Basic Auth

QA/Stage environments often require HTTP Basic Auth. Configure credentials in `aem.qa-basic-auth` above. `/aem-init` also installs `.claude/rules/qa-basic-auth.md` — a convention rule that agents (`aem-editorial-guide-capture`, `aem-doc-gen`, `aem-bug-executor`) read at runtime for auth handling patterns (URL embedding, fetch fallback, QA URL detection).

The `aem.component-prefix` config is used by agents to construct CSS selectors when locating components on rendered pages.

## MCP Servers

This plugin bundles two MCP servers (configured automatically via `.mcp.json`):

- **[AEM MCP](https://www.npmjs.com/package/aem-mcp-server)** (`aem-mcp-server`) — JCR content, component dialogs, page management, node queries. Supports multi-instance configurations (local + QA). Included with the plugin — no separate install needed.
- **Playwright MCP** — browser automation for screenshots, navigation, and dialog interaction

## Full Workflow

```
/aem-snapshot hero  →  /dx-step-all  →  /dx-step-build  →  /aem-verify hero  →  /aem-editorial-guide hero
```

## License

MIT

© easingthemes · MIT · easingthemes/dx-aem-flow

Similar plugins

All plugins for Testing and QA →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor