gemini-forge is a high-performance, cross-platform CLI tool designed to streamline the lifecycle of Gemini CLI Skills. It automates the detection, packaging, and deployment of skills while ensuring strict compatibility with the official Gemini CLI specification.
- 🧠 Structural Signature Scanning: Automatically detects valid Gemini skills by analyzing directory structures,
.tomlcommand definitions, and core sub-agent references. - 📦 Automated Packaging: Builds
.skillfiles from single or multi-skill project structures. - 🚀 One-Click Deployment: Installs skills and syncs custom commands to the local or workspace
.geminidirectory in a single step. - 🐧 Cross-Platform Robustness: Fully compatible with both macOS (BSD) and Linux (GNU).
- 🛠️ Smart Syncing: Automatically manages custom
.tomlcommands and ensures they are correctly registered with the Gemini CLI.
npm install -g gemini-forge
# or
pnpm add -g gemini-forgegit clone https://github.com/tercel/gemini-forge.git
cd gemini-forge
npm linkCheck if a directory is a valid Gemini Skill:
gemini-forge check ./my-skill-dirGenerate .skill files in the dist/ directory:
gemini-forge packageBuild, install, and sync commands to the user's scope:
gemini-forge deploy userWhen updating an existing skill, a simple deploy is usually sufficient to overwrite existing files. However, if you have deleted files (such as .toml commands or sub-agent directories), it is recommended to uninstall first to ensure a clean state:
# Recommended sequence for major changes or file deletions:
gemini-forge uninstall . user
gemini-forge deploy . userPro Tip: Use
uninstallbeforedeployto prune "zombie" command definitions from the~/.geminidirectory that no longer exist in your source code.
Install with specific scopes:
gemini-forge install user # Install to global user scope
gemini-forge install workspace # Install to local project scopegemini-forge uses Structural Signature Scanning to differentiate Gemini skills from other platforms (like Claude Code) or generic Markdown files. A directory is recognized as a Gemini Skill if it contains:
- TOML Commands: A
commands/directory containing.tomlfiles. - Standard Metadata: A
SKILL.mdfile with mandatorynameanddescriptionYAML frontmatter. - Core Sub-Agents: References to Gemini sub-agents (e.g.,
gsd-planner,codebase_investigator) inSKILL.md. - Nested Skills: A
skills/directory containing sub-directories with their ownSKILL.md.
For the best experience, follow this standard layout for your Gemini projects:
my-project/
├── commands/ # Custom .toml commands
├── skills/ # (Optional) Sub-agents/Skills
│ └── my-sub-agent/
│ └── SKILL.md
├── SKILL.md # Main Skill definition
└── package.json # Project metadata
MIT © tercel