Signals Adoption
Adopt Angular signals in bounded post-upgrade modernization slices to replace or complement local component state, derived state, and reactive glue without mixing the change into an Angular version ho
SKILL.mdskills/angular/architecture/signals-adoption/SKILL.md
GitHubSignals Adoption
Purpose
Adopt Angular signals in bounded modernization slices after the app is stable on a compatible Angular version.
When to Use
- The app is already on a stable Angular version that supports signals.
- The team wants to modernize local component state incrementally.
- The change is architectural modernization, not a version upgrade.
When Not to Use
- The app is still in the middle of a major Angular hop.
- The target slice is not well tested.
- The app is not on a version that supports signals.
Required Inputs
- local component state
- derived state usage
- reactive glue code
- computed values and effects
- tests for the target slice
Procedure
- Select a bounded feature area.
- Identify state that is local and stable.
- Replace the smallest safe slice with signals.
- Keep interop with existing observables explicit.
- Validate rendering, effects, and tests.
Do
- Prefer incremental conversion.
- Keep effects narrow and intentional.
- Validate change detection and UI updates.
Do Not
- Do not convert the whole app in one pass.
- Do not mix signals adoption with upgrade hops.
- Do not replace service-level reactive architecture without a plan.
Review Checklist
- Slice is bounded.
- State updates are correct.
- Tests pass.
- Remaining reactive debt is documented.
Expected Output
- Slice converted to signals.
- Remaining observable/state debt.
- Test result.
- Follow-up list.
Exit Criteria
- Adoption is incremental.
- The next slice is clear.