The tessl-review judge scored content at 48% (overall 78%, below the 80% threshold) on the prior commit, complaining specifically that SKILL.md duplicated ~40% of content already in reference files (threat model, consent flow, full rules checklist, helper op list, implementation-level details like O_NOFOLLOW / TOCTOU / fcntl.flock / /proc/self/fd/N). Trim is information-preserving — every claim that left SKILL.md now lives in a reference, with SKILL.md pointing at it: - New references/threat-model.md (~26 lines) holds the defended trust boundaries table and the explicit out-of-scope items (NL prompt injection, helper supply-chain, adversarial Windows). SKILL.md keeps a 5-line pointer. - references/collision-rules.md gains a "Root CLAUDE.md consent prompt" section (~50 lines) covering state detection (missing / skill-owned / human-curated), decision flow, persistence under decision: claude-md, and CI suppression. SKILL.md keeps a 9-line pointer. - Deterministic helper section: collapsed the op list (already exhaustive in helpers.md) into a 6-line pointer; dropped the implementation-level jargon (O_NOFOLLOW, /proc/self/fd/N, F_GETPATH). - Concurrency / idempotency / modes: condensed from 9 lines to 3 bullets pointing at upgrade-and-migration.md § 1 for byte-exact marker rules. - Rules checklist: 16 verbose bullets → 16 short bullets, each linking to where the rule is authoritative instead of restating it inline. - IDE selection suppression rules: 3 paragraphs collapsed into one with a pointer to output-format.md § 1.1. - Hard-guarantee tail prose: 3 paragraphs collapsed to 2. SKILL.md: 389 → 297 lines (24% reduction). 84/84 helper tests still pass. No information lost — every claim still has a single authoritative home in the references.
Adobe Skills for AI Coding Agents
Repository of Adobe skills for AI coding agents.
Installation
Claude Code Plugins
/plugin marketplace add adobe/skills
/plugin install adobe-analytics@adobe-skills
/plugin install adobe-cja@adobe-skills
/plugin install aem-design@adobe-skills
/plugin install aem-edge-delivery-services@adobe-skills
/plugin install aem-project-management@adobe-skills
/plugin install app-builder@adobe-skills
/plugin install aem-cloud-service@adobe-skills
/plugin install aem-6-5-lts@adobe-skills
Vercel Skills (npx skills)
npx skills add adobe/skills --all
upskill (GitHub CLI Extension)
gh extension install ai-ecoverse/gh-upskill
gh upskill adobe/skills --all
Cursor (preview)
The app-builder plugin includes a Cursor-native manifest at plugins/app-builder/.cursor-plugin/plugin.json as the pilot for Cursor distribution. Other plugins will gain Cursor support once the pattern is validated. To install locally for development:
mkdir -p ~/.cursor/plugins/local/app-builder
cp -R plugins/app-builder/. ~/.cursor/plugins/local/app-builder/
# Then in Cursor: Cmd+Shift+P → Developer: Reload Window
Verify the plugin loaded via Cursor Settings → Plugins (it should appear with all six App Builder skills). The skills are also visible in Settings → Rules under "Agent Decides".
Available Skills
For Business
Analytics
Practitioner-focused skills for Adobe's analytics products — KPI monitoring, funnel and dimension analysis, segment comparison, and stakeholder readouts. Each product has a dedicated plugin and a dedicated MCP server. Requests require IMS auth headers (Authorization, x-gw-ims-org-id, x-gw-ims-user-id); an OAuth proxy may inject these.
Adobe Analytics
Available via the adobe-analytics plugin. Talks to the AA MCP server at https://aa-mcp.adobe.io/mcp.
/plugin install adobe-analytics@adobe-skills
| Skill | Description |
|---|---|
aa-kpi-pulse |
KPI digest with period-over-period change and top mover callout • How are our KPIs looking this week?• Compare last month's KPIs to the same month last year |
aa-top-movers-watchlist |
Ranks dimension items by biggest gain or loss for a metric • Top gaining and declining pages this week• Which marketing channels grew or shrank most this month? |
aa-conversion-funnel-analysis |
Step-by-step fallout analysis across a multi-step conversion funnel • Analyze our checkout funnel• Where do mobile users drop off in the signup flow? |
aa-segment-performance-comparator |
Side-by-side KPI comparison across two or more audience segments • Compare mobile vs desktop performance• How do US visitors compare to UK visitors on key KPIs? |
aa-executive-briefing |
Narrative performance summary ready for leadership or QBR • Write last week's performance briefing for leadership• Draft a monthly business review for the board |
See the adobe-analytics doc for the full plugin description, MCP server template, and skill index.
Customer Journey Analytics
Available via the adobe-cja plugin. Talks to the CJA MCP server at https://cja-mcp.adobe.io/mcp.
/plugin install adobe-cja@adobe-skills
| Skill | Description |
|---|---|
cja-kpi-pulse |
KPI digest with period-over-period change, trend direction, and dimension breakdown • How are our KPIs looking this week?• Compare last month's KPIs to the same month last year |
cja-top-movers-watchlist |
Ranks dimension items by biggest gain or loss for a metric • Top gaining and declining pages this week• Which marketing channels grew or shrank most this month? |
cja-funnel-health-check |
Step-by-step fallout analysis across a multi-step conversion funnel • Check the health of our purchase funnel• Where do users drop off in our onboarding journey? |
cja-dimension-analysis |
Cardinality, distribution, trends, anomalies, and data quality for a dimension • Analyze the Page Name dimension• Audit our Marketing Channel values — any spelling variations or duplicates? |
cja-segment-performance-comparator |
Side-by-side KPI comparison across two or more audience segments • Compare mobile vs desktop performance• How do US visitors compare to UK visitors on key KPIs? |
cja-executive-briefing |
Narrative performance summary ready for leadership or QBR • Write last week's performance briefing for leadership• Draft a monthly business review for the board |
See the adobe-cja doc for the full plugin description, MCP server template, and skill index.
Adobe Experience Manager
Designing with aem-design
Design-phase skills that run before implementation. Produces static HTML and JSON artifacts under aem-design/ — EDS-independent; no dev server or AEM instance required.
| Skill | Description |
|---|---|
aem-design |
Navigator — assesses aem-design/ state and recommends the next design stage |
brand |
Extracts a brand profile (brand-profile.json) and visual brand board from a URL, PDF, or conversation |
briefings |
Captures page intent, audience, key messages, CTAs, and (optionally) final copy under aem-design/briefings/ |
wireframes |
Produces grey structural wireframes from briefings (section order, hierarchy, spatial relationships) — optional stage |
prototype |
Produces branded, high-fidelity static HTML prototypes that iterate in the browser until approved |
Developing with Edge Delivery Services
| Skill | Description |
|---|---|
aem-cli |
Install, run, and configure the Adobe AEM CLI (aem up local dev server, .env/TLS/proxy setup, aem import, aem content da.live sync, troubleshooting); migrate from @adobe/helix-cli |
create-site |
Start a brand-new site from scratch: GitHub repo from boilerplate, aem-code-sync, initial DA content (nav, footer, homepage), and live URL handoff |
content-driven-development |
Orchestrates the CDD workflow for all code changes |
analyze-and-plan |
Analyze requirements and define acceptance criteria |
building-blocks |
Implement blocks and core functionality |
testing-blocks |
Browser testing and validation |
content-modeling |
Design author-friendly content models |
code-review |
Self-review and PR review |
Discovering Blocks
| Skill | Description |
|---|---|
block-inventory |
Survey available blocks in project and Block Collection |
block-collection-and-party |
Search reference implementations |
docs-search |
Search aem.live documentation |
find-test-content |
Find existing content for testing |
Migrating Content
| Skill | Description |
|---|---|
page-import |
Import webpages into canonical EDS block format (orchestrator) |
scrape-webpage |
Scrape and analyze webpage content |
identify-page-structure |
Analyze page sections |
page-decomposition |
Analyze content sequences |
authoring-analysis |
Determine authoring approach |
generate-import-html |
Generate structured HTML |
preview-import |
Preview imported content |
snowflake |
Static-to-EDS overlay conversion — preserves original DOM byte-for-byte (alternative path to page-import for AI-generated/static pages) |
Content & Platform Reference
| Skill | Description |
|---|---|
da-content |
Reference for DA + EDS content rules: block HTML format, metadata, media handling, DA Source API contract, and silent-failure rules |
Managing Projects
Handover documentation and PDF guides generation for AEM Edge Delivery Services projects. Available via the aem-project-management plugin.
| Skill | Description |
|---|---|
handover |
Orchestrates project documentation generation |
authoring |
Generate comprehensive authoring guide for content authors |
development |
Generate technical documentation for developers |
admin |
Generate admin guide for site administrators |
whitepaper |
Create professional PDF whitepapers from Markdown |
auth |
Authenticate with AEM Config Service API |
AEM as a Cloud Service — Create Component
The create-component skill creates complete AEM components following Adobe best practices for AEM Cloud Service and AEM 6.5. It covers:
- Component definition, dialog XML, and HTL template
- Sling Model and optional child item model (multifield)
- Unit tests for models and servlets
- Clientlibs (component and dialog)
- Optional Sling Servlet for dynamic content
See plugins/aem/cloud-service/skills/create-component/ for the skill and its reference files.
AEM as a Cloud Service — Ensure AGENTS.md (bootstrap)
The ensure-agents-md skill is a bootstrap skill that runs first, before any other work. When a
customer opens their AEM Cloud Service project and asks the agent anything, this skill checks whether
AGENTS.md exists at the repo root. If missing, it:
- Reads root
pom.xmlto resolve the project name and discover actual modules - Detects add-ons (CIF, Forms, SPA type, precompiled scripts)
- Generates a tailored
AGENTS.mdwith only the modules that exist, correct frontend variant, conditional Dispatcher MCP section, and the right resource links - Creates
CLAUDE.md(@AGENTS.md) so Claude-based tools also discover the guidance
If AGENTS.md already exists it is never overwritten.
See plugins/aem/cloud-service/skills/ensure-agents-md/ for the skill, template, and module catalog.
AEM as a Cloud Service — aem-agentkit (beta)
The aem-agentkit skill complements ensure-agents-md by layering everything beyond the root AGENTS.md needed for agentic workflows across Claude Code, Cursor, GitHub Copilot, Codex, Continue.dev, Cline, Windsurf, and Augment Code. It writes only into agent-meta locations and never modifies customer source code. Scope: AEM as a Cloud Service only — the skill exits early on 6.5 LTS / AMS / on-premise layouts.
- Per-module
AGENTS.mdin each detected AEM module (focused context the agent loads only when working in that module, recursive for nested AEM monorepos) - Machine-readable codified context under
.aem/context/: component catalog, OSGi services / Sling Models / Sling Servlets index, derived conventions with evidence pointers, anti-patterns with absolute Cloud Service documentation links, glossary, test patterns, canonical API namespaces, run manifest (every file written + every heuristic decision) - Silent IDE detection — writes project-scoped subagents (
.claude/agents/aem-*.md) and slash commands (.claude/commands/*.md) for Claude, rule files (.cursor/rules/aem-*.mdc) for Cursor, scoped instructions (.github/instructions/aem-*.instructions.md) for GitHub Copilot, rules (.continue/rules/aem-*.md) for Continue, plus concatenated rule files for Cline / Windsurf / Augment. A single canonical role-prompt is projected into each format so the content is identical across IDEs. - Non-destructive
.mcp.json/.cursor/mcp.jsonplaceholders when missing (inert by construction — nocommandfield,_TODO_key prefix) - Embedded guardrails (search-before-create, verify-before-import, no
/libswrites, stop-on-red, honor indexes after writing code) - Idempotent, marker-based, byte-for-byte non-destructive —
git diffafter a run shows zero changes to pre-existing files. Customer opt-out via a_disable_agentkitfile at the workspace root, with explicit single-archetype-vs-monorepo handling. - Deterministic by construction — realpath + workspace boundary checks, SHA-256 canonical-body marker checksums, atomic
.tmp+rename(2)writes, exhaustive Unicode sanitization, sorted-key JSON, bounded file walks (100,000 files / depth 32 / 10,000 per subtree), advisory workspace lock — all performed by the deterministic helper documented inreferences/helpers.md. - Beta. Verify all outputs before applying them to production projects.
aem-agentkit does not replace ensure-agents-md; the two are complementary. When the root AGENTS.md is missing and ensure-agents-md is available, aem-agentkit defers to it as step 0. When ensure-agents-md is not installed, aem-agentkit proceeds with everything else and emits a one-line notice.
See plugins/aem/cloud-service/skills/aem-agentkit/ for the skill, references, templates, and tool-specific projection rules.
AEM Workflow
Workflow skills cover the full AEM Granite Workflow Engine lifecycle — from designing and implementing workflows to production debugging and incident triaging. Like Dispatcher, they are split by runtime flavor:
plugins/aem/cloud-service/skills/aem-workflow— Cloud Service variant (no JMX, Cloud Manager logs, pipeline deploy)plugins/aem/6.5-lts/skills/aem-workflow— 6.5 LTS / AMS variant (JMX, Felix Console, direct log access)
Each flavor contains the same specialist sub-skills:
| Sub-Skill | Purpose |
|---|---|
workflow-model-design |
Design workflow models, step types, OR/AND splits, variables |
workflow-development |
Implement WorkflowProcess steps, ParticipantStepChooser, OSGi services |
workflow-triggering |
Start workflows from UI, code, HTTP API, or Manage Publication |
workflow-launchers |
Configure automatic workflow launchers on JCR events |
workflow-debugging |
Debug stuck, failed, or stale workflows in production |
workflow-triaging |
Classify incidents, determine log patterns, Splunk queries |
workflow-orchestrator |
Full lifecycle orchestration across all sub-skills |
AEM Dispatcher
Dispatcher skills are split by runtime flavor to avoid mode auto-detection and keep installation explicit.
Install only one dispatcher flavor in a workspace (cloud-service or 6.5-lts).
Current dispatcher flavors:
plugins/aem/cloud-service/skills/dispatcherplugins/aem/6.5-lts/skills/dispatcher
Each flavor contains parallel capability groups (workflow orchestration, config authoring, technical advisory, incident response, performance tuning, and security hardening).
Shared advisory logic is centralized under each flavor's dispatcher/shared/references/ to reduce duplication and drift.
AEM Replication
Replication skills for AEM 6.5 LTS cover the full content distribution lifecycle from agent configuration to troubleshooting.
Location: plugins/aem/6.5-lts/skills/aem-replication
The aem-replication skill contains four specialist sub-skills:
| Sub-Skill | Purpose |
|---|---|
configure-replication-agent |
Configure replication agents for publishing, dispatcher flush, and reverse replication |
replicate-content |
Activate and deactivate content using UI, workflows, and package manager |
replication-api |
Use the Replication API programmatically in custom code with complete Java examples |
troubleshoot-replication |
Diagnose and fix blocked queues, connectivity failures, and distribution problems |
Key features:
- All skills based on official AEM 6.5 LTS documentation
- Complete coverage of public Replication API (Replicator, ReplicationOptions, AgentManager, ReplicationQueue, etc.)
- 49 Java code examples for OSGi services, servlets, and workflow steps
- 12+ troubleshooting scenarios with step-by-step resolution
- 3,575 lines of comprehensive documentation
AEM as a Cloud Service — Rapid Development Environment (RDE) (beta)
The aem-rde skill provides expert assistance for the Adobe I/O CLI plugin @adobe/aio-cli-plugin-aem-rde — used to deploy, inspect, log-tail, snapshot, and troubleshoot AEM Rapid Development Environments via aio aem rde … commands. The skill activates only on explicit RDE references; generic AEMaaCS deployment requests are deferred to Cloud Manager skills.
| Skill | Description |
|---|---|
aem-rde (beta) |
Translate goals into the right aio aem rde commands (deploy, status, history, logs, inspect, snapshot, setup); diagnose RDE problems; guide setup, experimental feature flags, and CI/build-environment usage |
See plugins/aem/cloud-service/skills/aem-rde/ for the skill and its reference files (commands, configuration, deployment types, troubleshooting, workflows).
AEM as a Cloud Service — Best Practices & Migration
Under plugins/aem/cloud-service/skills/, best-practices/ is the general-purpose Cloud Service skill: pattern modules, Java baseline references (SCR→OSGi DS, resolver/logging, and related refs), and day-to-day Cloud Service alignment. Use it without loading migration for greenfield or maintainability work. migration/ (BPA/CAM orchestration) is scoped to legacy AEM → AEM as a Cloud Service (not Edge Delivery or 6.5 LTS); it delegates concrete refactors to best-practices (references/). Installing the AEM as a Cloud Service plugin (aem-cloud-service, or the plugins/aem/cloud-service path with npx skills / gh upskill) includes both; the agent should load the appropriate SKILL.md for the task. Use gh upskill / npx skills with --skill when you need a specific bundled skill (see Installation above).
Key features:
- Best practices: one skill for patterns, SCR→OSGi DS, and resolver/logging — applicable to Cloud Service projects generally, not only migration
- Migration: orchestration-only; pattern and transformation content lives in
best-practices
App Builder
Development, customization, testing, and deployment skills for Adobe App Builder projects.
Skill chaining:
- Actions path:
appbuilder-project-init→appbuilder-action-scaffolder→appbuilder-testing→appbuilder-cicd-pipeline - UI path:
appbuilder-project-init→appbuilder-ui-scaffolder→appbuilder-testing→appbuilder-cicd-pipeline - E2E path:
appbuilder-ui-scaffolderorappbuilder-testing→appbuilder-e2e-testing→appbuilder-cicd-pipeline
| Skill | Description |
|---|---|
appbuilder-project-init |
Initialize new Adobe App Builder projects and choose the right bootstrap path |
appbuilder-action-scaffolder |
Scaffold, implement, deploy, and debug Adobe Runtime actions |
appbuilder-ui-scaffolder |
Generate React Spectrum UI components for ExC Shell SPAs and AEM UI Extensions |
appbuilder-testing |
Generate and run Jest unit, integration, and contract tests for actions and UI components |
appbuilder-e2e-testing |
Playwright browser E2E tests for ExC Shell SPAs and AEM extensions |
appbuilder-cicd-pipeline |
Set up CI/CD pipelines for GitHub Actions, Azure DevOps, and GitLab CI |
Creativity & Design
| Skill | Description |
|---|---|
adobe-batch-edit-photos |
Apply consistent, cohesive photo adjustments across a set of images — matched tones, presets, and cinematic looks |
adobe-design-from-template |
Create flyers, posters, social posts, invitations, business cards, and other visuals from Adobe Express templates |
adobe-retouch-portraits |
Bulk walk-away retouching for wedding and event portraits: auto-straighten, auto-tone, and auto-light across a folder |
adobe-edit-quick-cut |
Turn a long video into a punchy sizzle or highlight reel using Adobe Quick Cut |
adobe-resize-photos-and-videos |
Resize images and videos to exact pixel dimensions, aspect ratios, or named sizes (4K, HD, A4) |
adobe-create-social-variations |
Produce platform-ready image and video crops for Instagram, TikTok, LinkedIn, YouTube, and other social platforms |
Repository Structure
plugins/
├── adobe-analytics/
│ ├── .claude-plugin/
│ │ └── plugin.json
│ ├── .mcp.json
│ └── skills/
│ ├── aa-kpi-pulse/
│ ├── aa-top-movers-watchlist/
│ ├── aa-conversion-funnel-analysis/
│ ├── aa-segment-performance-comparator/
│ └── aa-executive-briefing/
├── adobe-cja/
│ ├── .claude-plugin/
│ │ └── plugin.json
│ ├── .mcp.json
│ └── skills/
│ ├── cja-kpi-pulse/
│ ├── cja-top-movers-watchlist/
│ ├── cja-funnel-health-check/
│ ├── cja-dimension-analysis/
│ ├── cja-segment-performance-comparator/
│ └── cja-executive-briefing/
├── aem/
│ ├── edge-delivery-services/
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ └── skills/
│ │ ├── content-driven-development/
│ │ ├── building-blocks/
│ │ └── ...
│ ├── project-management/
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ ├── fonts/
│ │ ├── hooks/
│ │ │ └── pdf-lifecycle.js
│ │ ├── templates/
│ │ │ └── whitepaper.typ
│ │ └── skills/
│ │ ├── handover/
│ │ ├── authoring/
│ │ ├── development/
│ │ ├── admin/
│ │ ├── whitepaper/
│ │ └── auth/
│ ├── cloud-service/
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ └── skills/
│ │ ├── best-practices/
│ │ │ ├── README.md
│ │ │ ├── SKILL.md
│ │ │ └── references/
│ │ ├── migration/
│ │ │ ├── README.md
│ │ │ ├── SKILL.md
│ │ │ ├── references/
│ │ │ └── scripts/
│ │ ├── ensure-agents-md/
│ │ │ ├── SKILL.md
│ │ │ └── references/
│ │ │ ├── AGENTS.md.template
│ │ │ └── module-catalog.md
│ │ ├── create-component/
│ │ │ ├── SKILL.md
│ │ │ ├── assets/
│ │ │ └── references/
│ │ ├── aem-workflow/
│ │ │ ├── SKILL.md
│ │ │ ├── workflow-model-design/
│ │ │ ├── workflow-development/
│ │ │ ├── workflow-triggering/
│ │ │ ├── workflow-launchers/
│ │ │ ├── workflow-debugging/
│ │ │ ├── workflow-triaging/
│ │ │ └── workflow-orchestrator/
│ │ └── dispatcher/
│ │ ├── SKILL.md
│ │ ├── config-authoring/
│ │ ├── technical-advisory/
│ │ ├── incident-response/
│ │ ├── performance-tuning/
│ │ ├── security-hardening/
│ │ └── workflow-orchestrator/
│ └── 6.5-lts/
│ ├── .claude-plugin/
│ │ └── plugin.json
│ └── skills/
│ ├── aem-workflow/
│ │ ├── SKILL.md
│ │ ├── workflow-model-design/
│ │ ├── workflow-development/
│ │ ├── workflow-triggering/
│ │ ├── workflow-launchers/
│ │ ├── workflow-debugging/
│ │ ├── workflow-triaging/
│ │ └── workflow-orchestrator/
│ ├── aem-replication/
│ │ ├── README.md
│ │ ├── SKILL.md
│ │ ├── configure-replication-agent/
│ │ ├── replicate-content/
│ │ ├── replication-api/
│ │ └── troubleshoot-replication/
│ ├── ensure-agents-md/
│ └── dispatcher/
│ ├── SKILL.md
│ ├── config-authoring/
│ ├── technical-advisory/
│ ├── incident-response/
│ ├── performance-tuning/
│ ├── security-hardening/
│ └── workflow-orchestrator/
├── app-builder/
│ ├── .claude-plugin/
│ │ └── plugin.json
│ └── skills/
│ ├── _shared/
│ ├── appbuilder-project-init/
│ ├── appbuilder-action-scaffolder/
│ ├── appbuilder-ui-scaffolder/
│ ├── appbuilder-testing/
│ ├── appbuilder-e2e-testing/
│ └── appbuilder-cicd-pipeline/
└── creative-cloud/
└── adobe-for-creativity/
├── .claude-plugin/
│ └── plugin.json
├── skills/
│ └── ...
└── .mcp.json
Contributing
See CONTRIBUTING.md for guidelines on adding or updating skills. Join #agentskills on Adobe Slack for questions and discussion.
Resources
- agentskills.io Specification
- Claude Code Plugins
- Vercel Skills
- upskill GitHub Extension
- #agentskills Slack Channel
License
Apache 2.0 — see LICENSE for details.