feat: aem cloud service content distribution skills#67
Open
abhishekgarg18 wants to merge 7 commits intoadobe:betafrom
Open
feat: aem cloud service content distribution skills#67abhishekgarg18 wants to merge 7 commits intoadobe:betafrom
abhishekgarg18 wants to merge 7 commits intoadobe:betafrom
Conversation
Created a complete skill suite for AEM as a Cloud Service content distribution, covering publishing workflows, Preview tier management, programmatic APIs, troubleshooting, and orchestration. Skills included: - content-distribution (main orchestrator with intent routing) - publish-content (Quick Publish, Manage Publication, Tree Activation, scheduling) - preview-tier (Preview tier workflows, UAT testing, stakeholder review) - distribution-api (JCR-based publishing, OSGi event handlers, bulk operations) - troubleshoot-distribution (diagnostics for stuck content, CDN cache, Sling jobs) - orchestrator (go-live preparation, incident response, CDN optimization) Reference documentation: - architecture.md (3-tier architecture, Sling Content Distribution, CDN) - cloud-guardrails.md (rate limits, best practices, capacity planning) Key features: - 9 markdown files with 3,703 lines of comprehensive documentation - 100% Cloud Service-specific (no 6.5 LTS content) - Real-world examples with Java code and workflows - Preview tier native support (Cloud Service exclusive feature) - Automatic Sling Content Distribution (vs manual replication agents) - Integrated Adobe CDN with auto-purge - Based on official Adobe documentation Location: skills/aem/cloud-service/skills/content-distribution/ Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Address PR review feedback: - Remove migration workflow from orchestrator capabilities (README.md, SKILL.md) - Remove migration use cases - Delete entire "Migration from AEM 6.5 LTS" section from README - Delete "Migration from 6.5 LTS Guardrails" section from cloud-guardrails.md - Replace migration note with reference to separate migration skill - Remove broken references to non-existent sling-distribution.md, cdn-integration.md, preview-tier.md files - Add note that additional reference documentation will be added in future updates All migration-related content removed per PR requirements. Documentation now focuses solely on Cloud Service content distribution. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
CRITICAL FIXES: 1. Replication API EXISTS in Cloud Service (not removed) - Corrected false claim that com.day.cq.replication.* is "REMOVED" - The Replicator interface, ReplicationOptions, ReplicationStatus all exist - Official Adobe Javadoc confirms API availability 2. Use official Replicator.replicate() method (not JCR properties) - Replaced undocumented JCR property approach with official API - Updated all code examples to use replicator.replicate() - Added proper OSGi service injection examples 3. Removed all migration-related content - Changed "Migrating large content trees" to "Publishing large content trees" - Changed "Site migration" to "Bulk site publishing" - Changed "Controlled content migration" to "Specific content deployment" - Removed reference to non-existent "migration skill" 4. Added Cloud Service capacity limits - Maximum 100 paths per replicate() call (recommended) - Absolute limit: 500 paths (throws ReplicationException) - Maximum 10MB content size per call - Recommend Tree Activation workflow for bulk operations VERIFIED AGAINST: - https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/operations/replication - https://developer.adobe.com/experience-manager/reference-materials/cloud-service/javadoc/com/day/cq/replication/package-summary.html - https://developer.adobe.com/experience-manager/reference-materials/cloud-service/javadoc/com/day/cq/replication/Replicator.html Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Complete rewrite of AEM Cloud Service content distribution skills based on official Javadoc and Adobe documentation. **Previous issues:** - Incorrectly claimed Replication API (com.day.cq.replication) was removed - Showed manual JCR property manipulation instead of using Replicator service - Referenced "Sling Content Distribution API" as developer-facing (it's internal) - Mixed UI workflows with programmatic APIs - Generic troubleshooting content with no unique value **Changes made:** - Deleted 7 files with incorrect/low-value content (3,349 lines) - Created 2 new skills based on official APIs (2,154 lines): 1. replication/SKILL.md - Official Replication API (com.day.cq.replication.Replicator) 2. sling-distribution/SKILL.md - Distribution event monitoring (org.apache.sling.distribution.event) - Rewrote README.md and SKILL.md with accurate architecture and examples **Official documentation sources:** - Replication API: https://developer.adobe.com/experience-manager/reference-materials/cloud-service/javadoc/com/day/cq/replication/ - Sling Distribution: https://developer.adobe.com/experience-manager/reference-materials/cloud-service/javadoc/org/apache/sling/distribution/ - Adobe Guide: https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/operations/replication.html **What's included:** - Complete Replicator API usage (single/bulk publishing, Preview tier) - ReplicationOptions for advanced configuration - Distribution event handling (CREATED, QUEUED, DISTRIBUTED, DROPPED, IMPORTED) - Rate limits and best practices (100 paths/call, 10MB max) - Real code examples verified against official Javadoc - Workflow integration patterns - Service user configuration examples Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add getServiceResolver() implementation with ResourceResolverFactory - Add isContentFragment() implementation - Improves code example completeness for developers
trieloff
approved these changes
Apr 14, 2026
Collaborator
Author
|
waiting for signoff from AEMaaCS replication team. |
…ntion Apply the three-mechanism beta skill convention: - Add frontmatter status: beta field - Add [BETA] prefix and warning to description - Add blockquote beta notice in body This follows the pattern documented in adobe#72 for marking skills that are under active development and need verification before production use. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
rombert
requested changes
Apr 15, 2026
Collaborator
rombert
left a comment
There was a problem hiding this comment.
LGTM but do we need to adjust the skill names in the front matter? See inline comments.
| @@ -0,0 +1,708 @@ | |||
| --- | |||
| name: aem-replication-api | |||
Collaborator
There was a problem hiding this comment.
https://agentskills.io/specification says that the name field
Must match the parent directory name
| @@ -0,0 +1,738 @@ | |||
| --- | |||
| name: aem-sling-distribution | |||
Collaborator
There was a problem hiding this comment.
https://agentskills.io/specification says that the name field
Must match the parent directory name
| @@ -0,0 +1,347 @@ | |||
| --- | |||
| name: aem-content-distribution | |||
Collaborator
There was a problem hiding this comment.
https://agentskills.io/specification says that the name field
Must match the parent directory name
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
AEM as a Cloud Service Content Distribution Skills
Complete rewrite of content distribution skills based on official AEM Cloud Service Javadoc and Adobe documentation.
What Changed
Previous Issues
com.day.cq.replication) was "removed" from Cloud ServiceReplicatorserviceNew Implementation
Deleted: 7 files, 3,349 lines of incorrect/low-value content
Created: 4 files, 2,154 lines of official API-based content
✅ Two focused skills based on official APIs:
1. Replication API (
replication/SKILL.md- 708 lines)Official
com.day.cq.replication.ReplicatorAPI for programmatic publishing:ReplicationOptionsfor advanced configuration (synchronous mode, versioning, listeners)ReplicationStatusfor checking publication stateReplicationActionTypeenum (ACTIVATE, DEACTIVATE, DELETE, TEST)checkPermission()2. Sling Distribution Events (
sling-distribution/SKILL.md- 738 lines)Distribution lifecycle event monitoring via
org.apache.sling.distribution.event:AGENT_PACKAGE_CREATED,QUEUED,DISTRIBUTED,DROPPED,IMPORTER_PACKAGE_IMPORTED3. Documentation
README.md(367 lines) - Architecture diagrams, how APIs work together, common patterns, quick referenceSKILL.md(341 lines) - Parent skill with routing logic, decision guide, integration examplesOfficial Documentation Sources
Every code example and API usage verified against:
Key Corrections
Replication API exists and should be used - Previous version incorrectly claimed it was removed. The official way to publish content is
replicator.replicate(session, ReplicationActionType.ACTIVATE, path)No manual JCR property manipulation - Removed incorrect examples that manually set
cq:lastReplicationActionproperties. Use theReplicatorservice instead.Sling Distribution clarified - Correctly explained as the underlying transport mechanism (Adobe Developer pipeline service), not a direct developer API. Developers use
ReplicatorAPI; Sling Distribution fires events during the process.Rate limits documented - Official constraints: 100 paths (transactional guarantee), 500 hard limit, 10MB payload size
Architecture
┌─────────────────────────────────────────┐
│ Your Code: Replication API │
│ replicator.replicate(...) │
└──────────────────┬──────────────────────┘
↓
┌─────────────────────────────────────────┐
│ Sling Distribution (Transport) │
│ - Package creation [EVENT: CREATED] │
│ - Queueing [EVENT: QUEUED] │
│ - Distribution [EVENT: DISTRIBUTED] │
│ - Adobe Developer Pipeline │
│ - Import [EVENT: IMPORTED] │
└──────────────────┬──────────────────────┘
↓
Content live on Publish/Preview
What's Included
Replication API Examples