Skip to content

feat: add skills for AEM Cloud Service, AEM 6.5 LTS and App Builder (merge beta branch to main)#77

Merged
rombert merged 49 commits intomainfrom
issue/merge-beta
Apr 16, 2026
Merged

feat: add skills for AEM Cloud Service, AEM 6.5 LTS and App Builder (merge beta branch to main)#77
rombert merged 49 commits intomainfrom
issue/merge-beta

Conversation

@rombert
Copy link
Copy Markdown
Collaborator

@rombert rombert commented Apr 16, 2026

Description

Bring in all changes from the beta branch.

Related Issue

Motivation and Context

A number of skills have been developed in the beta branch, pending validation. The skills have seen real-life usage and are good to include in the main branch for general availability.

How Has This Been Tested?

Skills have been installed from beta branch and used in various scenarios.

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have signed the Adobe Open Source CLA.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Abhishek Garg and others added 30 commits March 6, 2026 04:18
feat: add mode-scoped dispatcher skills for cloud and 6.5lts
Co-authored-by: Abhishek Garg <abhigarg+adobe@adobe.com>
---------

Co-authored-by: Abhishek Garg <abhigarg+adobe@adobe.com>
- Add workflow-debugging and workflow-triaging skills for cloud-service and 6.5-lts
- Update workflow-orchestrator to route development and production-support requests
- Register aem-workflow plugins in marketplace.json
- Update plugin.json and README for combined dev + production-support scope
- Align with PR #23 pattern: one plugin per variant, multiple skill layers

Made-with: Cursor

---------

Co-authored-by: akankshajain18 <akankshajain18@adobe.com>
Co-authored-by: akankshajain18 <akankshajain18@users.noreply.github.com>
…cursor

feat: correct readme for skill installation on cursor
feat: adding Agents.mdcreation for 6.5 LTS too
Co-authored-by: akanjain <akanjain@adobe.com>
* feat(aem): add Cloud Service code migration skills

* refactor(aem): remove unused migration reference files

Remove asset-manager and event-migration reference files that are no longer needed:
- asset-manager.md, asset-manager-create.md, asset-manager-delete.md
- event-migration-path-a.md, event-migration-path-b.md

Keeping core migration patterns: scheduler, replication, resource-change-listener, event-migration

* feat(aem): add asset-manager and event-migration patterns

Expand AEM Cloud Service migration skill with additional patterns:
- Asset Manager: create/upload (Direct Binary Access) + delete (HTTP Assets API)
- Event Migration: JCR EventListener → EventHandler + JobConsumer (Path A & B)

New reference files:
- asset-manager.md, asset-manager-create.md, asset-manager-delete.md
- event-migration-path-a.md, event-migration-path-b.md

Made-with: Cursor

* Fix SKILL.md: remove nonexistent script references and fix path inconsistencies

- Rewrite BPA section to use agent-native instructions instead of JavaScript helper scripts
- Remove references to ./scripts/bpa-findings-helper.js and ./unified-collections/
- Fix Step 4 path references to use relative paths (references/ instead of .cursor/skills/...)
- Update Available Patterns table to use correct references/ directory name
- Remove CLI Testing section that referenced nonexistent scripts
- Simplify Quick Reference to match new BPA flow without collection caching

* feat(aem): require project confirmation before fetching BPA findings

Add list-projects API contract and enforce always presenting project
list to the user for confirmation before calling fetch-cam-bpa-findings,
even when only one project exists. Includes updated example agent flow.

* feat(aem): add migration reference docs for all patterns

Add detailed transformation references for scheduler, event-migration,
replication, resource-change-listener, and asset-manager patterns
including path classification, step-by-step instructions, and validation.

* fix: stop on MCP error instead of falling back to Manual Flow

When fetch-cam-bpa-findings returns success: false, the skill now stops
immediately and reports the error to the user. It no longer falls back
to Manual Flow or CSV.

Made-with: Cursor

* test

* refactor(aem-cloud): split best-practices and migration plugins

Replace code-migration with aem-cloud-service-best-practices (pattern refs, scr-to-osgi-ds, resource-resolver-logging) and migration/ (orchestration + scripts). Update marketplace and README.

* docs(aem-cloud): refine migration and best-practices skills

Migration: cam-mcp reference, path alias, quick start, dual-plugin install notes, description tweaks. Best-practices: JCR observation vs OSGi EventHandler wording, prerequisites phrasing. Remove sibling terminology; plugin.json copy; safe CAM example id.

* chore(aem-cloud): flatten best-practices and migration plugins

Relocate the Cloud Service pattern package to skills/aem/cloud-service/skills/best-practices/ with SKILL.md and references/ at the plugin root (plugin id aem-best-practices). Move migration content out of the nested aem-cloud-service-migration folder into migration/ (plugin id aem-migration).

