feat: add skill storage location toggle between CC Switch and ~/.agents/skills

Allow users to choose between storing skills in CC Switch's managed
directory (~/.cc-switch/skills/) or the Agent Skills open standard
directory (~/.agents/skills/). Includes migration logic that safely
moves files before updating settings, with confirmation dialog for
non-empty installations.
This commit is contained in:
Jason
2026-04-05 20:21:51 +08:00
parent 6d220b2528
commit 8cfce8abfc
12 changed files with 383 additions and 5 deletions
+12
View File
@@ -478,6 +478,18 @@
"geminiDesc": "Google Gemini CLI",
"opencodeDesc": "OpenCode CLI"
},
"skillStorage": {
"title": "Skill Storage Location",
"description": "Choose where CC Switch stores the master copies of your skills",
"ccSwitch": "CC Switch",
"unified": "~/.agents/skills",
"ccSwitchHint": "Skills are stored in ~/.cc-switch/skills/ and synced to each app via symlink or copy.",
"unifiedHint": "Skills are stored in ~/.agents/skills/, the Agent Skills open standard. Compatible tools (Claude Code, Codex, Gemini CLI, etc.) discover skills here natively.",
"confirmTitle": "Migrate Skill Storage",
"confirmMessage": "{{count}} skill(s) will be moved to the new location. Continue?",
"migrationSuccess": "Successfully migrated {{count}} skill(s)",
"migrationPartial": "Migrated {{migrated}} skill(s), {{errors}} error(s). Check logs for details."
},
"skillSync": {
"title": "Skill Sync Method",
"description": "Choose how to sync Skills files",
+12
View File
@@ -478,6 +478,18 @@
"geminiDesc": "Google Gemini CLI",
"opencodeDesc": "OpenCode CLI"
},
"skillStorage": {
"title": "スキル保存場所",
"description": "CC Switch がスキルのマスターコピーを保存するディレクトリを選択します",
"ccSwitch": "CC Switch",
"unified": "~/.agents/skills",
"ccSwitchHint": "スキルは ~/.cc-switch/skills/ に保存され、シンボリックリンクまたはコピーで各アプリに同期されます。",
"unifiedHint": "スキルは ~/.agents/skills/ に保存されます(Agent Skills オープン標準)。対応ツール(Claude Code、Codex、Gemini CLI など)はこのディレクトリのスキルを直接検出します。",
"confirmTitle": "スキル保存場所の移行",
"confirmMessage": "{{count}} 個のスキルを新しい場所に移動します。続行しますか?",
"migrationSuccess": "{{count}} 個のスキルを移行しました",
"migrationPartial": "{{migrated}} 個のスキルを移行、{{errors}} 個のエラー。詳細はログを確認してください。"
},
"skillSync": {
"title": "スキル同期方式",
"description": "スキルファイルの同期方法を選択",
+12
View File
@@ -478,6 +478,18 @@
"geminiDesc": "Google Gemini CLI",
"opencodeDesc": "OpenCode CLI"
},
"skillStorage": {
"title": "技能存储位置",
"description": "选择 CC Switch 存放技能主副本的目录",
"ccSwitch": "CC Switch",
"unified": "~/.agents/skills",
"ccSwitchHint": "技能存储在 ~/.cc-switch/skills/,由 CC Switch 统一管理并同步到各应用。",
"unifiedHint": "技能存储在 ~/.agents/skills/,遵循 Agent Skills 开放标准。兼容的工具(Claude Code、Codex、Gemini CLI 等)可直接发现此目录中的技能。",
"confirmTitle": "迁移技能存储",
"confirmMessage": "将移动 {{count}} 个技能到新位置,是否继续?",
"migrationSuccess": "已成功迁移 {{count}} 个技能",
"migrationPartial": "迁移了 {{migrated}} 个技能,{{errors}} 个失败,请查看日志"
},
"skillSync": {
"title": "Skill 同步方式",
"description": "选择 Skills 的文件同步策略",