Skip to main content

Overview

Gemini CLI uses a unique skills system with TOML-based commands and modular markdown files. Impeccable transforms its source format into Gemini-compatible skills that leverage the CLI’s import features for efficient context management.
Gemini CLI skills require the preview version: npm i -g @google/gemini-cli@preview

Installation

1

Install preview version

2

Download the bundle

Visit impeccable.style and download the Gemini CLI bundle, or copy from the repository:
3

Enable skills

Run /settings in Gemini CLI and enable Skills
4

Verify installation

Run /skills list to see all available skills

File Structure

Gemini CLI uses a different structure than other providers:

Key Differences

  1. Skills in subdirectories: Each skill lives in .gemini/skills/{name}/SKILL.md
  2. Reference files: Modular reference files in reference/ subdirectories
  3. No TOML for skills: Unlike custom commands, skills use markdown with YAML frontmatter

Skill Format

Gemini CLI skills use YAML frontmatter (similar to other providers):

How Arguments Work

Gemini CLI uses a single {{args}} placeholder instead of named arguments:

Argument Syntax

Everything after the command name becomes {{args}}:
Gemini CLI doesn’t support named arguments like {{component}} or {{device}}. All arguments are captured in a single {{args}} string.

Writing Args-Friendly Prompts

Design prompts that work with or without args:

Provider-Specific Transformations

The build system applies these transformations for Gemini CLI:

1. Argument Consolidation

All argument placeholders become {{args}}:

2. Simplified Frontmatter

Gemini CLI only uses name and description:

3. Reference Files Preserved

Reference files are copied into skill subdirectories. The frontend-design skill includes 7 reference files for comprehensive design guidance.

Usage Examples

Basic Command

Runs audit on entire interface.

With Arguments

Audits specific areas (all text after /audit becomes {{args}}).

Multi-Step Workflow

Focused Refinement

Available Skills

Impeccable includes 17 user-invokable skills for Gemini CLI:

Gemini CLI Features

Skill Discovery

Gemini CLI automatically discovers skills in .gemini/skills/. Use /skills list to see all available skills.

Skill Management

Context Management

Gemini CLI loads skill content into context when invoked. Reference files are loaded automatically when a skill references them.

GEMINI.md (Root-Level Skills)

Gemini CLI also supports a root-level GEMINI.md file for always-on context:
The @./file.md syntax imports external files. However, Impeccable uses the skills directory approach for better organization.

Quirks & Limitations

Single Args String

Gemini CLI only supports {{args}} (not {{component}} or {{device}}). All arguments are concatenated into one string.
This means:
The skill must parse the args string intelligently.

No Argument Validation

Gemini CLI doesn’t validate required vs optional arguments. Skills must handle any input gracefully.

Preview Version Required

Skills are only available in @preview releases. Stable releases don’t support this feature yet.

Skill Reloading

Changes to skill files require restarting Gemini CLI or running /skills reload.

Troubleshooting

Skills Not Found

1

Check preview version

2

Enable skills

3

Verify file structure

Ensure .gemini/skills/audit/SKILL.md exists
4

Reload skills

Arguments Not Working

If {{args}} appears literally in responses:
  1. Check that you’re using /command args syntax (not /command on one line and args on the next)
  2. Verify the skill body contains {{args}} placeholder
  3. Ensure there are no typos (it’s {{args}} not {{arg}} or {args})

Skill Not Loading Context

If skills seem to lack domain knowledge:
  1. Check that reference files exist in reference/ subdirectory
  2. Verify the main SKILL.md references the frontend-design skill
  3. Try explicitly mentioning design principles in your command

Migration from Other Providers

From Cursor or Claude Code

Gemini CLI consolidates named arguments:

From Codex CLI

Gemini CLI uses {{args}} instead of $ARGNAME:

Best Practices

1. Design for Flexible Args

Write prompts that work with any number of words:

2. Use Reference Skills

Explicitly invoke frontend-design for comprehensive guidance:

3. Be Explicit in Commands

Since Gemini uses a single args string, be specific:

4. Chain Skills Sequentially

Gemini CLI excels at workflows:

5. Use Skill Management

Disable skills you don’t need to reduce context:

Learn More