All AEM as a Cloud Service skills: component development, Workflow model design, development, triggering, launchers, debugging, and triaging, Dispatcher config authoring, advisory, incident response, performance tuning, and security hardening, Rapid Development Environment (RDE) deployment, log inspection, snapshots, and troubleshooting via `aio aem rde`, Jackrabbit Oak query/index tuning (property, Lucene index definitions), and extracting/inventorying JCR queries (XPath, SQL2, QueryBuilder) across a codebase.
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Use these deterministic playbooks for high-precision config authoring with the current core-7 MCP tools.
/filter section (deny baseline -> business allows -> targeted denies)./cache section with explicit statfileslevel rationale and an explicit /ignoreUrlParams decision.validate({"config":"<changed dispatcher.any content>","type":"dispatcher"}) -> optional validate({"config":"<changed vhost/rewrite content>","type":"httpd","config_type":"vhost"}) when Apache files changed -> lint({"mode":"directory","target":"<dispatcher src path>","strict_mode":true}) -> sdk({"action":"check-files","config_path":"<dispatcher src path>"}) -> sdk({"action":"diff-baseline","config_path":"<dispatcher src path>"}) (if required).*.adobeaemcloud.net and *.adobeaemcloud.com alias coverage, and no cross-host leakage.statfileslevel with expected blast-radius explanation.validate({"config":"<vhost/rewrite block>","type":"httpd","config_type":"vhost"}).trace_request to confirm single-hop final destination, no loop, and no interception of /systemready or /system/probes/*./auth_checker)/bin/permissioncheck that: accepts HEAD (and optionally GET), reads query param uri, uses the request session to check read permission on that path (e.g. session.checkPermission(uri, Session.ACTION_READ)), returns 200 if authorized and 403 if not. Register with sling.servlet.paths=/bin/permissioncheck and allowlist that path on publish (e.g. config.publish/org.apache.sling.servlets.resolver.SlingServletResolver.cfg.json with sling.servlet.paths). See Cache secured content./auth_checker in the farm with least-privilege path scope; set /allowAuthorized "1" in /cache./bin/permissioncheck only).trace_request + inspect_cache.validate({"config":"<cors/preflight block>","type":"httpd"}) and lint({"mode":"config","target":"<cors/preflight block>","analysis_depth":"standard"}).CACHE_GRAPHQL_PERSISTED_QUERIES, align CORS headers and allowed methods before changing cache posture.validate({"config":"<changed dispatcher.any content>","type":"dispatcher"}), optional validate({"config":"<changed vhost/rewrite content>","type":"httpd","config_type":"vhost"}) when Apache files changed, lint({"mode":"directory","target":"<dispatcher src path>","strict_mode":true}), sdk({"action":"check-files","config_path":"<dispatcher src path>"}), sdk({"action":"diff-baseline","config_path":"<dispatcher src path>"}).sdk({"action":"validate-full","config_path":"<dispatcher src path>"}), sdk({"action":"docker-test","config_path":"<dispatcher src path>"}), sdk({"action":"three-phase-validate","config_path":"<dispatcher src path>"})./systemready and /system/probes/*.dispatcher.any includes enabled_farms/*.farm; dispatcher_vhost.conf includes enabled_vhosts/*.vhost.conf.d/enabled_vhosts and conf.dispatcher.d/enabled_farms.ServerAlias "*.adobeaemcloud.net" and ServerAlias "*.adobeaemcloud.com".ServerName "*" and no farm include points to unknown include locations.AllowEncodedSlashes NoDecode, DirectorySlash Off, DispatcherUseProcessedURL On, DispatcherPassError 0) were not broken by custom edits.validate -> lint -> sdk(check-files) -> optional sdk(diff-baseline)).validator full <dispatcher-src> as corroboration and map warnings/errors to exact file edits.default_clientheaders.any include unless there is a strong reason to replace it./clientheaders block for removals of Authorization, Cookie, Host, X-Forwarded-Proto, or x-request-id.filters.any, rules.any, rewrite.rules, or clientheaders.any, first list which managed default include the wrapper currently brings in..tessl-plugin
skills
aem-rde
aem-workflow
code-assessment
content-distribution
create-component
assets
references
dispatcher
incident-response
references
dispatcher-foundation
performance-tuning
references
dispatcher-foundation
security-hardening
references
dispatcher-foundation
technical-advisory
references
dispatcher-foundation
workflow-orchestrator
references
dispatcher-foundation
ensure-agents-md
references
migration
references
dispatcher
legacy-ui
template-modernization
validation
scripts
dispatcher-tool
validate-migration