From dc64ce8ad4fd354426946e5a37cf0aca207b0635 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Mon, 29 Dec 2025 21:31:25 -0600 Subject: [PATCH] tweak: read global claude skills too --- packages/opencode/src/skill/skill.ts | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/opencode/src/skill/skill.ts b/packages/opencode/src/skill/skill.ts index 16fa1d08f6..772a0d7427 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 = {} const addSkill = async (match: string) => { @@ -65,6 +69,16 @@ export namespace Skill { } for (const dir of directories) { + 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 OPENCODE_SKILL_GLOB.scan({ cwd: dir, absolute: true, @@ -75,16 +89,6 @@ export namespace Skill { } } - for await (const match of CLAUDE_SKILL_GLOB.scan({ - cwd: Instance.worktree, - absolute: true, - onlyFiles: true, - followSymlinks: true, - dot: true, - })) { - await addSkill(match) - } - return skills })