plugin-creator
Use when the user asks to create, package, publish, or install an OpenCode-native plugin for Mosaic.
Skill by morriszdweck
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/morriszdweck-plugin-creator
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/plugin-creator
What's inside
- Skill name
plugin-creator- Description
- Use when the user asks to create, package, publish, or install an OpenCode-native plugin for Mosaic. Covers package.json, native plugin entrypoints, bundled skills, OpenCode config, and GitHub or npm distribution.
- License
- MIT
- Instructions
- 143 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# OpenCode Plugin Creator
Mosaic uses OpenCode's native plugin system. A plugin is a normal npm package
or local JavaScript/TypeScript module; there is no Mosaic-specific manifest,
installer, or package directory.
## Package layout
For a distributable plugin, use:
```text
my-plugin/
├── package.json
├── plugin.ts
├── README.md
└── skills/
└── my-skill/
└── SKILL.md
```
Create `package.json` as the plugin manifest:
```json
{
"name": "opencode-example-plugin",
"version": "0.1.0",
"description": "One sentence describing the capability",
"type": "module",
"main": "./plugin.ts",
"exports": "./plugin.ts",
"dependencies": {
"@opencode-ai/plugin": "^1.18.22"
}
}
```
Use a package name with an `opencode-` prefix when publishing a general
plugin. Keep runtime imports in `dependencies`, and match the
`@opencode-ai/plugin` version to the OpenCode release being targeted.
## Native plugin entrypoint
Export a function of type `Plugin` that returns OpenCode hooks, tools, or both:
```ts
import type { Plugin } from "@opencode-ai/plugin";
export const ExamplePlugin: Plugin = async ({ client }) => {
await client.app.log({
body: { service: "example-plugin", level: "info", message: "Loaded" },
});
return {};
};
export default ExamplePlugin;
```
For a plugin that bundles skills, register the package's `skills/` directory
with OpenCode's native skill loader through the `config` hook:
```ts
import type { Config, Plugin } from "@opencode-ai/plugin";
import { fileURLToPath } from "node:url";
type ConfigWithSkills = Config & { skills?: { paths?: string[] } };
const skillsDirectory = fileURLToPath(new URL("./skills", import.meta.url));
const ExamplePlugin: Plugin = async () => ({
config: async (config) => {
const nativeConfig = config as ConfigWithSkills;
nativeConfig.skills ??= {};
nativeConfig.skills.paths ??= [];
if (!nativeConfig.skills.paths.includes(skillsDirectory)) {
nativeConfig.skills.paths.push(skillsDirectory);
}
},
});
export default ExamplePlugin;
```
Each bundled skill needs its own `SKILL.md` with valid frontmatter. Use a
unique lowercase hyphenated skill ID and do not shadow Mosaic's built-ins:
`agent-swarm`, `customize-mosaic`, `customize-opencode`, `mosaic-self`, and
`plugin-creator`.
## Create a plugin
When the user asks for a plugin:
1. Clarify the one job it should do and choose a unique package name.
2. Create `package.json` and the smallest useful native `plugin.ts`.
3. Add bundled skills under `skills/<skill-name>/SKILL.md` when the capability
is primarily reusable instructions.
4. Write a README explaining the purpose, native entrypoint, files, and one
example.
5. Add installation instructions using the native Mosaic command:
```text
Install the OpenCode plugin package `opencode-example-plugin` in Mosaic with
`mosaic plugin opencode-example-plugin --global`, then restart Mosaic.
```
If the package is only in GitHub and not yet published to npm, document the
Git-backed package spec:
```sh
mosaic plugin opencode-example-plugin@git+https://github.com/OWNER/REPOSITORY.git --global
```
If the user asked to publish it, create or use the requested GitHub repository
and commit the package contents there. Do not create `mosaic-plugin.json` or a
second installer.
## Install a plugin
The canonical command delegates to OpenCode's native plugin installer:
```shFrom morriszdweck/mosaic, MIT.
More from morriszdweck/mosaic
- 0.564score
agent-swarm
morriszdweck
Agent Swarm — parallel multi-agent orchestration.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
customize-mosaic
morriszdweck
Use when configuring Mosaic itself — models, agents, themes, skills, plugins, SOUL.md, memory, heartbeats, or anything under ~/.mosaic.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
mosaic-self
morriszdweck
Use when asked to watch, monitor, or keep checking something on an interval, to remember how the user wants you to behave, to change your own tone or…
SkillBFreshness: B★ 3Claude Code +9 - 0.561score
kimi-webbridge
morriszdweck
Control the user's real Chrome or Edge browser through Kimi WebBridge.
SkillBFreshness: B★ 3Claude Code +9 - 0.531score
customize-opencode
morriszdweck
DO NOT USE.
SkillBFreshness: B★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 27, 2026 (2 months ago)
- Last release
- Aug 25, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/morriszdweck/mosaic
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from morriszdweck
- 0.564score
agent-swarm
morriszdweck
Agent Swarm — parallel multi-agent orchestration.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
customize-mosaic
morriszdweck
Use when configuring Mosaic itself — models, agents, themes, skills, plugins, SOUL.md, memory, heartbeats, or anything under ~/.mosaic.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
mosaic-self
morriszdweck
Use when asked to watch, monitor, or keep checking something on an interval, to remember how the user wants you to behave, to change your own tone or…
SkillBFreshness: B★ 3Claude Code +9 - 0.561score
kimi-webbridge
morriszdweck
Control the user's real Chrome or Edge browser through Kimi WebBridge.
SkillBFreshness: B★ 3Claude Code +9 - 0.531score
customize-opencode
morriszdweck
DO NOT USE.
SkillBFreshness: B★ 3Claude Code +9
Cite this page
plugin-creator skill. Agent Mart. https://agentmart.dev/skills/morriszdweck-plugin-creator (last updated 2026-10-24)