Skip to content

Commit c31a4ab

Browse files
author
Abhishek Garg
committed
feat(dispatcher): add mode-scoped dispatcher skills for cloud and 6.5lts
1 parent e7607c5 commit c31a4ab

File tree

84 files changed

+9406
-7
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+9406
-7
lines changed

.claude-plugin/marketplace.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,16 @@
1111
"name": "aem-edge-delivery-services",
1212
"source": "./skills/aem/edge-delivery-services",
1313
"description": "Skills for AEM Edge Delivery Services development"
14+
},
15+
{
16+
"name": "aem-cloud-dispatcher",
17+
"source": "./skills/aem/cloud/dispatcher",
18+
"description": "Mode-specific Dispatcher skills for AEM as a Cloud Service workflows"
19+
},
20+
{
21+
"name": "aem-6-5lts-dispatcher",
22+
"source": "./skills/aem/6.5lts/dispatcher",
23+
"description": "Mode-specific Dispatcher skills for AEM 6.5 LTS and AMS workflows"
1424
}
1525
]
1626
}

README.md

Lines changed: 71 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ Repository of Adobe skills for AI coding agents.
1212

1313
# Install AEM Edge Delivery Services plugin (all 17 skills)
1414
/plugin install aem-edge-delivery-services@adobe-skills
15+
16+
# Install AEM Cloud Dispatcher plugin
17+
/plugin install aem-cloud-dispatcher@adobe-skills
18+
19+
# Install AEM 6.5 LTS Dispatcher plugin
20+
/plugin install aem-6-5lts-dispatcher@adobe-skills
1521
```
1622

1723
### Vercel Skills (npx skills)
@@ -20,9 +26,17 @@ Repository of Adobe skills for AI coding agents.
2026
# Install all AEM Edge Delivery Services skills
2127
npx skills add https://github.com/adobe/skills/tree/main/skills/aem/edge-delivery-services --all
2228

29+
# Install all AEM Cloud Dispatcher skills
30+
npx skills add https://github.com/adobe/skills/tree/main/skills/aem/cloud/dispatcher --all
31+
32+
# Install all AEM 6.5 LTS Dispatcher skills
33+
npx skills add https://github.com/adobe/skills/tree/main/skills/aem/6.5lts/dispatcher --all
34+
2335
# Install specific skill(s)
2436
npx skills add adobe/skills -s content-driven-development
2537
npx skills add adobe/skills -s content-driven-development building-blocks testing-blocks
38+
npx skills add adobe/skills -s create-dispatcher-config-cloud
39+
npx skills add adobe/skills -s create-dispatcher-config-ams
2640

2741
# Install all Adobe skills (all products)
2842
npx skills add adobe/skills --all
@@ -42,11 +56,21 @@ gh upskill adobe/skills --all
4256
# Install only AEM Edge Delivery Services skills
4357
gh upskill adobe/skills --path skills/aem/edge-delivery-services --all
4458

59+
# Install only AEM Cloud Dispatcher skills
60+
gh upskill adobe/skills --path skills/aem/cloud/dispatcher --all
61+
62+
# Install only AEM 6.5 LTS Dispatcher skills
63+
gh upskill adobe/skills --path skills/aem/6.5lts/dispatcher --all
64+
4565
# Install a specific skill
4666
gh upskill adobe/skills --path skills/aem/edge-delivery-services --skill content-driven-development
67+
gh upskill adobe/skills --path skills/aem/cloud/dispatcher --skill create-dispatcher-config-cloud
68+
gh upskill adobe/skills --path skills/aem/6.5lts/dispatcher --skill create-dispatcher-config-ams
4769

4870
# List available skills in a subfolder
4971
gh upskill adobe/skills --path skills/aem/edge-delivery-services --list
72+
gh upskill adobe/skills --path skills/aem/cloud/dispatcher --list
73+
gh upskill adobe/skills --path skills/aem/6.5lts/dispatcher --list
5074
```
5175

