feat(skills): enable Hermes in unified Skills management

Wire hermes through SkillApps struct, DAO SQL, command parser, and
SKILLS_APP_IDS. Add a Skills entry to the Hermes toolbar. Simplify
skill_sync test fixtures to use SkillApps::default().
This commit is contained in:
Jason
2026-04-20 22:40:25 +08:00
parent 0be75668cc
commit 1227e29d8b
6 changed files with 40 additions and 34 deletions
+5 -18
View File
@@ -53,10 +53,8 @@ fn import_from_apps_respects_explicit_app_selection() {
vec![ImportSkillSelection {
directory: "shared-skill".to_string(),
apps: SkillApps {
claude: false,
codex: false,
gemini: false,
opencode: true,
..Default::default()
},
}],
)
@@ -103,12 +101,7 @@ fn sync_to_app_removes_disabled_and_orphaned_ssot_symlinks() {
repo_name: None,
repo_branch: None,
readme_url: None,
apps: SkillApps {
claude: false,
codex: false,
gemini: false,
opencode: false,
},
apps: SkillApps::default(),
installed_at: 0,
content_hash: None,
updated_at: 0,
@@ -151,9 +144,7 @@ fn uninstall_skill_creates_backup_before_removing_ssot() {
readme_url: None,
apps: SkillApps {
claude: true,
codex: false,
gemini: false,
opencode: false,
..Default::default()
},
installed_at: 123,
content_hash: None,
@@ -221,9 +212,7 @@ fn restore_skill_backup_restores_files_to_ssot_and_current_app() {
readme_url: None,
apps: SkillApps {
claude: true,
codex: false,
gemini: false,
opencode: false,
..Default::default()
},
installed_at: 456,
content_hash: None,
@@ -304,9 +293,7 @@ fn delete_skill_backup_removes_backup_directory() {
readme_url: None,
apps: SkillApps {
claude: true,
codex: false,
gemini: false,
opencode: false,
..Default::default()
},
installed_at: 789,
content_hash: None,