* fix(design-detect): find impeccable installed as a Claude Code plugin
The design-detector probe only ever checked <root>/<SKILL_ROOTS>/skills/impeccable/,
never the Claude Code plugin-cache layout
(<root>/.claude/plugins/cache/<marketplace>/<plugin>/<version>/skills/impeccable/).
A plugin-installed impeccable was therefore invisible: IMPECCABLE_SKILL stayed
absent, the launcher was never found (so the NOT_CACHED run hint never fired),
and its sibling engine was never considered.
Add a plugin-cache walk alongside the existing SKILL_ROOTS walk, sharing the
same presence/launcher/repo-local-exclusion/sibling-engine logic via an
extracted checkSkillDir() helper so both paths stay behaviorally identical.
Fixes#2838
* refactor(design-detect): consolidate newestSemverDir onto safeReaddir
Both did the identical try/catch-around-readdirSync; newestSemverDir now
reuses the new safeReaddir helper instead of duplicating it.
* fix: harden Impeccable plugin discovery and regression fixtures
* test: supply eval mode to the integrated detector callback adapter
---------
Co-authored-by: Som Samantray <som.samantray@gmail.com>