OpenCode Skill Creator plugin

A plugin and skill for OpenCode that draft a skill, build eval queries, measure description trigger accuracy and improve it.

  • 195 ★ on the repository
  • Last commit
  • Apache-2.0
Plugin

Extended access

Why this level

  • The plugin starts a local HTTP review server and installs a skill into the user-level OpenCode directory.
  • Eval runs call a model and spend paid tokens.
All reasons and checks

antongulin/opencode-skill-creator

Install

Works in

Manual install

npx opencode-skill-creator install --project

For OpenCode V2 from the project directory. Use `install --global` for all projects; V1 needs manual setup.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The plugin starts a local HTTP review server and installs a skill into the user-level OpenCode directory.
  • Eval runs call a model and spend paid tokens.

This is third-party code. Review the repository files before installing.

What it does

The workflow helps create a skill for OpenCode: a draft with `SKILL.md` and supporting files, sets of queries that should and should not trigger the skill, a measurement of description trigger accuracy and its improvement with a train and test split. A TypeScript plugin provides 14 tools, for example `skill_validate`, `skill_eval`, `skill_optimize_loop` and `skill_serve_review`. Run results are compared by grades, timing and tokens, and paired outputs are reviewed in an HTML viewer before the finished skill is installed. The project is an independent adaptation of Anthropic's skill-creator: Python automation is ported to TypeScript for OpenCode V2 and V1 from 1.18.29.

Who it is for. People writing their own OpenCode skills who want to measure whether they trigger on the right requests instead of guessing.

Good fit when

  • A skill that reviews Docker Compose files is needed and its description must trigger only on such requests.
  • An existing skill has a poorly triggering description and is optimized on train and test sets.
  • Several runs are compared by output grade, timing and tokens.
  • Paired results are reviewed in HTML before the skill is installed into `.opencode/skills/`.

Not a fit when

  • You use an agent other than OpenCode.
  • You need to grade a skill's answer quality: trigger evals measure only skill selection.
  • OpenCode is older than 1.18.29 and the old `0.2.x` line is not used.

Example request

Use opencode-skill-creator to create a skill that reviews Docker Compose files, then build queries to evaluate its description triggering.

Limitations

Trigger evals measure only skill selection, while output quality is judged from graded outputs and human review. Behaviour depends on model and provider, and runs cost money at the provider. On startup the plugin installs the skill into the user-level OpenCode directory even with `--project`. OpenCode V1 from 1.18.29 needs manual setup, and older versions use the `0.2.x` line. Keep drafts and eval workspaces in a temp directory outside the repository.

How to disable. Remove the plugin from the OpenCode configuration (`plugins` key for V2, `plugin` for V1) and delete the `opencode-skill-creator` folder from `~/.config/opencode/skills/`.

FAQ

How do I install it for a project?

Run `npx opencode-skill-creator install --project` from the project directory, then restart OpenCode. For all projects use `install --global`.

Which OpenCode versions are supported?

V2 through the `plugins` key and V1 from 1.18.29 through manual `plugin` setup. V1 below 1.18.29 needs the older `0.2.x` line.

Which tools does the plugin add?

Fourteen: `SKILL.md` validation and parsing, trigger measurement, description improvement, an optimization loop, benchmark aggregation, reports, a review server and gold-standard description examples.

What does `skill_eval` show?

Description trigger accuracy over a set of queries that should and should not invoke the skill.

Is there an example?

Yes, `examples/docker-compose-helper/` holds a small skill, an eval set in JSON and prompts for `skill_eval`, `skill_optimize_loop` and benchmark review.

Discussion

No questions or reviews yet.

Plugins

A skill that teaches an agent to write Obsidian plugins to ESLint and community review rules and scaffolds a new plugin.

SkillExtended access196Repository stars

Catalog of 46 versioned skills for code review, releases, CI and landing pages, installed as the lstack plugin or through npx.

PluginExtended access145Repository stars

A Windows plugin for OpenCode Desktop that sets edit boundaries, screens commands and ties test results to the current code.

