Skip to content

Commands

Skiller adds a chat participant, @skiller, that runs declarative workflows. You drive it with slash commands: address @skiller, then type a command. A message that is neither a slash command nor a skill launch gets a short hint pointing you back to the commands below — @skiller does not do free-form chat.

You can also launch a skill straight from the editor — a code action, the editor context menu, or the Command Palette — without typing the command yourself. See Launching from the editor.

CommandWhat it doesNotes
/helpLists the available commands.Start here if you forget a command.
/skillsLists every discovered skill with its id, name, and source tier.Source is workspace, user, or built-in.
/skill <id> [params]Runs the skill with that id.Accepts named (name=Ada) and positional launch arguments — see below.
/toolsLists the tools available to skills.Includes the built-in file tools and any configured MCP tools.
/modelsLists the language models available for skill configuration.The ids you reference in models.default / models.aliases.
/reloadRe-scans skills and tools and reports what changed.Shows an added / removed / parse-error diff (see below).
/statusReports whether a skill is awaiting input or confirmation.Control command — works mid-skill.
/cancelAborts the skill currently awaiting input or confirmation.Control command — works mid-skill.
/resetClears all Skiller state — pending interactions and graph highlights.Control command — the blunt recovery hatch.

/skill <id> runs a discovered skill. Any input the skill declares but you do not supply on the command line is collected interactively before the skill starts.

You can pass launch arguments two ways, and mix them:

  • Namedname=value. Matches the input by its declared name.
  • Positional — a bare value. Fills the remaining inputs in declaration order.
@skiller /skill greeter name=Ada
@skiller /skill greeter "Ada"

Both forms set the name input to Ada. Quote a value that contains spaces.

Skills don’t have to be typed into chat. Skiller registers a VS Code command, skiller.runSkill, reachable three ways:

SurfaceHow
Command PaletteSkiller: Run Skill → pick a skill from the list
Editor context menuRight-click in a file → Run Skill
Code actionThe lightbulb / quick-fix menu, for skills that match the current file or selection

Either way, Skiller captures the editor state at that moment — the selection, file, diff, or diagnostics — so a skill’s from: inputs are filled from where you launched, and an output.to sink writes back there even after chat takes focus. It then opens chat to run the skill; the skiller.skills.runSurface setting controls whether the command is prefilled for you to submit (adaptive, default) or submitted immediately (chat).

See Editor-native skills for the whole model.

/reload re-scans all three discovery tiers and the configured tools, then prints what changed rather than a flat list:

  • Added — skills or tools that now exist.
  • Removed — skills or tools that disappeared (their graph highlights are cleared; a pending interaction tied to a removed skill is dropped).
  • Parse errors — skills whose skill.yaml now fails validation (and any that were previously broken and are now fixed).

Use it after editing a manifest on disk so the registry and any open live execution graph panels pick up the change.

/status, /cancel, and /reset are control commands. They are dispatched before the pending-interaction gate, so they always run — even while a skill is paused waiting for input or a confirmation. Without this, a wedged pending state could block its own escape hatch.

  • /status — tells you whether something is paused, and at which step.
  • /cancel — aborts only the skill awaiting input or confirmation.
  • /reset — clears everything, when state is thoroughly stuck.

Pending state is isolated per conversation: a skill paused in one chat will not consume a turn you send in a different chat. Use /cancel or /reset from the chat that started the skill.

Skiller is skills-only by design. A message to @skiller that is not a recognized command and does not launch a skill returns a short hint listing /skills, /skill <name>, and /help — it does not attempt an open-ended conversation.