Create custom /slash commands for repetitive tasks in OpenCode. Use when user wants to create a command, automate a workflow, make a shortcut, add a slash command, set up automation, create a /test, /review, /deploy, /commit, /fix, /build, /lint, /spellcheck, /migrate, or /ci command. Also use when writing a command file, configuring command frontmatter, using $ARGUMENTS placeholders, setting agent: plan, using subtask: true, injecting shell output with !cmd, referencing files with the at-file syntax in a command template, or choosing between a slash command, agent, and skill.
72
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Create .opencode/commands/<name>.md:
---
description: Run tests and fix all failures automatically
---
Run the full test suite, identify any failures, and fix them.
1. Run `npm test`
2. For each failure, identify root cause and fix
3. Re-run to verify all passInvoke it in OpenCode: /test
Run bun run opencode to start, then type /<name> to invoke your command.
Slash commands are user-to-agent shortcuts — markdown files with an instruction template. User types /test → OpenCode substitutes placeholders → agent executes.
Decision rule:
When to use: Repetitive multi-step tasks that need a one-word trigger.
When NOT to use: Do not create a command for one-off tasks — just type the instruction directly. Do not use commands for interactive workflows; commands are one-shot.
Modes: no agent: = default build (read/write); agent: plan = read-only; subtask: true = fire-and-forget.
$ARGUMENTS — all args; $1/$2 — positional; !cmd — shell output injection; @filename — include file content.
# Dynamic context injection example
!git log --oneline -5---
description: Deploy to staging with context
agent: plan
subtask: true
---
Deploy $ARGUMENTS using the steps in docs/deploy.md.
!git log --oneline -3NEVER use $ARGUMENTS more than once in a command body. WHY: The placeholder is substituted literally — using it twice creates duplicate content that confuses the agent.
# BAD — duplicate content
Review $ARGUMENTS. Focus on $ARGUMENTS for security issues.
# GOOD — wrap in XML once
<target>$ARGUMENTS</target>
Review the target file for security issues and bugs.NEVER tell the agent to "run /command" inside a command body. WHY: Agents cannot invoke slash commands from within a command — only users can type /cmd.
# BAD
After fixing, run /test to verify.
# GOOD
After fixing, run `npm test` to verify.NEVER use agent: plan for commands that write files. WHY: The plan agent is read-only and will refuse any write operation, silently failing the command.
# BAD
---
agent: plan
---
Create a new file called output.md with the results.
# GOOD — remove agent: plan for write operationsreferences/command-patterns.md — Creation phases, example commands (/test, /review, /commit, /deploy, /spellcheck), pattern libraryreferences/frontmatter-reference.md — Complete frontmatter fields and placeholder referenceEval Scenarios: Scenario 0: Deploy | Scenario 1: Spellcheck | Scenario 2: Fix anti-patterns
a1083f4
Also appears in
since Mar 14, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.