PluginExtended access113Repository stars

An OpenTUI reference for agents: decision trees, the Core, React and Solid APIs, layout, keys, animation and testing

SkillMinimal access229Repository stars

Twenty skills for reading unfamiliar code, reviewing documents and commits, translating Markdown and OpenSpec-driven development

SkillExtended access92Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
OpenCode Skill Creator (this card)no195
oil-skill-creatorno102building skills in the Anthropic manner; this plugin is made for OpenCode and measures description triggering with a test set
skill-creator: skills from OpenAPI, GraphQL and MCPno611a skill creation helper; here fourteen plugin tools, paired result review and benchmarks

README in short

The package has a bundled skill with grading agents, schemas and templates and a plugin that validates, runs evals, aggregates results and serves review. OpenCode loads the compiled `dist/skill-creator.js` bundle through a V1 or V2 entrypoint.

README badge

Original SKILL.md

---
name: opencode-skill-creator
description: Create, test, evaluate, optimize, and package OpenCode skills with the opencode-skill-creator plugin. Use when users explicitly mention opencode-skill-creator, OpenCode Skill Creator, creating an OpenCode skill, editing an OpenCode SKILL.md, running skill evals, benchmarking skill performance, or optimizing an OpenCode skill description. Do not use for generic Claude Code or Superpowers skill creation unless the user asks to port that workflow to OpenCode.
---

# OpenCode Skill Creator

A skill for creating new skills and iteratively improving them.

At a high level, the process of creating a skill goes like this:

- Decide what you want the skill to do and roughly how it should do it
- Write a draft of the skill
- Create a few test prompts and run opencode-with-access-to-the-skill on them
- Help the user evaluate the results both qualitatively and quantitatively
  - While the runs happen in the background, draft some quantitative evals if there aren't any (if there are some, you can either use as is or modify if you feel something needs to change about them). Then explain them to the user (or if they already existed, explain the ones that already exist)
  - Use the `skill_serve_review` tool to show the user the results for them to look at, and also let them look at the quantitative metrics
- Rewrite the skill based on feedback from the user's evaluation of the results (and also if there are any glaring flaws that become apparent from the quantitative benchmarks)
- Repeat until you're satisfied
- Expand the test set and try again at larger scale

Your job when using this skill is to figure out where the user is in this process and then jump in and help them progress through these stages. So for instance, maybe they're like "I want to make a skill for X". You can help narrow down what they mean, write a draft, write the test cases, figure out how they want to evaluate, run all the prompts, and repeat.

On the other hand, maybe they already have a draft of the skill. In this case you can go straight to the eval/iterate part of the loop.

For new skill creation, the intake interview is mandatory. Ask at least 3-5 targeted questions before drafting anything (ask more if the workflow is complex). Treat this as shadowing a teammate: the user is the domain expert and existing employee, and the agent is the new hire that must learn and mirror the real workflow.

You can still be flexible about eval depth and iteration speed after intake. If the user asks to skip intake, warn once that skill quality and workflow match will be worse, get explicit confirmation, and then proceed with best effort.

Then after the skill is done (but again, the order is flexible), you can also run the skill description optimizer (`skill_optimize_loop` tool), which we have a whole separate tool for, to optimize the triggering of the skill.

Cool? Cool.

## Communicating with the user

The skill creator is liable to be used by people across a wide range of familiarity with coding jargon. If you haven't heard (and how could you, it's only very recently that it started), there's a trend now where the power of AI coding agents is inspiring plumbers to open up their terminals, parents and grandparents to google "how to install npm". On the other hand, the bulk of users are probably fairly computer-literate.

So please pay attention to context cues to understand how to phrase your communication! In the default case, just to give you some idea:

- "evaluation" and "benchmark" are borderline, but OK
- for "JSON" and "assertion" you want to see serious cues from the user that they know what those things are before using them without explaining them

It's OK to briefly explain terms if you're in doubt, and feel free to clarify terms with a short definition if you're unsure if the user will get it.

---

Report a problem