From 74ece8181a98b3aa69969e10d14f6b28c1e6d93e Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Tue, 26 May 2026 20:28:07 +0900 Subject: [PATCH] feat(shared-skills): scaffold shared skills workspace package --- bun.lock | 7 +++++++ package.json | 3 +++ packages/shared-skills/package.json | 6 ++++++ src/shared-skills-package.test.ts | 25 +++++++++++++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 packages/shared-skills/package.json create mode 100644 src/shared-skills-package.test.ts diff --git a/bun.lock b/bun.lock index 357d50479..66fe0e42a 100644 --- a/bun.lock +++ b/bun.lock @@ -34,6 +34,7 @@ "@oh-my-opencode/omo-codex": "workspace:*", "@oh-my-opencode/prompts-core": "workspace:*", "@oh-my-opencode/rules-engine": "workspace:*", + "@oh-my-opencode/shared-skills": "workspace:*", "@oh-my-opencode/utils": "workspace:*", "@types/js-yaml": "^4.0.9", "@types/picomatch": "^4.0.3", @@ -136,6 +137,10 @@ "picomatch": "^4.0.4", }, }, + "packages/shared-skills": { + "name": "@oh-my-opencode/shared-skills", + "version": "0.1.0", + }, "packages/utils": { "name": "@oh-my-opencode/utils", "version": "0.1.0", @@ -236,6 +241,8 @@ "@oh-my-opencode/rules-engine": ["@oh-my-opencode/rules-engine@workspace:packages/rules-engine"], + "@oh-my-opencode/shared-skills": ["@oh-my-opencode/shared-skills@workspace:packages/shared-skills"], + "@oh-my-opencode/utils": ["@oh-my-opencode/utils@workspace:packages/utils"], "@opencode-ai/plugin": ["@opencode-ai/plugin@1.15.10", "", { "dependencies": { "@opencode-ai/sdk": "1.15.10", "effect": "4.0.0-beta.66", "zod": "4.1.8" }, "peerDependencies": { "@opentui/core": ">=0.2.15", "@opentui/keymap": ">=0.2.15", "@opentui/solid": ">=0.2.15" }, "optionalPeers": ["@opentui/core", "@opentui/keymap", "@opentui/solid"] }, "sha512-V2p7CvpBtKWB+FID7Dl1y0Ci02zUT40A9b2RD9R9BOiuD8ZcKhHWov+irN0xVJA0Eg6OhEBfA0lPKRn1FNKPlw=="], diff --git a/package.json b/package.json index bf2bbe8dc..aa1427cf9 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "packages/hashline-core", "packages/boulder-state", "packages/agents-md-core", + "packages/shared-skills", "packages/omo-codex" ], "bin": { @@ -34,6 +35,7 @@ ".agents/skills", "packages/lsp-tools-mcp/dist", "packages/ast-grep-mcp/dist", + "packages/shared-skills/skills", "packages/omo-codex/marketplace.json", "packages/omo-codex/plugin", "packages/omo-codex/scripts" @@ -116,6 +118,7 @@ "@oh-my-opencode/omo-codex": "workspace:*", "@oh-my-opencode/prompts-core": "workspace:*", "@oh-my-opencode/rules-engine": "workspace:*", + "@oh-my-opencode/shared-skills": "workspace:*", "@oh-my-opencode/utils": "workspace:*", "@typescript/native-preview": "7.0.0-dev.20260518.1", "@types/js-yaml": "^4.0.9", diff --git a/packages/shared-skills/package.json b/packages/shared-skills/package.json new file mode 100644 index 000000000..1afd9e6bd --- /dev/null +++ b/packages/shared-skills/package.json @@ -0,0 +1,6 @@ +{ + "name": "@oh-my-opencode/shared-skills", + "version": "0.1.0", + "private": true, + "description": "Cross-harness SKILL.md files shared between OMO and Codex" +} diff --git a/src/shared-skills-package.test.ts b/src/shared-skills-package.test.ts new file mode 100644 index 000000000..e9472523f --- /dev/null +++ b/src/shared-skills-package.test.ts @@ -0,0 +1,25 @@ +import { describe, expect, test } from "bun:test" + +describe("shared skills package manifest", () => { + test("#given root package metadata #when shared-skills package is required #then workspace and tarball entries include it", async () => { + // given + const rootPackageJson = await Bun.file("package.json").json() + + // when + const workspaces = rootPackageJson.workspaces + const files = rootPackageJson.files + const devDependency = rootPackageJson.devDependencies["@oh-my-opencode/shared-skills"] + const sharedPackageJson = await Bun.file("packages/shared-skills/package.json").json() + + // then + expect(workspaces).toContain("packages/shared-skills") + expect(files).toContain("packages/shared-skills/skills") + expect(devDependency).toBe("workspace:*") + expect(sharedPackageJson).toEqual({ + name: "@oh-my-opencode/shared-skills", + version: "0.1.0", + private: true, + description: "Cross-harness SKILL.md files shared between OMO and Codex", + }) + }) +})