aa-conversion-funnel-a…
Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have…
AEM Cloud Service expert skill — migrate javax.inject.@Inject fields in Sling Model (@Model) classes to injector-specific annotations (@ValueMapValue / @OSGiService / @SlingObject). Self-discoverable (scan for @Model classes with field-level @Inject); the replacement is chosen
$ npx -y skills add adobe/skills --skill inject-in-sling-model --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/inject-in-sling-modelContext preview
The summary Claude sees to decide when to auto-load this skill.
AEM Cloud Service expert skill — migrate javax.inject.@Inject fields in Sling Model (@Model) classes to injector-specific annotations (@ValueMapValue / @OSGiService / @SlingObject). Self-discoverable (scan for @Model classes with field-level @Inject); the replacement is chosen
name: inject-in-sling-model description: | AEM Cloud Service expert skill — migrate javax.inject.@Inject fields in Sling Model (@Model) classes to injector-specific annotations (@ValueMapValue / @OSGiService / @SlingObject). Self-discoverable (scan for @Model classes with field-level @Inject); the replacement is chosen deterministically from each field's declared type. Use for "fix @Inject in HeroModel.java", "modernize my Sling Models", or when scanning an AEM project for @Inject misuse. Detailed decision table, companion-annotation handling, import management, and file-level skip policy are in recipe.md. license: Apache-2.0
> This pattern is executed by the code-assessment runbook — follow [`../references/runbook.md`](../references/runbook.md) for the full flow (preflight → plan → apply → verify, run log). This skill supplies the detection + recipe the runbook applies.
`javax.inject.@Inject` on fields of `@Model` classes is discouraged by the Apache Sling Models documentation. Removing `@Inject` without a replacement breaks injection, so each field is migrated to an injector-specific annotation chosen from its declared type.
Detection is performed by the analyzer ([`../scripts/analyze.sh`](../scripts/README.md)), run by the runbook:
bash ../scripts/analyze.sh <workspace-root> --pattern inject-in-sling-model
**Match criteria (what the detector flags):** a class annotated `@Model` (`org.apache.sling.models.annotations.Model`, confirmed import-aware) with at least one **field** annotated `@Inject` (`javax.inject.Inject` or `jakarta.inject.Inject`). One finding per matching field. Constructor/setter `@Inject` and non-`@Model` classes are not flagged. The replacement annotation is chosen from the field's declared type by the decision table in `recipe.md`.
**self-evident** — the replacement annotation is fully determined by the field's declared Java type via the decision table in `recipe.md`. No external input is required.
Read [`recipe.md`](recipe.md) in full before editing: input contract, decision table, companion annotations, import management, unlocatable / skip-file policy, per-file procedure, before/after example, editing strategy.
The skill never commits. See [`../references/git-workflow.md`](../references/git-workflow.md) for git vs in-place handoff and the suggested commit message.
Repo: adobe/skills
Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have…
Generates a concise, executive-ready performance summary covering key metrics, trends, and…
Produces a compact KPI digest showing how key metrics changed over a period and what's…
Compares the performance of two or more audience segments across key metrics side by side.…
Identifies which items (pages, campaigns, products, channels, regions) had the biggest…
Comprehensive dimension analysis and reporting for CJA. Use this skill whenever the user…