A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
Are you the author? Sign in to claim
OpenCode skill for creating, testing, and optimizing other OpenCode skills. Adapted from Anthropic's skill-creator for C
Create, test, and optimize OpenCode skills — from first draft to production-grade.
A skill + plugin for OpenCode that brings eval-driven development to AI agent skills — based on Anthropic's official skill-creator for Claude Code, ported to TypeScript and adapted for OpenCode's plugin architecture.
Install · What it does · Plugin tools · Usage · Architecture
Creating AI agent skills is guesswork. You write a skill, test it manually, maybe tweak the description, and hope it triggers correctly. There's no systematic way to measure whether a skill works or to track improvements across iterations.
opencode-skill-creator fixes this with eval-driven development for skills:
Based on Anthropic's proven methodology. Free for everyone. Works with any model OpenCode supports.
Package: https://www.npmjs.com/package/opencode-skill-creator
| If you are... | Use this |
|---|---|
| New to OpenCode / non-developer | Option A (Recommended) |
| Already using other plugins | Option B |
| Setting up all projects on your computer | Option C (Global config) |
| Setting up only one project | Option D (Project config) |
| Cannot use npm / offline environment | Option E (Manual install) |
Run one command (global install, recommended):
npx opencode-skill-creator install --global
Optional checks:
npx opencode-skill-creator --version
npx opencode-skill-creator --help
npx opencode-skill-creator --about
What this command does:
~/.config/opencode/opencode.jsonc when present; otherwise creates/updates opencode.json"opencode-skill-creator" to the plugin arrayThen:
Create a skill that helps with Docker compose filesThat's it.
Manual equivalent for the same result:
~/.config/opencode/opencode.jsonc or ~/.config/opencode/opencode.json{
"plugin": ["opencode-skill-creator"]
}
If you want project-only install instead, use:
npx opencode-skill-creator install --project
If your file already has plugins, append this package to the list:
{
"plugin": [
"your-existing-plugin",
"opencode-skill-creator"
]
}
Do not remove your existing plugins.
Use global config when you want this plugin available everywhere.
Command version:
npx opencode-skill-creator install --global
~/.config/opencode/opencode.jsonc or ~/.config/opencode/opencode.json{
"plugin": ["opencode-skill-creator"]
}
Use project config when you want this plugin only for one repo.
Command version:
npx opencode-skill-creator install --project
opencode.jsonc or opencode.json in that project root{
"plugin": ["opencode-skill-creator"]
}
git clone https://github.com/antongulin/opencode-skill-creator.git
cd opencode-skill-creator
# Install the skill (global)
cp -r opencode-skill-creator/ ~/.config/opencode/skills/opencode-skill-creator/
# Install the plugin (global)
cp -r plugin/ ~/.config/opencode/plugins/skill-creator/
Then create ~/.config/opencode/package.json if needed:
{
"dependencies": {
"@opencode-ai/plugin": ">=1.0.0"
}
}
After you add opencode-skill-creator and restart OpenCode:
dist/skill-creator.js.~/.config/opencode/skills/opencode-skill-creator/.Check that the skill file exists:
ls ~/.config/opencode/skills/opencode-skill-creator/SKILL.md
Then ask OpenCode:
Use opencode-skill-creator to create a skill that helps with API documentation.
You should see it use the opencode-skill-creator workflow/tools.
skill-creator folderEarlier versions installed the bundled skill as the generic skill-creator skill. That could conflict with other plugins, including Superpowers, that also provide a skill with the same name.
Current versions install the bundled skill as opencode-skill-creator instead. On startup, if the plugin finds an old plugin-owned folder at ~/.config/opencode/skills/skill-creator/, it moves that folder to an inactive backup such as:
~/.config/opencode/skills/skill-creator.opencode-skill-creator-backup-YYYYMMDDTHHMMSS/
The backup preserves user files and renames SKILL.md to SKILL.md.backup so OpenCode will not keep loading the old generic skill. If the old skill-creator folder does not contain the plugin's .opencode-skill-creator-version marker, the plugin leaves it untouched because it may belong to another plugin or a manually installed skill.
I don't have opencode.jsonc/opencode.json: create one in project root (or use global config path).Nothing changed after edit: fully restart OpenCode.I already had plugins: keep them; just add opencode-skill-creator to the same array.I want a clean reinstall: delete ~/.config/opencode/skills/opencode-skill-creator/ and restart OpenCode.I still see another skill-creator skill: if ~/.config/opencode/skills/skill-creator/ has no .opencode-skill-creator-version marker, it is not managed by this plugin and must be reviewed separately.npx command failed: run npx opencode-skill-creator --help and then use install or install --global.{ "plugin": ["opencode-skill-creator"] }
When loaded, this skill guides OpenCode through the full skill development lifecycle:
The plugin registers these custom tools that OpenCode can call:
| Tool | Purpose |
|---|---|
skill_validate | Validate SKILL.md structure and frontmatter |
skill_parse | Parse SKILL.md and extract name/description |
skill_eval | Test trigger accuracy for eval queries |
skill_improve_description | LLM-powered description improvement |
skill_optimize_loop | Full eval→improve optimization loop |
skill_aggregate_benchmark | Aggregate grading results into statistics |
skill_generate_report | Generate HTML optimization report |
skill_serve_review | Start the eval review viewer (HTTP server) |
skill_stop_review | Stop a running review server |
skill_export_static_review | Generate standalone HTML review file |
The most impactful feature for skill quality. It treats skill descriptions as a search problem:
The review launch tools enforce paired comparison data by default:
skill_serve_review and skill_export_static_review require each eval-* directory to include:
with_skillwithout_skill or old_skill)allowPartial: true.benchmarkPath is omitted, the tools auto-generate benchmark.json and benchmark.md in the workspace.When creating new skills, use a staging path in the system temp directory outside your current repository:
/tmp/opencode-skills/<skill-name>/ (or $TMPDIR/opencode-skills/<skill-name>/)/tmp/opencode-skills/<skill-name>-workspace/%TEMP%\opencode-skills\<skill-name>\ and %TEMP%\opencode-skills\<skill-name>-workspace\.opencode/skills/<skill-name>/~/.config/opencode/skills/<skill-name>/This keeps plugin/source repositories clean while preserving the full eval loop.
Once installed, OpenCode will automatically detect the skill when you ask it to create or improve a skill. For example:
OpenCode will load the opencode-skill-creator instructions and use the plugin tools to walk through the full workflow.
This project has two components:
| Component | What it is |
|---|---|
| Skill | Markdown instructions (SKILL.md + agents + templates) that tell the agent how to create, evaluate, and improve skills |
| Plugin | TypeScript module that registers custom tools for validation, eval, benchmarking, and review |
The skill provides the workflow knowledge; the plugin provides the executable tools the agent calls during that workflow.
On first startup, the plugin automatically copies the bundled skill files to ~/.config/opencode/skills/opencode-skill-creator/. If you need to reinstall the skill (e.g., after an update), delete that directory and restart OpenCode.
opencode-skill-creator/
├── README.md
├── LICENSE # Apache 2.0
├── opencode-skill-creator/ # The SKILL
│ ├── SKILL.md # Main skill instructions
│ ├── agents/
│ │ ├── grader.md # Assertion evaluation
│ │ ├── analyzer.md # Benchmark analysis
│ │ └── comparator.md # Blind A/B comparison
│ ├── references/
│ │ └── schemas.md # JSON schema definitions
│ └── templates/
│ └── eval-review.html # Eval set review/edit UI
└── plugin/ # The PLUGIN (npm: opencode-skill-creator)
├── package.json # npm package metadata
├── skill-creator.ts # Entry point — registers all tools
├── skill/ # Bundled copy of skill (auto-installed)
├── lib/
│ ├── utils.ts # SKILL.md frontmatter parsing
│ ├── validate.ts # Skill structure validation
│ ├── run-eval.ts # Trigger evaluation via opencode run
│ ├── improve-description.ts # LLM-powered description improvement
│ ├── run-loop.ts # Eval→improve optimization loop
│ ├── aggregate.ts # Benchmark aggregation
│ ├── report.ts # HTML report generation
│ └── review-server.ts # Eval review HTTP server
└── templates/
└── viewer.html # Eval review viewer UI
| Area | Anthropic (Claude Code) | This repo (OpenCode) |
|---|---|---|
| CLI invocation | claude -p "prompt" | opencode run "prompt" |
| Skill location | .claude/commands/ | .opencode/skills/ |
| Automation scripts | Python (scripts/*.py) | TypeScript plugin (plugin/lib/*.ts) |
| Script execution | python -m scripts.run_loop | skill_optimize_loop tool call |
| Eval viewer | python generate_review.py | skill_serve_review tool call |
| Benchmarking | python aggregate_benchmark.py | skill_aggregate_benchmark tool call |
| Dependencies | Python 3.11+, pyyaml | Bun (via OpenCode), @opencode-ai/plugin |
| Packaging | .skill zip files | npm package + skill directory |
| Subagents | Built-in subagent concept | Task tool with general/explore types |
Contributions are welcome! See CONTRIBUTING.md for guidelines.
Apache License 2.0 — see LICENSE for details.
Based on anthropics/skills by Anthropic.
1000+ skills curated from Anthropic, Vercel, Stripe, and other engineering teams
Design enforcement with memory — keeps your UI consistent across a project
Universal SEO skill for Claude Code. 25 sub-skills + 18 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, bac
Route Claude Code traffic to any of 17 provider backends including free or local models