npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@involvex/gemini-cli-skill-creator

v0.0.2

Published

Extension for creating effective skills in Gemini CLI

Downloads

15

Readme

Gemini CLI Skill Creator Extension

A comprehensive extension for Gemini CLI that enables project-specific skill development via a slash command interface.

Features

  • Slash Command System: Robust /create-skill and other commands for skill management
  • Modular Templates: Customizable skill templates with parameters for different languages and frameworks
  • Seamless Integration: Works with existing Gemini CLI workflows and dependency resolution
  • Error Handling: Comprehensive validation and user-friendly error messages
  • Performance Optimized: Lazy-loading and caching for frequently used templates
  • Interactive & Headless Modes: Supports both guided creation and CI/CD automation
  • Plugin System: Extensible architecture for third-party skill contributions
  • Cross-Platform: Compatible with Linux, macOS, and Windows

Installation

Prerequisites

  • Node.js 16.0.0 or higher
  • Gemini CLI installed

Install the Extension

# Clone the repository
git clone https://github.com/involvex/gemini-cli-skill-creator
cd gemini-cli-skill-creator

# Install dependencies
npm install

# Build the extension
npm run build

# Install the extension to Gemini CLI
npm run install-ext

One-Click Installation Script

For automated installation and verification:

# Run the installation script
npm run verify

This will build the project, run tests, and verify the installation.

Usage

Basic Commands

Create a Skill

# Interactive mode (recommended for first-time users)
skill-creator create my-skill

# With options
skill-creator create my-skill --template basic --description "A custom skill" --author "Your Name"

List Available Templates

skill-creator list-templates

Validate a Skill

skill-creator validate my-skill

Slash Commands in Gemini CLI

Once installed, you can use slash commands directly in Gemini CLI:

/create-skill my-skill
/list-templates
/validate-skill my-skill

Advanced Usage

Custom Templates

Create your own skill templates by adding them to the templates/ directory:

templates/
├── my-template/
│   ├── template.json    # Template configuration
│   ├── SKILL.md         # Template for SKILL.md file
│   ├── scripts/         # Scripts directory
│   ├── references/      # Documentation
│   └── assets/          # Additional resources

Example template.json:

{
  "description": "My custom skill template",
  "parameters": [
    {
      "name": "framework",
      "type": "choice",
      "description": "Target framework",
      "required": true,
      "choices": ["react", "vue", "angular"]
    }
  ]
}

Plugin Development

Extend the extension with custom plugins. Create a plugin in the plugins/ directory:

// plugins/my-plugin/index.js
class MyPlugin {
  async activate(context) {
    // Register custom commands
    context.registerCommand("my-command", async args => {
      return "Custom command executed!";
    });
  }

  async deactivate() {
    // Cleanup
  }
}

module.exports = MyPlugin;

Skill Structure

Skills created by this extension follow the standard Gemini CLI skill format:

my-skill/
├── SKILL.md         # Skill metadata and instructions (required)
├── scripts/         # Executable scripts and tools
├── references/      # Documentation and examples
└── assets/          # Templates and binary resources

SKILL.md Format

---
name: my-skill
description: What this skill does and when to use it
author: Your Name
language: javascript
---

# My Skill

Detailed instructions for using this skill...

## Usage

1. When to activate this skill
2. Required inputs
3. Expected outputs
4. Examples

Configuration

The extension can be configured via environment variables:

  • LOG_LEVEL: Set logging level (error, warn, info, debug)
  • NODE_ENV: Set to 'production' to disable console logging
  • SKILL_TEMPLATES_DIR: Custom templates directory
  • SKILL_CACHE_DIR: Custom cache directory

Development

Building

npm run build

Testing

npm test

Linting

npm run lint

Project Structure

├── src/
│   ├── index.ts                    # Main entry point
│   ├── SkillCreatorExtension.ts    # Core extension class
│   ├── commands/
│   │   └── CommandRegistry.ts      # Command management
│   ├── templates/
│   │   └── SkillTemplateManager.ts # Template handling
│   ├── plugins/
│   │   └── PluginManager.ts        # Plugin system
│   └── utils/
│       ├── Logger.ts               # Logging utility
│       └── ErrorHandler.ts         # Error handling
├── templates/                      # Built-in templates
├── plugins/                        # Extension plugins
├── bin/
│   └── skill-creator.js            # CLI interface
├── dist/                           # Compiled output
├── package.json
├── tsconfig.json
└── README.md

API Reference

SkillCreatorExtension

Main class for the extension.

const extension = new SkillCreatorExtension(config);

// Execute commands
const result = await extension.executeCommand("create-skill", ["my-skill"]);

// Shutdown
await extension.shutdown();

Template Parameters

Templates support the following parameter types:

  • string: Text input
  • number: Numeric input
  • boolean: True/false values
  • choice: Selection from predefined options

Troubleshooting

Common Issues

  1. Template not found: Ensure the template name is correct and exists in templates/
  2. Permission errors: Check file permissions and ensure write access to skill directories
  3. Build failures: Ensure all dependencies are installed with npm install
  4. Command not recognized: Verify the extension is properly installed in Gemini CLI

Error Codes

  • TEMPLATE_NOT_FOUND: Specified template doesn't exist
  • MISSING_REQUIRED_PARAMETERS: Required parameters not provided
  • SKILL_ALREADY_EXISTS: Skill with that name already exists
  • INVALID_PARAMETER_TYPE: Parameter value doesn't match expected type
  • FILESYSTEM_ERROR: File system operation failed
  • VALIDATION_ERROR: Skill configuration validation failed

Getting Help

  • Check the logs in logs/combined.log
  • Run skill-creator --help for command usage
  • Use /help in Gemini CLI for available slash commands

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Submit a pull request

Development Guidelines

  • Follow TypeScript best practices
  • Add comprehensive tests for new features
  • Update documentation for API changes
  • Ensure cross-platform compatibility
  • Use semantic commit messages

License

MIT License - see LICENSE file for details.

Changelog

v0.0.1

  • Initial release
  • Basic skill creation functionality
  • Template system
  • Plugin architecture
  • CLI interface
  • Cross-platform support