Register aem-best-practices, aem-migration, aem-cloud-service-dispatcher, and aem-6-5-lts-dispatcher in .claude-plugin/marketplace.json. Update the repository README with install commands and the revised directory layout.

Migration and CAM docs require explicit CAM project confirmation, verbatim MCP errors with no automatic fallback, and IDE workspace-scoped file discovery. Docs use aem-prefixed plugin names without extra marketplace commentary.

* docs(migration): document CAM MCP enablement restriction verbatim errors

* test: add migration helper tests and align skill names with directories

- Root npm test: skills-ref validate, migration unit tests, marketplace JSON parse
- CI validate workflow runs npm test
- SKILL frontmatter name must match folder (best-practices, migration) per skills-ref
- Fixture CSV + node:test coverage for getBpaFindings and checkAvailableSources

* docs(migration): clarify plugin path in README

* Add OSGi Cloud Manager reference; tighten migration, CAM MCP, and workspace rules.

* docs(readme): pair migration with best-practices; clarify generic best-practices scope

* chore(migration): drop OSGi Cloud Manager reference from beta-patch branch

Remove references/osgi-cfg-json-cloud-manager.md and all SKILL.md wiring
(quick start, delegation, when-to-use). Keeps CAM/MCP tightening,
workspace scope, and MCP error handling from refactoring.

* fix(aem): align Cloud Service skills with marketplace and README review

---------

Co-authored-by: Himani Chauhan <hichauha+adobe@adobe.com>
Co-authored-by: bharat941 <bharat149wadhwa@gmail.com>
We want to keep installation simple and expose all skills from a certain sub-tree.
…nt-skill-integration

Feature/figma create component skill integration
….5 LTS

Add four specialist replication skills under skills/aem/6.5-lts/skills/aem-replication:

- configure-replication-agent: Configure replication agents for publishing, dispatcher flush, and reverse replication
- replicate-content: Activate/deactivate content using UI, workflows, and package manager
- replication-api: Use Replication API programmatically with 49 Java code examples
- troubleshoot-replication: Diagnose and fix 12+ common replication issues

Key features:
- 3,575 lines of comprehensive documentation
- All based on official Adobe AEM 6.5 LTS documentation
- Complete coverage of 8 public Replication APIs (Replicator, ReplicationOptions, AgentManager, ReplicationQueue, etc.)
- Router pattern following dispatcher skill structure
- Integrated into aem-6-5-lts plugin

Documentation sources:
- Official AEM 6.5 LTS Replication Guide
- Official AEM 6.5 LTS Troubleshooting Guide
- Official AEM 6.5 LTS JavaDoc API Reference

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Critical fixes:
- Replace hardcoded admin:admin credentials with environment variables in CURL examples
- Add security note about using proper service account credentials

Important fixes:
- Add null checks after resolver.adaptTo(Session.class) calls to prevent NullPointerException
- Add compatibility metadata to router SKILL.md (AEM 6.5 LTS/AMS only, not Cloud Service)
- Add Cloud Service migration guidance section referencing Sling Distribution API
- Add input validation to servlet example (path validation and session null check)
- Update Maven dependencies from 6.5.0 to 6.5.21 with comment to use latest version

These changes address all critical and important issues identified in the PR review,
improving security practices, code safety, and forward-looking guidance for AEM customers.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…ions

- Remove specific version numbers (6.5.0, 6.5.21) from Maven dependencies
- Remove potentially incorrect individual cq-replication artifact
- Keep only uber-jar dependency without version specification
- Add explanation that version should match AEM 6.5 LTS installation
- Maintain focus on '6.5 LTS' as the designation, not point releases

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…entation

This commit addresses all important review findings except MCP tool contract:

## New Architecture Components

**References Foundation (references/replication-foundation/):**
- agent-types.md: Documentation for Default, Dispatcher Flush, Reverse, Static agents
- queue-mechanics.md: FIFO processing, retry logic, blocking behavior, queue management
- 65-lts-guardrails.md: Service users, timeouts, batch limits, security best practices
- api-reference.md: Quick reference for Replicator, ReplicationOptions, ReplicationStatus

**Replication Orchestrator (replication-orchestrator/SKILL.md):**
- New sub-skill for end-to-end workflows spanning multiple concerns
- Workflow 1: New environment setup (configure → test → troubleshoot)
- Workflow 2: Production incident response (diagnose → fix → verify)
- Workflow 3: Performance optimization (measure → tune → validate)
- Workflow 4: Migration preparation (audit → plan → execute)

## Documentation Enhancements

**Router SKILL.md:**
- Added orchestrator to Intent Router table
- Added Replication Orchestrator to Skill Overview
- Added Foundation References section with links to shared references

**replication-api/SKILL.md:**
- Fixed service user mapping configuration (invalid XML → correct OSGi config)
- Added comprehensive "ResourceResolver Lifecycle Management" section
  - Caller responsibility pattern with JavaDoc examples
  - Try-with-resources pattern (recommended)
  - Manual close pattern (legacy)
  - Resource leak prevention examples
