---
wraps: find-unused
description: Find what a clean @adia-ai upgrade left unused — opt-in layers nothing imports, workarounds a fixed bug made redundant, retired values in stored state, shipped advice that is wrong for this app.
argument-hint: "[target version]"
disable-model-invocation: false
user-invocable: true
---

Find what this app is not using, scoped to the target version named in the current request.

Invoke **`find-unused`**: enumerate every `@adia-ai/*` package each manifest
declares (never assume `web-components`), recon the three versions that differ
per package — declared range, installed, and the target: **the version named in the current request
when one was given, registry latest only as the default**. Read
every `node_modules/@adia-ai/*/CHANGELOG.md` section across the
installed→target span, then run all four audits — inert opt-in layers, redundant local
workarounds, retired enum values sitting in persisted state, and shipped
advice that does not fit this app. Report counts and file:line before
proposing any edit, split mechanical items from judgment items and take
consent per item, verify each adoption with a check that would fail on
revert, and write the Adoption Record.

Reach for **`app-migration`** instead when the span carries actual breaking
changes — that skill is guide-driven and sweeps them with per-cluster
consent. This one runs when nothing broke and the question is what went
unused.
