Skip to main content

create-plugin

This skill should be used when the user asks to "create a plugin", "make a GitHub plugin", "turn my repo into a plugin", "create a Claude Code plugin", "create a Codex plugin", "publish my skills as a plugin", or "set up a plugin marketplace". Scaffolds the complete file structure for a repo that works as both a Claude Code and Codex plugin with marketplace support.

Zur Installation springen

Quellinformationen

Repository
alexsmedile/hormozi-skills
Letzte Quellaktivität
15. April 2026 um 12:22
Erkannte Sprache von SKILL.md
Englisch
Sterne
174
Forks
33

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
create-plugin
description
This skill should be used when the user asks to "create a plugin", "make a GitHub plugin", "turn my repo into a plugin", "create a Claude Code plugin", "create a Codex plugin", "publish my skills as a plugin", or "set up a plugin marketplace". Scaffolds the complete file structure for a repo that works as both a Claude Code and Codex plugin with marketplace support.
# Skill: Plugin Creator (Claude Code + Codex) ## Purpose Scaffold a GitHub repo that works as a plugin for both Claude Code and Codex simultaneously. Outputs ready-to-copy file contents and git commands for every required file. --- ## Step 1: Gather Inputs Ask the user these questions (all at once): 1. **Repo name** — kebab-case (e.g. `my-skills`) 2. **GitHub username or org** — (e.g. `alexsmedile`) 3. **Plugin description** — one sentence 4. **Author name** 5. **What does this plugin contain?** — pick all that apply: - Skills (`skills/`) - Agents (`agents/`) - Hooks (`hooks/hooks.json`) - MCP servers (`.mcp.json`) 6. **License** — default: `MIT` Do not proceed until you have at least: repo name, GitHub username, description, and author name. --- ## Step 2: Generate File Structure Show the full directory tree based on their selections, then output every file's content ready to copy. ### Always-required files #### `.claude-plugin/plugin.json` ```json { "name": "{{repo-name}}", "version": "1.0.0", "description": "{{description}}", "author": { "name": "{{author}}" }, "homepage": "https://github.com/{{username}}/{{repo-name}}", "repository": "https://github.com/{{username}}/{{repo-name}}", "license": "{{license}}", "keywords": [] } ``` > Skills and agents in `skills/` and `agents/` are auto-discovered — no paths needed in `plugin.json`. #### `.claude-plugin/marketplace.json` ```json { "name": "{{repo-name}}", "owner": { "name": "{{author}}" }, "metadata": { "description": "{{description}}", "version": "1.0.0" }, "plugins": [ { "name": "{{repo-name}}", "source": "./", "description": "{{description}}", "version": "1.0.0", "author": { "name": "{{author}}" }, "homepage": "https://github.com/{{username}}/{{repo-name}}", "repository": "https://github.com/{{username}}/{{repo-name}}", "license": "{{license}}", "category": "productivity" } ] } ``` #### `.codex-plugin/plugin.json` ```json { "name": "{{repo-name}}", "version": "1.0.0", "description": "{{description}}", "author": { "name": "{{author}}" }, "homepage": "https://github.com/{{username}}/{{repo-name}}", "repository": "https://github.com/{{username}}/{{repo-name}}", "license": "{{license}}", "skills": "./skills/" } ``` #### `.codex-plugin/marketplace.json` ```json { "name": "{{repo-name}}", "interface": { "displayName": "{{repo-name}}" }, "plugins": [ { "name": "{{repo-name}}", "source": { "source": "local", "path": "./" }, "category": "Productivity" } ] } ``` #### `.gitignore` ``` .DS_Store **/.DS_Store output/* !output/.gitkeep ``` #### `output/.gitkeep` Empty file — keeps the `output/` folder tracked by git. --- ### If skills selected: `skills/example-skill/SKILL.md` ```markdown --- name: example-skill description: Replace this description with specific trigger phrases. Use when the user asks to "..." --- # Skill: Example Describe what this skill does and how to use it. ``` > Rename `example-skill/` to your actual skill name. Skill is invoked as `/{{repo-name}}:example-skill`. --- ### If agents selected: `agents/example-agent.md` ```markdown --- name: example-agent description: Replace with what this agent does and when to invoke it. tools: Read, Write, Bash model: sonnet --- # Agent: Example Describe the agent's role, expertise, and behavior here. ``` > Rename to your actual agent name. --- ### If hooks selected: `hooks/hooks.json` ```json { "hooks": { "PostToolUse": [ { "matcher": "Write|Edit", "hooks": [ { "type": "command", "command": "echo 'File changed'" } ] } ] } } ``` --- ### If MCP servers selected: `.mcp.json` ```json { "mcpServers": { "example-server": { "command": "${CLAUDE_PLUGIN_ROOT}/bin/server", "args": [] } } } ``` --- ## Step 3: Critical Rules State these clearly before the user creates any files: | Rule | Detail | |------|--------| | `skills/` and `agents/` at **repo root** | Never inside `.claude-plugin/` or `.codex-plugin/` | | Plugin name = skill namespace | Plugin `foo` → skills run as `/foo:skill-name` | | `plugin.json` is auto-discovery | No need to list `skills` or `agents` paths unless using custom locations | | Do NOT add `skills`/`agents` to `marketplace.json` | Causes schema validation error with default `strict: true` | | `source: "./"` in marketplace.json | Points at repo root — correct for single-plugin repos | --- ## Step 4: Git Setup + Install Commands Output these exactly, substituting the user's values: ```bash # Create repo (if not exists) gh repo create {{username}}/{{repo-name}} --public # Init and push git init git add . git commit -m "feat: initial plugin scaffold" git remote add origin https://github.com/{{username}}/{{repo-name}}.git git push -u origin main ``` **Install in Claude Code:** ``` /plugin marketplace add {{username}}/{{repo-name}} /plugin install {{repo-name}}@{{repo-name}} ``` **Reload after changes:** ``` /reload-plugins ``` **Test locally without installing:** ```bash claude --plugin-dir ./ ``` --- ## Step 5: After Install Skills are namespaced: `/{{repo-name}}:skill-name` Agents appear in `/agents` To update: push to GitHub, then `/plugin marketplace update {{repo-name}}` Bump `version` in `plugin.json` and `marketplace.json` with each release — Claude Code uses version to detect updates.
Auf GitHub ansehen