Skill run
Installed ✓, safe ✓, weighs this many tokens ✓ — and one question still has no answer: does it actually work? Not “is the file in the right place”, but “will the model reach for it when a fitting task shows up”.
A run answers that with a fact, not an opinion.
How to start one
On the skill card press ▷ Try for real. A dialog opens where you decide three things — all three explained right there.
What we will ask for. By default the task is assembled from the skill’s own description — what we test is exactly whether that description leads the model to the skill. You can write your own or repeat the task from a previous run (more on that below).
What to run it with. Claude Code, Codex or OpenCode — whichever is found on your machine. The run uses their command line; if none is there, the dialog shows what to install and how.
Which model and how much. What is tested is the skill description, not the strength of the model, so a cheap one is enough: the same run cost $0.13 on Sonnet and $0.03 on Haiku. The spending cap ($1 by default) saves you from an accidentally huge task — the tool stops on its own.
What happens inside
- A temporary directory is created and the one skill under test is put there.
- The command line of your AI is started as an ordinary child process, with no separate window. onplate calls nobody’s API: your subscription and your quota do the work.
- The directory is deleted whatever the outcome. Your setup does not change: the skill is not installed, the AI configs stay as they were.
What the result shows
The verdict is read from the session log the AI itself keeps — a fact you can check, not the model’s answer to “so, did you use the skill?”.
| Result | What it means |
|---|---|
| The skill fired | The model reached for the skill. The step, tokens, time and price are shown |
| The skill did not fire | The model solved the task on its own. Usually it is the description — it is shown right there, with a button into the editor |
| Another skill took the task | A neighbor among the installed ones fired. This is not about the description: there is a skill nearby the model picks first |
| The skill was not even offered | It never reached the model — check the name and the frontmatter |
| Stopped by time or the spending cap | The check was interrupted halfway. That is not a verdict about the skill |
One run is not a guarantee: models are not deterministic. The report says so plainly.
History and regressions
Every run is saved: which skill, on which version, on which task and how it ended. The Runs section appears after the first check.
The value is not in one record but in a pair. Fix the description, repeat the same task, and you see whether it helped:
- “Got better” — did not fire before, fires now;
- “Stopped firing after the update” — a regression: the version changed while the task stayed the same, so it is the changes in the skill;
- “The same skill answered differently” — same version, same task, different outcome. That is not a breakage but the spread of the model; calling it a regression would be a lie.
If the skill was updated since the last check, the dialog says so and pre-selects repeating the previous task — which is exactly a regression check.
The limits
- A run spends your quota with the chosen tool. That is why it happens only on a button, never on its own, and the price is shown in the report and in the history.
- Dangerous skills are not run. A skill scored “Dangerous” is rejected before the start: a run executes the instructions for real.
- The AI needs a command line. GLM has none, so a run is unavailable for it — in the compatibility matrix that row is honestly empty.