claude-voice 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-voice",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "Voice interface extension for Claude Code - TTS, STT, and wake word detection",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: listen
3
3
  description: Use when the user wants to speak a voice command. Trigger words include listen, dinle, voice, sesli komut, mikrofon, microphone, speak, konuş, söyle, ses, record, kayıt, "I want to say something", "bir şey söylemek istiyorum"
4
- user_invocable: true
5
4
  ---
6
5
 
7
6
  # Voice Listen - Activate Microphone
@@ -51,7 +51,7 @@ function installPlugin(sourceDir) {
51
51
  fs.writeFileSync(destPluginJson, JSON.stringify(manifest, null, 2));
52
52
  }
53
53
 
54
- // Copy skills
54
+ // Copy skills to plugin dir (namespaced: /claude-voice:skill-name)
55
55
  if (fs.existsSync(sourceVoiceControlSkill)) {
56
56
  fs.copyFileSync(sourceVoiceControlSkill, destVoiceControlSkill);
57
57
  }
@@ -59,6 +59,13 @@ function installPlugin(sourceDir) {
59
59
  fs.copyFileSync(sourceListenSkill, destListenSkill);
60
60
  }
61
61
 
62
+ // Also install listen skill to ~/.claude/skills/ for direct /listen invocation
63
+ const globalSkillsDir = path.join(os.homedir(), '.claude', 'skills', 'listen');
64
+ fs.mkdirSync(globalSkillsDir, { recursive: true });
65
+ if (fs.existsSync(sourceListenSkill)) {
66
+ fs.copyFileSync(sourceListenSkill, path.join(globalSkillsDir, 'SKILL.md'));
67
+ }
68
+
62
69
  return pluginDir;
63
70
  }
64
71
 
@@ -67,13 +74,20 @@ function installPlugin(sourceDir) {
67
74
  */
68
75
  function uninstallPlugin() {
69
76
  const pluginDir = path.join(os.homedir(), '.claude', 'plugins', PLUGIN_NAME);
77
+ const globalListenSkill = path.join(os.homedir(), '.claude', 'skills', 'listen');
78
+ let removed = false;
70
79
 
71
80
  if (fs.existsSync(pluginDir)) {
72
81
  fs.rmSync(pluginDir, { recursive: true, force: true });
73
- return true;
82
+ removed = true;
83
+ }
84
+
85
+ if (fs.existsSync(globalListenSkill)) {
86
+ fs.rmSync(globalListenSkill, { recursive: true, force: true });
87
+ removed = true;
74
88
  }
75
89
 
76
- return false;
90
+ return removed;
77
91
  }
78
92
 
79
93
  /**