9c58a78a7d
Extends the Capabilities "Configuring:" profile selector (#86548) from Tools/MCP to the WHOLE view — Skills, Tools, MCP, and Browse Hub now all read and write the same selected profile — and brings Bot Mode's one-click Skills Hub picker into the main Capabilities -> Skills tab. Scope widening: - skills/index.tsx: the selector renders once above whichever tab is active. Skills list, toggles, bulk ops, editor, and archive are scoped via the trailing-profile pattern; the skills RQ key gains the scope key. Toolsets analytics (usage badges) load per scope. SkillsHub and the hub picker are keyed/remounted per scope. Scope changes drop the open editor/archive dialog and in-flight analytics (same hazards as an app-wide profile switch); an app profile switch clears the override. - hermes.ts: getSkills, setSkillEnabled, get/edit/deleteLearningNode, getUsageAnalytics, and all seven skills-hub fetchers take the optional trailing profile? (omitting preserves exact app-wide behavior). - store/hub-actions.ts: runHubAction threads profile through spawn and getActionStatus polling so install/uninstall/update and their logs run against the scoped backend. - hub.tsx: sources/search/preview queries keyed+scoped per profile; install/uninstall/update/scan route to the scoped profile. - archive-skill-confirm-dialog.tsx: optional profile prop. One-click hub installs (from Hermes-Bot-Mode): - skills/embedded-hub-picker.tsx: collapsible, resizable iframe of the live Skills Hub (hermes-agent.nousresearch.com/docs/skills?embed=picker) on the Skills tab. Origin-checked hermes-skill-pick postMessages route through the standard hub action pipeline (background action, tailed log, optimistic flip, Skills list + slash-completion invalidation), scoped to the selected profile. - i18n: skills.hub.picker* keys (en + zh; others fall back). Tests: index.test.tsx — new case asserts picking a profile on the Skills tab refetches skills scoped to it and routes toggles there (6/6); toolset-config-panel 28/28. Full typecheck (3 tsconfigs) + eslint clean.