plugins/aem/6.5-lts/skills/aem-replication/replication-orchestrator/SKILL.md
Orchestrates end-to-end replication workflows spanning multiple concerns: new environment setup, production incident response, and performance optimization for AEM 6.5 LTS.
npx skillsauth add adobe/skills replication-orchestratorInstall 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.
Coordinates complex replication workflows that span multiple sub-skills (configure, replicate, troubleshoot).
Use the orchestrator for multi-step scenarios requiring coordination across sub-skills:
For single-concern tasks, use the specific sub-skill directly instead of the orchestrator.
End-to-end workflow for setting up replication in a new AEM 6.5 LTS environment.
Delegate to: configure-replication-agent
Actions:
http://publish-host:4503/bin/receive?sling:authRequestLogin=1Verification Checkpoint:
# Test agent connectivity
curl -u $AEM_USER:$AEM_PASSWORD \
http://localhost:4502/etc/replication/agents.author/<agent-name>.test.html
Expected: "Replication test succeeded"
Delegate to: configure-replication-agent
Actions:
http://dispatcher-host:80/dispatcher/invalidate.cacheVerification Checkpoint:
# Test flush agent connectivity
curl -u $AEM_USER:$AEM_PASSWORD \
http://publish-host:4503/etc/replication/agents.publish/flush.test.html
Expected: "Replication (Dispatcher Flush) test succeeded"
Delegate to: replicate-content
Actions:
/content/test/replication-checkVerification Checkpoint:
# Check page on Publish
curl http://publish-host:4503/content/test/replication-check.html
# Check page on Dispatcher
curl http://dispatcher-host:80/content/test/replication-check.html
# Verify cache was invalidated (should see fresh content)
Expected: Page content identical on all instances
Actions:
JMX Bean:
com.day.cq.replication:type=Agent,id=<agent-name>
- QueueNumEntries
- QueueBlocked
- QueueProcessingSince
If problems occur, delegate to: troubleshoot-replication
Common setup issues:
End-to-end workflow for diagnosing and resolving production replication issues.
Questions to answer:
Data to collect:
# Check agent status
curl -u $AEM_USER:$AEM_PASSWORD \
http://localhost:4502/etc/replication/agents.author/<agent-name>.html
# Check queue depth
# Navigate to JMX Console: /system/console/jmx
# com.day.cq.replication:type=Agent,id=<agent-name>
# QueueNumEntries value
# Check recent errors
tail -n 100 <aem-install>/crx-quickstart/logs/error.log | grep -i replication
Delegate to: troubleshoot-replication
Follow diagnostic decision tree:
Common root causes:
Based on diagnosis:
Network Issue:
ping publish-hosttelnet publish-host 4503Authentication Issue:
/useradminTarget Capacity Issue:
Dispatcher Issue:
Validation steps:
Verification commands:
# Retry queue via JMX
# com.day.cq.replication:type=Agent,id=<agent-name>
# Operation: retryFirst()
# Monitor queue depth
watch -n 5 'curl -s -u $AEM_USER:$AEM_PASSWORD \
http://localhost:4502/system/console/jmx/com.day.cq.replication%3Atype%3DAgent%2Cid%3D<agent-name> \
| grep QueueNumEntries'
Document:
Update runbooks with:
End-to-end workflow for improving replication throughput and efficiency.
Metrics to collect:
Measurement period: 7 days of production traffic
Tools:
Common bottlenecks:
High Queue Depth:
Slow Network:
Serialization Overhead:
Synchronous Replication:
Based on bottleneck analysis:
Optimization 1: Use Asynchronous Replication
Delegate to: replication-api
ReplicationOptions opts = new ReplicationOptions();
opts.setSynchronous(false); // Don't block
replicator.replicate(session, type, paths, opts);
When to use: Bulk operations, background jobs, non-critical content
Optimization 2: Batch Replication
Delegate to: replication-api
String[] paths = contentPaths.toArray(new String[0]);
replicator.replicate(session, type, paths, opts);
Batch size: 100-500 paths (balance throughput vs. memory)
Optimization 3: Increase Target Capacity
Actions:
Expected improvement: Linear scaling with instance count
Optimization 4: Tune Timeouts
For large DAM assets:
Connection Timeout: 30000ms
Socket Timeout: 60000ms
For standard pages:
Connection Timeout: 10000ms (default)
Socket Timeout: 10000ms (default)
Compare metrics:
Expected improvements:
If improvements insufficient:
Prepare for migration to AEM as a Cloud Service Sling Distribution API.
Inventory:
Questions:
High-effort areas:
ReplicationListener implementations → Event listener refactorLow-effort areas:
Replicator.replicate() calls → Map to Distribution APIPhases:
Phase 1: Code Audit (delegate to development team)
com.day.cq.replication package importsPhase 2: Abstraction Layer (reduce coupling)
Phase 3: Cloud Service Implementation
Phase 4: Cutover
Official Adobe Cloud Service Documentation:
Key API migration patterns:
Replicator.replicate() → Sling Distribution API (no direct replacement, use content distribution patterns)ReplicationOptions → Configuration via OSGi for distribution agentsReplicationActionType.ACTIVATE → Content publish workflows in Cloud ServiceImportant: AEM as a Cloud Service uses a fundamentally different architecture. The Replication API does not exist in Cloud Service. Instead, content distribution is handled automatically by the platform. Custom replication code must be refactored to use Cloud Service's content publishing workflows.
The orchestrator coordinates across specialist skills:
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.