Free tool

Slash command converter

Wrote a /command for one coding agent and want it in another? Paste it in any supported format and get the file path, frontmatter and argument syntax for 8 targets. Formats checked against each vendor's docs on 2026-10-22. Nothing leaves your browser.

Found: 1 argument placeholder, 1 shell command, 0 file references

Detected: Claude Code. Pick the source if this is wrong: $1 means the second argument in Claude Code but the first in OpenCode.

Convert to

Save as: .gemini/commands/fix-issue.toml

description = "Fix a GitHub issue and add a test"
prompt = '''
Fix GitHub issue #{{args}}.

Current branch status:
!{git status --short}

Read the issue, find the cause, fix it, and add a test that fails without the fix.
'''

Run it

/fix-issue arg1

Project commands in .gemini/commands/ beat user commands in ~/.gemini/commands/. Run /commands reload after saving.

Format source: Gemini CLI docs.

How placeholders map between agents

AgentProject fileAll argumentsOne argumentShell outputFile contents
Claude Code.claude/skills/NAME/SKILL.md$ARGUMENTS$0, $1 (from 0) or named $issue!`cmd`-
Cursor.cursor/skills/NAME/SKILL.mdnot documentednot documented--
Gemini CLI.gemini/commands/NAME.toml{{args}}-!{cmd}@{path}
Qwen Code.qwen/commands/NAME.md{{args}}-!{cmd}@{path}
VS Code Copilot.github/prompts/NAME.prompt.mdtext after /name${input:name}-#file:path
OpenCode.opencode/commands/NAME.md$ARGUMENTS$1, $2 (from 1)!`cmd`@path (v1)
Junie.junie/commands/NAME.md$promptnamed $file, passed as file=value--
  • Positional arguments count from 0 in Claude Code ($0 is the first) and from 1 in OpenCode ($1 is the first). Pick the source agent in the converter so they map correctly.
  • With no placeholder, Claude Code appends ARGUMENTS: your text to the end, and Gemini CLI and Qwen Code append your input after two line breaks.
  • Gemini CLI and Qwen Code ask you to confirm before a !{...} command runs, and shell-escape {{args}} inside it.
  • Cursor skills need a lowercase name with hyphens that matches the folder. With disable-model-invocation: true the skill only runs when you type /name.
  • OpenCode v2 still reads .opencode/commands/*.md, but its docs say stored templates do not expand @path, and subagent replaces subtask.

Related

Sources

Command formats keep changing

Get one email a week when a coding agent changes how its commands, skills or prompt files work.