From 55f2a9b3f0aa70f31707a2d7d7b31ef0f2f86c5e Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Thu, 16 Apr 2026 11:42:18 -0400 Subject: [PATCH] refactor: switch Skill to direct self-reexport imports --- packages/opencode/src/agent/agent.ts | 2 +- packages/opencode/src/command/command.ts | 2 +- packages/opencode/src/effect/app-runtime.ts | 2 +- packages/opencode/src/server/instance/index.ts | 2 +- packages/opencode/src/session/system.ts | 2 +- packages/opencode/src/skill/index.ts | 1 - packages/opencode/src/skill/skill.ts | 2 ++ packages/opencode/src/tool/registry.ts | 2 +- packages/opencode/src/tool/skill.ts | 2 +- packages/opencode/test/session/prompt-effect.test.ts | 2 +- packages/opencode/test/session/snapshot-tool-race.test.ts | 2 +- packages/opencode/test/skill/skill.test.ts | 2 +- 12 files changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/opencode/src/agent/agent.ts b/packages/opencode/src/agent/agent.ts index 54ca484555..dad25a9459 100644 --- a/packages/opencode/src/agent/agent.ts +++ b/packages/opencode/src/agent/agent.ts @@ -18,7 +18,7 @@ import { mergeDeep, pipe, sortBy, values } from "remeda" import { Global } from "@/global" import path from "path" import { Plugin } from "@/plugin" -import { Skill } from "../skill" +import { Skill } from "../skill/skill" import { Effect, Context, Layer } from "effect" import { InstanceState } from "@/effect" import * as Option from "effect/Option" diff --git a/packages/opencode/src/command/command.ts b/packages/opencode/src/command/command.ts index 4ea1325240..450a145689 100644 --- a/packages/opencode/src/command/command.ts +++ b/packages/opencode/src/command/command.ts @@ -7,7 +7,7 @@ import { Effect, Layer, Context } from "effect" import z from "zod" import { Config } from "../config" import { MCP } from "../mcp" -import { Skill } from "../skill" +import { Skill } from "../skill/skill" import PROMPT_INITIALIZE from "./template/initialize.txt" import PROMPT_REVIEW from "./template/review.txt" diff --git a/packages/opencode/src/effect/app-runtime.ts b/packages/opencode/src/effect/app-runtime.ts index f06c41e319..d44e4b144c 100644 --- a/packages/opencode/src/effect/app-runtime.ts +++ b/packages/opencode/src/effect/app-runtime.ts @@ -18,7 +18,7 @@ import { Plugin } from "@/plugin" import { Provider } from "@/provider" import { ProviderAuth } from "@/provider" import { Agent } from "@/agent/agent" -import { Skill } from "@/skill" +import { Skill } from "@/skill/skill" import { Discovery } from "@/skill/discovery" import { Question } from "@/question" import { Permission } from "@/permission" diff --git a/packages/opencode/src/server/instance/index.ts b/packages/opencode/src/server/instance/index.ts index 9ef6da63ac..e0c6c63c1b 100644 --- a/packages/opencode/src/server/instance/index.ts +++ b/packages/opencode/src/server/instance/index.ts @@ -8,7 +8,7 @@ import { TuiRoutes } from "./tui" import { Instance } from "../../project/instance" import { Vcs } from "../../project" import { Agent } from "../../agent/agent" -import { Skill } from "../../skill" +import { Skill } from "../../skill/skill" import { Global } from "../../global" import { LSP } from "../../lsp" import { Command } from "../../command" diff --git a/packages/opencode/src/session/system.ts b/packages/opencode/src/session/system.ts index 952ff5b04b..5b6b72e766 100644 --- a/packages/opencode/src/session/system.ts +++ b/packages/opencode/src/session/system.ts @@ -14,7 +14,7 @@ import PROMPT_TRINITY from "./prompt/trinity.txt" import type { Provider } from "@/provider" import type { Agent } from "@/agent/agent" import { Permission } from "@/permission" -import { Skill } from "@/skill" +import { Skill } from "@/skill/skill" export namespace SystemPrompt { export function provider(model: Provider.Model) { diff --git a/packages/opencode/src/skill/index.ts b/packages/opencode/src/skill/index.ts index 6d7b428dfb..e69de29bb2 100644 --- a/packages/opencode/src/skill/index.ts +++ b/packages/opencode/src/skill/index.ts @@ -1 +0,0 @@ -export * as Skill from "./skill" diff --git a/packages/opencode/src/skill/skill.ts b/packages/opencode/src/skill/skill.ts index f8ff7b8f5f..04916a87db 100644 --- a/packages/opencode/src/skill/skill.ts +++ b/packages/opencode/src/skill/skill.ts @@ -260,3 +260,5 @@ export function fmt(list: Info[], opts: { verbose: boolean }) { .map((skill) => `- **${skill.name}**: ${skill.description}`), ].join("\n") } + +export * as Skill from "./skill" diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index a8ab4c27ea..696b352252 100644 --- a/packages/opencode/src/tool/registry.ts +++ b/packages/opencode/src/tool/registry.ts @@ -44,7 +44,7 @@ import { Instruction } from "../session/instruction" import { AppFileSystem } from "@opencode-ai/shared/filesystem" import { Bus } from "../bus" import { Agent } from "../agent/agent" -import { Skill } from "../skill" +import { Skill } from "../skill/skill" import { Permission } from "@/permission" const log = Log.create({ service: "tool.registry" }) diff --git a/packages/opencode/src/tool/skill.ts b/packages/opencode/src/tool/skill.ts index 58a66ee744..4c7ea3b08c 100644 --- a/packages/opencode/src/tool/skill.ts +++ b/packages/opencode/src/tool/skill.ts @@ -5,7 +5,7 @@ import { Effect } from "effect" import * as Stream from "effect/Stream" import { EffectLogger } from "@/effect" import { Ripgrep } from "../file/ripgrep" -import { Skill } from "../skill" +import { Skill } from "../skill/skill" import * as Tool from "./tool" const Parameters = z.object({ diff --git a/packages/opencode/test/session/prompt-effect.test.ts b/packages/opencode/test/session/prompt-effect.test.ts index 121d662e5f..27f68db29a 100644 --- a/packages/opencode/test/session/prompt-effect.test.ts +++ b/packages/opencode/test/session/prompt-effect.test.ts @@ -30,7 +30,7 @@ import { SessionRevert } from "../../src/session/revert" import { SessionRunState } from "../../src/session/run-state" import { MessageID, PartID, SessionID } from "../../src/session/schema" import { SessionStatus } from "../../src/session/status" -import { Skill } from "../../src/skill" +import { Skill } from "../../src/skill/skill" import { SystemPrompt } from "../../src/session/system" import { Shell } from "../../src/shell/shell" import { Snapshot } from "../../src/snapshot" diff --git a/packages/opencode/test/session/snapshot-tool-race.test.ts b/packages/opencode/test/session/snapshot-tool-race.test.ts index 1f66ccb995..9870de98dd 100644 --- a/packages/opencode/test/session/snapshot-tool-race.test.ts +++ b/packages/opencode/test/session/snapshot-tool-race.test.ts @@ -41,7 +41,7 @@ import { Plugin } from "../../src/plugin" import { Provider as ProviderSvc } from "../../src/provider" import { Env } from "../../src/env" import { Question } from "../../src/question" -import { Skill } from "../../src/skill" +import { Skill } from "../../src/skill/skill" import { SystemPrompt } from "../../src/session/system" import { Todo } from "../../src/session/todo" import { SessionCompaction } from "../../src/session/compaction" diff --git a/packages/opencode/test/skill/skill.test.ts b/packages/opencode/test/skill/skill.test.ts index 21c6c7e651..8115d31eb7 100644 --- a/packages/opencode/test/skill/skill.test.ts +++ b/packages/opencode/test/skill/skill.test.ts @@ -1,6 +1,6 @@ import { describe, expect } from "bun:test" import { Effect, Layer } from "effect" -import { Skill } from "../../src/skill" +import { Skill } from "../../src/skill/skill" import * as CrossSpawnSpawner from "../../src/effect/cross-spawn-spawner" import { provideInstance, provideTmpdirInstance, tmpdir } from "../fixture/fixture" import { testEffect } from "../lib/effect"