Review follow-up on the #7305 regression fix.
- Drop the local shadow of ``agent.skill_utils`` (an ``os.walk`` +
frontmatter parser + always-True platform filter). A local re-implementation
cannot preserve the index walk's directory exclusions, frontmatter-name
identity or platform filtering, so it reported inaccurate counts: a SKILL.md
declared for another platform was counted as enabled, and support /
dependency / VCS / inactive org-mirror files were counted as skills.
- The Agent-absent branch now reports the stats as unknown — a stable
``(0, 0)``. GET /api/profiles still cannot 500, and the picker never shows a
count it cannot verify (the UI omits the skills line when the total is 0).
- Tests now pin that contract: force ``ImportError`` for ``agent.skill_utils``
(and ``hermes_cli``) and assert the unknown-stats result, the fallback row
from ``_default_profile_dict()``, and the isolated-mode ``/api/profiles``
path end to end. The fixture reproduces the shapes a partial local scan gets
wrong — a directory name differing from the declared ``name``, two
directories declaring the same name, a declared name disabled for the webui
platform, a platform-incompatible skill, and the paths the index walk prunes
(support dirs of a skill package, dependency/VCS/metadata dirs, an inactive
org mirror) — and a positive control runs the same tree through the real
Agent-backed path so the fixture cannot degrade into a tree with nothing to
count.