All AEM 6.5 LTS skills: Workflow model design, development, triggering, launchers, debugging, and triaging; Dispatcher config authoring, advisory, incident response, performance tuning, and security hardening; Replication agent configuration, content activation, API usage, and troubleshooting for AEM 6.5 LTS and AMS environments; Jackrabbit Oak query/index tuning (property, Lucene index definitions); and extracting/inventorying JCR queries (XPath, SQL2, QueryBuilder) across a codebase.
79%
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 this checklist before proposing or applying Dispatcher/HTTPD changes in AMS deployments.
Treat AMS as a multi-tier topology when applicable:
000_ams_author_farm.any)001_ams_lc_farm.any)999_ams_publish_farm.any)Farm matching is order-sensitive; keep numeric-prefix ordering explicit and deterministic.
Prefer AMS variables over hardcoded endpoints and paths:
${PUBLISH_IP}, ${PUBLISH_PORT}, ${PUBLISH_DOCROOT}${AUTHOR_IP}, ${AUTHOR_PORT}, ${AUTHOR_DOCROOT}${LIVECYCLE_IP}, ${LIVECYCLE_PORT}, ${LIVECYCLE_DOCROOT}For 6.5/AMS guidance, flag hardcoded render hosts/docroots as drift risk unless intentionally required.
When advising where to manage defaults, point to conf.d/variables/ams_default.vars.
Keep tier-specific directives in the correct farm:
/sessionmanagement, /homepage/vanity_urls with /delaystatfileslevel, /enableTTL, /serveStaleOnError, and /gracePeriod are chosenDo not copy author session behavior into publish farms.
Treat flush access as a security control:
/allowedClients must be deny-first, then explicit publish IP allowsams_*_invalidate_allowed.any)statfileslevel, include blast-radius reasoning and one sibling-path non-impact checkDo not propose edits in Adobe-managed immutable defaults. Keep changes in mutable include points (custom vhost/rewrite/filter/cache/renders/clientheaders files and enabled symlink targets).
When a recommendation would touch immutable files, return a compliant alternative using mutable includes.
Minimum static evidence before sign-off:
validate({"config":"<changed dispatcher content>","type":"ams"})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>"}) for drift-sensitive changesRuntime evidence when behavior changed:
trace_request({"url":"<representative url>","config_path":"<dispatcher src path>"})inspect_cache({"url":"<representative cacheable url>","config_path":"<dispatcher src path>"})Host syntax check when command access exists:
httpd -t (or apachectl configtest)Always include:
author/publish/livecycle)PUBLISH_*, AUTHOR_*, optional LIVECYCLE_*)/allowedClients) when invalidation paths are touched.tessl-plugin
skills
aem-replication
aem-workflow
dispatcher
ensure-agents-md
references
tuning-oak-query-indexes