Explorar el Código

feat: read global ~/.claude/skills

Aiden Cline hace 1 mes
padre
commit
a1c9a1b8c5
Se han modificado 1 ficheros con 13 adiciones y 9 borrados
  1. 13 9
      packages/opencode/src/skill/skill.ts

+ 13 - 9
packages/opencode/src/skill/skill.ts

@@ -4,6 +4,7 @@ import { Instance } from "../project/instance"
 import { NamedError } from "@opencode-ai/util/error"
 import { ConfigMarkdown } from "../config/markdown"
 import { Log } from "../util/log"
+import { Global } from "../global"
 
 export namespace Skill {
   const log = Log.create({ service: "skill" })
@@ -37,6 +38,9 @@ export namespace Skill {
 
   export const state = Instance.state(async () => {
     const directories = await Config.directories()
+    // include the global claude skills
+    directories.push(Global.Path.home)
+
     const skills: Record<string, Info> = {}
 
     const addSkill = async (match: string) => {
@@ -73,16 +77,16 @@ export namespace Skill {
       })) {
         await addSkill(match)
       }
-    }
 
-    for await (const match of CLAUDE_SKILL_GLOB.scan({
-      cwd: Instance.worktree,
-      absolute: true,
-      onlyFiles: true,
-      followSymlinks: true,
-      dot: true,
-    })) {
-      await addSkill(match)
+      for await (const match of CLAUDE_SKILL_GLOB.scan({
+        cwd: dir,
+        absolute: true,
+        onlyFiles: true,
+        followSymlinks: true,
+        dot: true,
+      })) {
+        await addSkill(match)
+      }
     }
 
     return skills