5276
## Available Skills
@@ -85,18 +109,58 @@ gh upskill adobe/skills --path skills/aem/edge-delivery-services --list
85109
| `generate-import-html` | Generate structured HTML |
86110
| `preview-import` | Preview imported content |
87111

112+
### AEM Dispatcher
113+
114+
Dispatcher skills are now split by upper-layer variant to avoid mode auto-detection and make extension to other AEM variants easier.
115+
116+
#### AEM Cloud Dispatcher (`skills/aem/cloud/dispatcher`)
117+
118+
| Skill | Description |
119+
|-------|-------------|
120+
| `create-dispatcher-config-cloud` | Create, modify, review, and harden Dispatcher/HTTPD config for AEMaaCS cloud mode |
121+
| `dispatcher-guided-advisory-cloud` | Documentation-backed guidance and verification planning for cloud mode |
122+
| `dispatcher-runtime-incident-response-cloud` | Investigate live incidents for cloud mode |
123+
| `dispatcher-performance-optimization-cloud` | Analyze and tune cache efficiency/latency for cloud mode |
124+
| `dispatcher-security-audit-cloud` | Risk-based security audits and hardening plans for cloud mode |
125+
126+
#### AEM 6.5 LTS Dispatcher (`skills/aem/6.5lts/dispatcher`)
127+
128+
| Skill | Description |
129+
|-------|-------------|
130+
| `create-dispatcher-config-ams` | Create, modify, review, and harden Dispatcher/HTTPD config for AEM 6.5 LTS/AMS mode |
131+
| `dispatcher-guided-advisory-ams` | Documentation-backed guidance and verification planning for AEM 6.5 LTS/AMS mode |
132+
| `dispatcher-runtime-incident-response-ams` | Investigate live incidents for AEM 6.5 LTS/AMS mode |
133+
| `dispatcher-performance-optimization-ams` | Analyze and tune cache efficiency/latency for AEM 6.5 LTS/AMS mode |
134+
| `dispatcher-security-audit-ams` | Risk-based security audits and hardening plans for AEM 6.5 LTS/AMS mode |
135+
88136
## Repository Structure
89137

90138
```
91139
skills/
92140
└── aem/
93-
└── edge-delivery-services/
94-
├── .claude-plugin/
95-
│ └── plugin.json
96-
└── skills/
97-
├── content-driven-development/
98-
├── building-blocks/
99-
└── ...
141+
├── edge-delivery-services/
142+
│ ├── .claude-plugin/
143+
│ │ └── plugin.json
144+
│ └── skills/
145+
│ ├── content-driven-development/
146+
│ ├── building-blocks/
147+
│ └── ...
148+
├── cloud/
149+
│ └── dispatcher/
150+
│ ├── .claude-plugin/
151+
│ │ └── plugin.json
152+
│ └── skills/
153+
│ ├── create-dispatcher-config-cloud/
154+
│ ├── dispatcher-guided-advisory-cloud/
155+
│ └── ...
156+
├── 6.5lts/
157+
│ └── dispatcher/
158+
│ ├── .claude-plugin/
159+
│ │ └── plugin.json
160+
│ └── skills/
161+
│ ├── create-dispatcher-config-ams/
162+
│ ├── dispatcher-guided-advisory-ams/
163+
│ └── ...
100164
```
101165

