summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2025-12-29 17:11:28 -0600
committerAiden Cline <[email protected]>2025-12-29 17:11:28 -0600
commita1c9a1b8c549e4eeeb6bfe7b9118f756f143b7b6 (patch)
tree4adb7a47486d0e315c74374dc565358af89d9bf3
parent76b012139af40c64d8dbd0dc0b1a53242a52df6b (diff)
downloadopencode-a1c9a1b8c549e4eeeb6bfe7b9118f756f143b7b6.tar.gz
opencode-a1c9a1b8c549e4eeeb6bfe7b9118f756f143b7b6.zip
feat: read global ~/.claude/skills
-rw-r--r--packages/opencode/src/skill/skill.ts22
1 files changed, 13 insertions, 9 deletions
diff --git a/packages/opencode/src/skill/skill.ts b/packages/opencode/src/skill/skill.ts
index 16fa1d08f..308efef8a 100644
--- a/packages/opencode/src/skill/skill.ts
+++ b/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