Gemini CLI Custom Commands Pack: 21 TOML Commands + Validator

Add 21 useful slash commands to Gemini CLI in 30 seconds, and validate the ones you write yourself.

Gemini CLI Custom Commands Pack: 21 TOML Commands + Validator product illustration

What it does

21 ready-to-use custom slash commands for Gemini CLI (/git:commit, /review:diff, /test:fix, /plan:feature...) plus gcmd.py, a validator, previewer, installer and Claude Code converter for .gemini/commands/*.toml files.

What you get

The screenshot is real output from the kit’s own commands. Tested from a fresh download of this exact zip: ./run_tests.sh ran 13 tests OK on Python 3.13 and 3.10.

Real terminal output from Gemini CLI Custom Commands Pack: 21 TOML Commands + Validator: demo and passing tests

Install in 30 seconds

python3 tools/gcmd.py install /path/to/project --dry-run     # see what goes where
python3 tools/gcmd.py install /path/to/project               # -> .gemini/commands/ (never overwrites without --force)
python3 tools/gcmd.py install --user --only git,review       # -> ~/.gemini/commands/ for every project

Then in Gemini CLI: /commands reload and type / to see them. Or just copy the commands/ folder contents into .gemini/commands/.

The commands

CommandWhat it does
/git:commit [notes]commit message from the staged diff, matching your last 15 commits' style
/git:pr [notes]PR title + What / Why / How to test / Risk from the branch's commits
/git:changelog [version]Keep a Changelog entry for commits since the last tag
/git:explain-diff [focus]what the uncommitted changes do and what could break
/review:diff [focus]senior-style branch review: real problems only, file:line, fixes
/review:security PATHHigh/Medium/Low findings with evidence (authz, injection, SSRF, secrets...)
/review:file PATHbugs, edge cases and missing tests in one file
/test:write TARGETtests in your existing framework and style, then runs them
/test:fix TESTroot cause and smallest fix; never loosens assertions
/test:coverage-gaps PATHthe 10 riskiest untested paths
/docs:readme [audience]README from real scripts and files, no invented commands
/docs:adr DECISIONnumbered Architecture Decision Record
/docs:explain PATHhow a module works, for newcomers
/plan:feature REQUESTacceptance criteria, real files to change, ordered steps, risks; no code yet
/plan:onboard [questions]guided tour of the repo
/debug:error TRACEmeaning, where in your code, likely causes, smallest fix
/debug:logs PATHfirst failure, error counts, patterns
/refactor:extract TARGETbehavior-preserving refactor with tests before and after
/deps:audit [scope]unused, duplicate and replaceable packages; read-only
/deps:upgrade PACKAGEbreaking changes, edits, build and test
/todo [filter]TODO/FIXME/HACK ranked by risk

Every !{...} shell command in the pack is read-only (git log/diff, ls, cat, git grep); Gemini CLI still asks you to confirm each one.

gcmd.py (Python 3.9+, no dependencies)

python3 tools/gcmd.py validate .gemini/commands ~/.gemini/commands   # --strict also fails on warnings (CI)
python3 tools/gcmd.py render /git:pr --args "fixes login" --dir .gemini/commands   # exact prompt; add --run to execute !{...}
python3 tools/gcmd.py from-claude .claude/commands .gemini/commands --write          # port Claude Code commands

validate catches:

  • TOML syntax errors, missing prompt, unknown keys (promt), multi-line descriptions
  • unbalanced braces in !{...} / @{...} (Gemini CLI cannot parse these)
  • {{args}} inside @{...}: file injection runs before argument substitution, so the path is never filled in
  • "{{args}}" quoted inside !{...}: Gemini already shell-escapes it there, so you get stray quotes
  • shell commands that push, delete, reset, sudo, pipe curl | sh or write files with >
  • names that clash with built-ins (/help, /memory, /plan...)
  • the same command in project and user folders (the project one wins)

from-claude maps $ARGUMENTS (and $1..$9) to {{args}}, !cmd to !{cmd}, @file to @{file}, the frontmatter description to description, and subfolders to namespaces. It tells you what it dropped (allowed-tools, model).

How Gemini CLI command files work (checked Nov 2026)

  • Project commands live in .gemini/commands/, user commands in ~/.gemini/commands/. git/commit.toml becomes /git:commit.
  • prompt (required) and description (optional, shown in /help).
  • {{args}} is replaced with what you type after the command (shell-escaped inside !{...}). With no {{args}}, your text is appended to the prompt.
  • !{cmd} runs a shell command after confirmation and inserts its output; @{path} inserts a file or folder. Order: @{} first, then !{}, then {{args}}.

Files

commands/ (21 TOML), tools/gcmd.py, tools/demo.sh, examples/broken-commands (8 mistakes), examples/claude-commands (2 to convert), skills/gemini-commands/, tests/ (13 tests).

Honest limits

  • The commands are prompts: results depend on the model and your repo. They assume git and a POSIX shell (/git:pr expects origin/HEAD to be set: git remote set-head origin -a).
  • render approximates Gemini CLI's expansion offline; Gemini CLI itself is the source of truth. On Python 3.9/3.10 a built-in parser handles the TOML subset command files use.
  • Not affiliated with Google.

Format and license

Zip, 25 KB, v1.0, 35 files. You may use and modify this kit for your own work and for clients you serve, including paid client work. Not affiliated with Google.

FAQ

Where do the files go?
.gemini/commands/ in a project or ~/.gemini/commands/ for all projects; git/commit.toml becomes /git:commit. Run /commands reload after installing.
Do the commands change my files or push code?
The built-in shell context is read-only (git log/diff, ls, cat); Gemini CLI asks before running each one.
Can I bring my Claude Code commands?
Yes: gcmd.py from-claude converts .claude/commands/*.md, mapping $ARGUMENTS, !`cmd` and @file.
How do I get the files?
Pay by card right here on youraitools.co: your download links appear on this page the moment the payment goes through (claim window: 72 hours, up to 5 downloads per 7 days). Need the files re-sent later? Email hello@youraitools.co.
Refunds?
Email hello@youraitools.co within 14 days if it doesn’t work and we can’t fix it.
Can I pay with crypto?
Yes. Pay the same price in USDC or USDT on Base, Ethereum, Arbitrum, Optimism, Polygon or Solana from the "Pay with crypto" button, with no account or KYC. We check the payment on-chain and show your download links as soon as it confirms.

Get Gemini CLI Custom Commands Pack: 21 TOML Commands + Validator

21 Gemini CLI custom slash commands (TOML) for git, code review, tests, docs and debugging, plus a validator, prompt previewer and Claude Code converter.

Save with a bundle

Pairs well with

Download$119

Agent Builder Bundle

Swarm Operator Kit + x402 Builder Skills + MCP Starter Kit. $119 instead of $157.

View Agent Builder Bundle
Download$89

Swarm Operator Kit

Run a team of AI agents as a business: charter, 5 roles, 6 skills, routines and scripts.

View Swarm Operator Kit
Download$29

x402 Builder Skills

4 SKILL.md skills to ship, audit, verify and list a pay-per-call x402 API.

View x402 Builder Skills

Related

1 email a week: new x402 + MCP tools and free kits.

Short weekly digest of new x402 + MCP tools and free kits, including the MCP OAuth Checker. No spam, unsubscribe any time.