- Added "Error Handling Patterns" section
  - Pattern 1: Throw exceptions (library code)
  - Pattern 2: Return boolean (service layer)
  - Pattern 3: HTTP status codes (servlets/REST)
  - Comparison table and anti-patterns
- Enhanced input validation with resource type checking
  - Added isReplicableResource() helper method
  - Validates cq:Page, dam:Asset, experience fragments
  - Prevents replication of system/config resources

**replicate-content/SKILL.md:**
- Enhanced CURL examples with HTTP status code checking
- Added error handling versions with response validation
- Added simple versions for quick testing (with warnings)
- All examples use environment variables for credentials

## Alignment with Established Patterns

This refactor brings the replication skill set into alignment with dispatcher
and aem-workflow patterns:
- Shared foundation references (like dispatcher-foundation/)
- Orchestrator sub-skill for multi-step workflows
- Separation of reference content from workflow guidance

## Files Changed

Modified:
- skills/aem/6.5-lts/skills/aem-replication/SKILL.md
- skills/aem/6.5-lts/skills/aem-replication/replicate-content/SKILL.md
- skills/aem/6.5-lts/skills/aem-replication/replication-api/SKILL.md

New directories:
- skills/aem/6.5-lts/skills/aem-replication/references/replication-foundation/
- skills/aem/6.5-lts/skills/aem-replication/replication-orchestrator/

New files:
- references/replication-foundation/agent-types.md
- references/replication-foundation/queue-mechanics.md
- references/replication-foundation/65-lts-guardrails.md
- references/replication-foundation/api-reference.md
- replication-orchestrator/SKILL.md

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Address all minor review findings to improve documentation completeness:

Code Examples (replication-api/SKILL.md):
- Add missing import statements to all Java examples for copy-paste readiness
- Add comprehensive Javadoc to isReplicableResource() method
- Add defensive null/empty check to bulk activation example
- Document thread-blocking implications of synchronous replication

CURL Examples (replicate-content/SKILL.md):
- Enhance examples with jq-based JSON response validation
- Validate success status in response body, not just HTTP codes

Error Handling (api-reference.md):
- Add retry with exponential backoff pattern
- Add fallback to async on timeout pattern
- Add circuit breaker pattern for cascade failure prevention

Agent Configuration (agent-types.md):
- Add null safety checks for programmatic agent access
- Document agent ordering implications (parallel processing)

Queue Monitoring (queue-mechanics.md):
- Add JMX security considerations and access control guidance
- Add queue listener pattern for event-driven monitoring

Guardrails (65-lts-guardrails.md):
- Add version-specific API deprecation tracking guidance
- Link to official release notes for service pack compatibility

Cloud Migration (replication-orchestrator/SKILL.md):
- Fix reference to non-existent cloud service docs
- Link to official Adobe Cloud Service documentation instead

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
rombert and others added 11 commits April 14, 2026 15:33
Document the three-mechanism convention for marking skills as beta
(frontmatter status field, [BETA] description prefix, body blockquote)
so coding agents working in these subtrees automatically pick it up.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ills-6.5-lts

feat: add comprehensive replication skills for AEM 6…
Merges main into beta, resolving README.md conflicts by preserving
beta's expanded skill documentation while incorporating main's
aem-project-management plugin entry and AEM heading structure.
Updates gh-upskill reference from trieloff to ai-ecoverse.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
docs: add beta skill convention to cloud-service and 6.5-lts CLAUDE.md
adobe-skills-issues-69 - updated package with Distributor
After merging the beta branch, update all tree/beta URL references
to tree/main so installation instructions point to the correct branch.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
rombert and others added 2 commits April 16, 2026 11:37
The license-field CI check requires all SKILL.md files to have a
license: field in their YAML frontmatter. Added license: Apache-2.0
to 7 files with existing frontmatter and added complete frontmatter
(name, description, license) to 4 workflow skills that had none.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…matter

The tessl-review validator expects allowed-tools to be a space-separated
string, not a YAML array. This caused all 14 dispatcher skills (7 in
cloud-service, 7 in 6.5-lts) to fail validation with 17% scores.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@rombert
Copy link
Copy Markdown
Collaborator Author

rombert commented Apr 16, 2026

@abhishekgarg18 - FYI : b66b3ef

@Himanich
Copy link
Copy Markdown
Collaborator

Added some changes via : #78 to issue/merge-beta branch.

@rombert
Copy link
Copy Markdown
Collaborator Author

rombert commented Apr 16, 2026

Thanks @Himanich . Please see my PR comment - would be good to have more details in the commit message and PR description.

Also is this a must-have for the merge to main or can it be done as a follow-up?

@rombert rombert merged commit fb38ab5 into main Apr 16, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants