aem-workflow
AEM Cloud Service Workflow
Route user requests to the appropriate specialist skill based on intent.
Intent Router
| User Intent | Skill | Path |
|---|---|---|
| Create a workflow model, add steps, design OR/AND splits, configure variables | Model Design | workflow-model-design/SKILL.md |
| Implement a custom WorkflowProcess step, ParticipantStepChooser, OSGi service registration | Development | workflow-development/SKILL.md |
| Start a workflow from code, HTTP API, Timeline UI, Manage Publication | Triggering | workflow-triggering/SKILL.md |
| Configure a launcher, auto-start on asset upload, overlay OOTB launcher | Launchers | workflow-launchers/SKILL.md |
| Workflow stuck, failed step, missing Inbox task, stale instances, thread pool exhaustion, purge | Debugging | workflow-debugging/SKILL.md |
| Classify a workflow incident, determine required logs, Splunk queries, data gathering checklist | Triaging | workflow-triaging/SKILL.md |
| End-to-end lifecycle or requests spanning multiple concerns | Orchestrator | workflow-orchestrator/SKILL.md |
How to Use
- Match the user's request to one row in the Intent Router table above.
- Read the linked SKILL.md for that specialist skill.
- Follow the workflow, references, and output contract defined in that skill.
- For broad or ambiguous requests that span multiple concerns, use the Orchestrator which coordinates across all specialist skills and loads foundation references.
Cloud Service Constraints
| Constraint | Detail |
|---|---|
| No JMX | No retryFailedWorkItems, countStaleWorkflows, restartStaleWorkflows, purgeCompleted via JMX |
/libs is immutable |
Never write to /libs; use /conf/global/ or /apps/ overlays |
| Model design-time path | /conf/global/settings/workflow/models/<id> |
| Model runtime path (for API calls) | /var/workflow/models/<id> |
| Launcher config path | /conf/global/settings/workflow/launcher/config/ |
| Service users | Always use workflow-process-service sub-service; never admin credentials |
| OSGi annotations | DS R6 (@Component, @Reference from org.osgi.service.component.annotations) |
| Deploy via | Cloud Manager pipeline — no Package Manager in production |
Specialist Skills
- workflow-model-design/SKILL.md — model structure, step types, variables, and model XML
- workflow-development/SKILL.md — WorkflowProcess, ParticipantStepChooser, metadata, and error handling
- workflow-triggering/SKILL.md — Timeline UI, Manage Publication, WorkflowSession API, and HTTP API
- workflow-launchers/SKILL.md — launcher configuration, JCR event binding, and OOTB overlay
- workflow-debugging/SKILL.md — stuck workflows, failed steps, thread pools, Sling Jobs, and purge
- workflow-triaging/SKILL.md — symptom classification, log patterns, Splunk queries, and data gathering
- workflow-orchestrator/SKILL.md — full lifecycle orchestration across all skills
More from himanich/skills
best-practices
AEM as a Cloud Service Java/OSGi best practices, guardrails, and legacy-to-cloud pattern transformations. Use for Cloud Service–correct bundles, deprecated APIs, schedulers, ResourceChangeListener, replication, Replicator, JCR observation (javax.jcr.observation.EventListener), OSGi Event Admin (org.osgi.service.event.EventHandler), DAM AssetManager, BPA-style fixes, HTL (Sightly) Cloud SDK lint warnings (data-sly-test redundant constant value comparison), or any time you need the detailed pattern reference modules under this skill.
6migration
Orchestrates legacy AEM (6.x, AMS, on-prem) to AEM as a Cloud Service migration using BPA CSV or cache, CAM/MCP target discovery, and one-pattern-per-session workflow. Use for BPA/CAM findings, Cloud Service blockers, or fixes for scheduler, ResourceChangeListener, replication, EventListener, OSGi EventHandler, DAM AssetManager, HTL data-sly-test lint. OSGi configs → Cloud Manager — scan ui.config, .cfg.json, secrets, $[secret:]/$[env:] — agent follows references/osgi-cfg-json-cloud-manager.md when prompted. Transformation steps live in the best-practices skill—read it and the right references/ modules before editing code.
6ensure-agents-md
|
2dispatcher
|
2create-component
|
2