summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2026-01-30 20:37:41 -0500
committerDax Raad <[email protected]>2026-01-30 20:37:41 -0500
commit3542f3e406a3d8f53801ec1753107640ccccd7e1 (patch)
tree86de323b7bad2433039d1c2101cb72ca21e6625c
parent85126556b868b713cf14c10f8b4a6d861e42326e (diff)
downloadopencode-3542f3e406a3d8f53801ec1753107640ccccd7e1.tar.gz
opencode-3542f3e406a3d8f53801ec1753107640ccccd7e1.zip
Revert "feat: make skills invokable as slash commands in the TUI"
This reverts commit 85126556b868b713cf14c10f8b4a6d861e42326e.
-rw-r--r--packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx3
-rw-r--r--packages/opencode/src/command/index.ts17
-rw-r--r--packages/opencode/src/skill/skill.ts7
-rw-r--r--packages/sdk/js/src/v2/gen/types.gen.ts1
4 files changed, 1 insertions, 27 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx
index 53ff79539..718929d44 100644
--- a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx
+++ b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx
@@ -345,9 +345,8 @@ export function Autocomplete(props: {
const results: AutocompleteOption[] = [...command.slashes()]
for (const serverCommand of sync.data.command) {
- const label = serverCommand.mcp ? " (MCP)" : serverCommand.skill ? " (Skill)" : ""
results.push({
- display: "/" + serverCommand.name + label,
+ display: "/" + serverCommand.name + (serverCommand.mcp ? " (MCP)" : ""),
description: serverCommand.description,
onSelect: () => {
const newText = "/" + serverCommand.name + " "
diff --git a/packages/opencode/src/command/index.ts b/packages/opencode/src/command/index.ts
index 96276800c..976f1cd51 100644
--- a/packages/opencode/src/command/index.ts
+++ b/packages/opencode/src/command/index.ts
@@ -6,7 +6,6 @@ import { Identifier } from "../id/id"
import PROMPT_INITIALIZE from "./template/initialize.txt"
import PROMPT_REVIEW from "./template/review.txt"
import { MCP } from "../mcp"
-import { Skill } from "../skill"
export namespace Command {
export const Event = {
@@ -28,7 +27,6 @@ export namespace Command {
agent: z.string().optional(),
model: z.string().optional(),
mcp: z.boolean().optional(),
- skill: z.boolean().optional(),
// workaround for zod not supporting async functions natively so we use getters
// https://zod.dev/v4/changelog?id=zfunction
template: z.promise(z.string()).or(z.string()),
@@ -120,21 +118,6 @@ export namespace Command {
}
}
- // Add skills as invokable commands
- for (const skill of await Skill.all()) {
- // Skip if a command with this name already exists
- if (result[skill.name]) continue
- result[skill.name] = {
- name: skill.name,
- description: skill.description,
- skill: true,
- get template() {
- return Skill.content(skill.name).then((content) => content ?? "")
- },
- hints: [],
- }
- }
-
return result
})
diff --git a/packages/opencode/src/skill/skill.ts b/packages/opencode/src/skill/skill.ts
index d5da85cfb..5b300a928 100644
--- a/packages/opencode/src/skill/skill.ts
+++ b/packages/opencode/src/skill/skill.ts
@@ -153,11 +153,4 @@ export namespace Skill {
export async function all() {
return state().then((x) => Object.values(x))
}
-
- export async function content(name: string) {
- const info = await get(name)
- if (!info) return undefined
- const md = await ConfigMarkdown.parse(info.location)
- return md.content
- }
}
diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts
index ad8b18dfa..a8c61c4da 100644
--- a/packages/sdk/js/src/v2/gen/types.gen.ts
+++ b/packages/sdk/js/src/v2/gen/types.gen.ts
@@ -2117,7 +2117,6 @@ export type Command = {
agent?: string
model?: string
mcp?: boolean
- skill?: boolean
template: string
subtask?: boolean
hints: Array<string>