{
  "markdown": "# Gemini CLI Skill Creator Extension\n\nA comprehensive extension for Gemini CLI that enables project-specific skill development via a slash command interface.\n\n## Features\n\n- **Slash Command System**: Robust `/create-skill` and other commands for skill management\n- **Modular Templates**: Customizable skill templates with parameters for different languages and frameworks\n- **Seamless Integration**: Works with existing Gemini CLI workflows and dependency resolution\n- **Error Handling**: Comprehensive validation and user-friendly error messages\n- **Performance Optimized**: Lazy-loading and caching for frequently used templates\n- **Interactive & Headless Modes**: Supports both guided creation and CI/CD automation\n- **Plugin System**: Extensible architecture for third-party skill contributions\n- **Cross-Platform**: Compatible with Linux, macOS, and Windows\n\n## Installation\n\n### Prerequisites\n\n- Node.js 16.0.0 or higher\n- Gemini CLI installed\n\n### Install the Extension\n\n```bash\n# Clone the repository\ngit clone https://github.com/involvex/gemini-cli-skill-creator\ncd gemini-cli-skill-creator\n\n# Install dependencies\nnpm install\n\n# Build the extension\nnpm run build\n\n# Install the extension to Gemini CLI\nnpm run install-ext\n```\n\n### One-Click Installation Script\n\nFor automated installation and verification:\n\n```bash\n# Run the installation script\nnpm run verify\n```\n\nThis will build the project, run tests, and verify the installation.\n\n## Usage\n\n### Basic Commands\n\n#### Create a Skill\n\n```bash\n# Interactive mode (recommended for first-time users)\nskill-creator create my-skill\n\n# With options\nskill-creator create my-skill --template basic --description \"A custom skill\" --author \"Your Name\"\n```\n\n#### List Available Templates\n\n```bash\nskill-creator list-templates\n```\n\n#### Validate a Skill\n\n```bash\nskill-creator validate my-skill\n```\n\n### Slash Commands in Gemini CLI\n\nOnce installed, you can use slash commands directly in Gemini CLI:\n\n```\n/create-skill my-skill\n/list-templates\n/validate-skill my-skill\n```\n\n### Advanced Usage\n\n#### Custom Templates\n\nCreate your own skill templates by adding them to the `templates/` directory:\n\n```\ntemplates/\n├── my-template/\n│   ├── template.json    # Template configuration\n│   ├── SKILL.md         # Template for SKILL.md file\n│   ├── scripts/         # Scripts directory\n│   ├── references/      # Documentation\n│   └── assets/          # Additional resources\n```\n\nExample `template.json`:\n\n```json\n{\n  \"description\": \"My custom skill template\",\n  \"parameters\": [\n    {\n      \"name\": \"framework\",\n      \"type\": \"choice\",\n      \"description\": \"Target framework\",\n      \"required\": true,\n      \"choices\": [\"react\", \"vue\", \"angular\"]\n    }\n  ]\n}\n```\n\n#### Plugin Development\n\nExtend the extension with custom plugins. Create a plugin in the `plugins/` directory:\n\n```javascript\n// plugins/my-plugin/index.js\nclass MyPlugin {\n  async activate(context) {\n    // Register custom commands\n    context.registerCommand(\"my-command\", async args => {\n      return \"Custom command executed!\";\n    });\n  }\n\n  async deactivate() {\n    // Cleanup\n  }\n}\n\nmodule.exports = MyPlugin;\n```\n\n## Skill Structure\n\nSkills created by this extension follow the standard Gemini CLI skill format:\n\n```\nmy-skill/\n├── SKILL.md         # Skill metadata and instructions (required)\n├── scripts/         # Executable scripts and tools\n├── references/      # Documentation and examples\n└── assets/          # Templates and binary resources\n```\n\n### SKILL.md Format\n\n```markdown\n---\nname: my-skill\ndescription: What this skill does and when to use it\nauthor: Your Name\nlanguage: javascript\n---\n\n# My Skill\n\nDetailed instructions for using this skill...\n\n## Usage\n\n1. When to activate this skill\n2. Required inputs\n3. Expected outputs\n4. Examples\n```\n\n## Configuration\n\nThe extension can be configured via environment variables:\n\n- `LOG_LEVEL`: Set logging level (error, warn, info, debug)\n- `NODE_ENV`: Set to 'production' to disable console logging\n- `SKILL_TEMPLATES_DIR`: Custom templates directory\n- `SKILL_CACHE_DIR`: Custom cache directory\n\n## Development\n\n### Building\n\n```bash\nnpm run build\n```\n\n### Testing\n\n```bash\nnpm test\n```\n\n### Linting\n\n```bash\nnpm run lint\n```\n\n### Project Structure\n\n```\n├── src/\n│   ├── index.ts                    # Main entry point\n│   ├── SkillCreatorExtension.ts    # Core extension class\n│   ├── commands/\n│   │   └── CommandRegistry.ts      # Command management\n│   ├── templates/\n│   │   └── SkillTemplateManager.ts # Template handling\n│   ├── plugins/\n│   │   └── PluginManager.ts        # Plugin system\n│   └── utils/\n│       ├── Logger.ts               # Logging utility\n│       └── ErrorHandler.ts         # Error handling\n├── templates/                      # Built-in templates\n├── plugins/                        # Extension plugins\n├── bin/\n│   └── skill-creator.js            # CLI interface\n├── dist/                           # Compiled output\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n\n## API Reference\n\n### SkillCreatorExtension\n\nMain class for the extension.\n\n```typescript\nconst extension = new SkillCreatorExtension(config);\n\n// Execute commands\nconst result = await extension.executeCommand(\"create-skill\", [\"my-skill\"]);\n\n// Shutdown\nawait extension.shutdown();\n```\n\n### Template Parameters\n\nTemplates support the following parameter types:\n\n- `string`: Text input\n- `number`: Numeric input\n- `boolean`: True/false values\n- `choice`: Selection from predefined options\n\n## Troubleshooting\n\n### Common Issues\n\n1. **Template not found**: Ensure the template name is correct and exists in `templates/`\n2. **Permission errors**: Check file permissions and ensure write access to skill directories\n3. **Build failures**: Ensure all dependencies are installed with `npm install`\n4. **Command not recognized**: Verify the extension is properly installed in Gemini CLI\n\n### Error Codes\n\n- `TEMPLATE_NOT_FOUND`: Specified template doesn't exist\n- `MISSING_REQUIRED_PARAMETERS`: Required parameters not provided\n- `SKILL_ALREADY_EXISTS`: Skill with that name already exists\n- `INVALID_PARAMETER_TYPE`: Parameter value doesn't match expected type\n- `FILESYSTEM_ERROR`: File system operation failed\n- `VALIDATION_ERROR`: Skill configuration validation failed\n\n### Getting Help\n\n- Check the logs in `logs/combined.log`\n- Run `skill-creator --help` for command usage\n- Use `/help` in Gemini CLI for available slash commands\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests for new functionality\n5. Submit a pull request\n\n### Development Guidelines\n\n- Follow TypeScript best practices\n- Add comprehensive tests for new features\n- Update documentation for API changes\n- Ensure cross-platform compatibility\n- Use semantic commit messages\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Changelog\n\n### v0.0.1\n\n- Initial release\n- Basic skill creation functionality\n- Template system\n- Plugin architecture\n- CLI interface\n- Cross-platform support\n",
  "bytes": 6986,
  "sha": "c2f7f3e2e41edbf3751e056819da665b37881dcae536932951a8deb46d2f73df",
  "repo_slug": "involvex/gemini-cli-skill-creator",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_involvex_gemini_cli_skill_creator_ef89baf1/readme"
}