Răsfoiți Sursa

tweak: read global claude skills too

Aiden Cline 7 luni în urmă
părinte
comite
dc64ce8ad4
1 a modificat fișierele cu 14 adăugiri și 10 ștergeri
  1. 14 10
      packages/opencode/src/skill/skill.ts

+ 14 - 10
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) => {
@@ -65,24 +69,24 @@ export namespace Skill {
     }
 
     for (const dir of directories) {
-      for await (const match of OPENCODE_SKILL_GLOB.scan({
+      for await (const match of CLAUDE_SKILL_GLOB.scan({
         cwd: dir,
         absolute: true,
         onlyFiles: true,
         followSymlinks: true,
+        dot: true,
       })) {
         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 OPENCODE_SKILL_GLOB.scan({
+        cwd: dir,
+        absolute: true,
+        onlyFiles: true,
+        followSymlinks: true,
+      })) {
+        await addSkill(match)
+      }
     }
 
     return skills