102166
## Contributing
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "aem-6-5lts-dispatcher",
3+
"description": "Mode-specific AEM Dispatcher skills for AEM 6.5 LTS and AMS workflows. Includes config authoring, advisory, incident response, performance optimization, and security auditing with Dispatcher MCP evidence.",
4+
"version": "1.0.0",
5+
"author": {
6+
"name": "Adobe"
7+
},
8+
"repository": "https://github.com/adobe/skills",
9+
"license": "Apache-2.0",
10+
"keywords": ["aem", "aem6.5", "6.5lts", "ams", "dispatcher", "httpd", "apache", "caching", "security", "adobe"]
11+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Dispatcher Config Patterns
2+
3+
Use these patterns when creating or editing Dispatcher configs.
4+
5+
## Filter Rules
6+
7+
Preferred posture:
8+
1. Start deny-first (broad deny baseline).
9+
2. Add explicit allows per business route.
10+
3. Keep targeted denies for sensitive/internal paths.
11+
12+
Guidelines:
13+
- Avoid broad allows such as `/url "*"` with weak constraints.
14+
- Prefer path + method + selector/extension constraints.
15+
- Keep ordering intentional to avoid accidental bypasses.
16+
- Keep rule numbering deterministic and aligned to existing file conventions.
17+
18+
## Cache Rules
19+
20+
Guidelines:
21+
- Cache only anonymous-safe, stable responses.
22+
- Exclude authenticated/personalized endpoints by default.
23+
- Treat query-parameter caching as opt-in and narrowly scoped.
24+
- Keep invalidation behavior (`statfileslevel`, flush patterns) aligned with freshness requirements.
25+
26+
Content class defaults:
27+
- Static versioned assets: long-lived cache candidates.
28+
- HTML/content pages: conservative cache policy with revalidation.
29+
- API/GraphQL: short or no cache unless stability is explicit.
30+
31+
## Vhosts and Farm Mapping
32+
33+
Guidelines:
34+
- Keep host matching explicit and non-overlapping.
35+
- Keep vhost -> farm mapping deterministic and documented.
36+
- Keep canonical host/redirect behavior explicit.
37+
38+
Pitfalls:
39+
- overlapping host globs sending traffic to wrong farms
40+
- missing redirects causing duplicate-host behavior
41+
42+
## Rewrite Rules
43+
44+
Guidelines:
45+
- Order from most specific to least specific.
46+
- Prevent redirect loops and over-broad matches.
47+
- Preserve query strings only when behavior requires it.
48+
- Avoid rewriting internal/system paths unless explicitly intended.
49+
50+
## Headers and Hardening
51+
52+
Guidelines:
53+
- Keep security headers consistent on public vhosts.
54+
- Keep cache headers aligned with cache policy.
55+
- Avoid exposing backend/internal headers.
56+
57+
## Include Hygiene
58+
59+
Before finalizing:
60+
- confirm each new file is reachable from active farm/vhost includes
61+
- follow existing numeric prefix/file order conventions
62+
- remove dead files and contradictory duplicate directives
63+
64+
## Pre-Finalization Checklist
65+
66+
- Filter posture remains least-privilege.
67+
- Cache and header policy are consistent.
68+
- Rewrite behavior is deterministic and loop-free.
69+
- Include graph contains all changed files exactly once where intended.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# MCP Tool Orchestration (Core Surface)
2+
3+
Use this map to sequence current Dispatcher MCP tools.
4+
5+
## Tool Purpose Map
6+
7+
- `validate`: syntax/structure validation for dispatcher/httpd/ams/runtime config checks.
8+
- `lint`: security/performance/best-practice analysis.
9+
- `sdk`: file integrity, baseline drift, and SDK-backed validation/runtime checks.
10+
- `trace_request`: request-stage evidence (filter, cache, log context).
11+
- `inspect_cache`: cache object/path evidence.
12+
- `monitor_metrics`: aggregated runtime signals.
13+
- `tail_logs`: direct log evidence.
14+
15+
## Recommended Sequences
16+
17+
### Config Authoring / Refactor
18+
19+
1. Edit config files
20+
2. `validate`
21+
3. `lint`
22+
4. `sdk(action="check-files")`
23+
5. `sdk(action="diff-baseline")` when drift matters
24+
6. runtime tools if behavior requires runtime proof
25+
26+
### Incident / Regression Analysis
27+
28+
1. `trace_request`
29+
2. `tail_logs`
30+
3. `inspect_cache`
31+
4. `monitor_metrics`
32+
5. `validate` + `lint`
33+
6. `sdk` checks if file integrity is suspect
34+
35+
### Release Readiness Review
36+
37+
1. `validate`
38+
2. `lint`
39+
3. `sdk(action="check-files")`
40+
4. `sdk(action="diff-baseline")`
41+
5. Optional: `sdk(action="validate-full")` / `sdk(action="docker-test")` if environment supports it
42+
43+
## Fallback Rules
44+
45+
- If runtime preconditions are missing, continue with static checks and report missing evidence.
46+
- If SDK actions requiring external binaries/runtime fail due environment, run available checks and report limits.
47+
- Never report simulated success for unexecuted checks.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Validation Playbook
2+
3+
Use this flow after every dispatcher/httpd change.
4+
5+
## 1) Local Project Validation
6+
7+
When available:
8+
9+
```bash
10+
cd dispatcher && ./bin/validate.sh src
11+
```
12+
13+
If unavailable, run the equivalent project command and record it.
14+
15+
## 2) MCP Static Checks
16+
17+
Run in order:
18+
19+
1. `validate`
20+
2. `lint`
21+
3. `sdk(action="check-files")`
22+
4. `sdk(action="diff-baseline")` when compliance/drift is requested
23+
24+
## 3) MCP Runtime Checks (Conditional)
25+
26+
Run when runtime behavior is in scope:
27+
28+
1. `trace_request`
29+
2. `inspect_cache`
30+
3. `monitor_metrics`
31+
4. `tail_logs`
32+
33+
## 4) SDK Runtime/Deep Checks (Conditional)
34+
35+
Use only when environment supports it:
36+
37+
- `sdk(action="validate")`
38+
- `sdk(action="validate-full")`
39+
- `sdk(action="three-phase-validate")`
40+
- `sdk(action="docker-test")`
41+
42+
## 5) URL Verification Matrix
43+
44+
Cover at least one case each:
45+
46+
- expected allow URL
47+
- expected deny URL
48+
- expected cache-hit candidate
49+
- expected cache-bypass candidate
50+
- rewrite/redirect path (if rewrite changed)
51+
52+
## 6) Reporting Requirements
53+
54+
Always report:
55+
56+
- executed checks and outcomes
57+
- failed checks with exact error
58+
- skipped checks and why
59+
- confirmed facts vs assumptions
60+
- next checks required for production confidence
61+
- selected test case IDs from [dispatcher-test-case-catalog.md](../dispatcher-guided-advisory/dispatcher-test-case-catalog.md)
62+
- rollback trigger and rollback action for behavior-changing edits
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Change Risk And Rollback Template
2+
3+
Use this template for any dispatcher recommendation that changes behavior.
4+
5+
## 1) Change Summary
6+
7+
- Change scope:
8+
- Target mode: `ams`
9+
- Files impacted:
10+
- User-visible impact expected:
11+
12+
## 2) Risk Assessment
13+
14+
| Risk Area | Assessment | Notes |
15+
|---|---|---|
16+
| Security exposure | Low / Medium / High | |
17+
| Availability impact | Low / Medium / High | |
18+
| Cache correctness | Low / Medium / High | |
19+
| Migration compatibility | Low / Medium / High | |
20+
| Rollback complexity | Low / Medium / High | |
21+
22+
## 3) Blast Radius
23+
24+
- Hostnames/farms affected:
25+
- URL classes affected:
26+
- Dependency assumptions:
27+
28+
## 4) Rollback Plan
29+
30+
- Rollback trigger criteria:
31+
- Immediate rollback action:
32+
- Validation after rollback:
33+
- Owner/escalation path:
34+
35+
## 5) Verification Gate
36+
37+
The change is production-ready only when:
38+
39+
1. Required checks in `mode-specific-verification-matrix.md` are complete.
40+
2. Evidence is attached for each executed check.
41+
3. Open risks are explicitly accepted or remediated.

0 commit comments

Comments
 (0)