
Create Plugin
- 23 installs
- 97 repo stars
- Updated July 8, 2026
- alexsmedile/hormozi-skills
Create-plugin is a Claude Code skill that scaffolds a GitHub repo working as both a Claude Code and Codex plugin, with marketplace, skills, agents, hooks, and MCP config.
About
Create-plugin scaffolds a GitHub repo that works as both a Claude Code and Codex plugin with marketplace support. It gathers repo name, owner, description, and contents, then outputs ready-to-copy file contents for plugin.json, marketplace.json, skills, agents, hooks, and .mcp.json plus git and install commands. A developer uses it to publish skills as an installable plugin.
- Scaffolds a repo that works as both a Claude Code and Codex plugin
- Generates plugin.json, marketplace.json, skills, agents, hooks, and .mcp.json
- Includes git setup and install/reload commands
Create Plugin by the numbers
- 23 all-time installs (skills.sh)
- Ranked #442 of 782 Skill Development skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
create-plugin capabilities & compatibility
- Capabilities
- plugin scaffolding · skill development
- Works with
- github
- Use cases
- documentation
- Pricing
- Free
What create-plugin says it does
Scaffolds the complete file structure for a repo that works as both a Claude Code and Codex plugin with marketplace support.
Scaffold a GitHub repo that works as a plugin for both Claude Code and Codex simultaneously.
npx skills add https://github.com/alexsmedile/hormozi-skills --skill create-pluginAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 23 |
|---|---|
| repo stars | ★ 97 |
| Last updated | July 8, 2026 |
| Repository | alexsmedile/hormozi-skills ↗ |
What it does
Scaffold a GitHub repo that works as both a Claude Code and Codex plugin, with marketplace, skills, agents, hooks, and MCP config.
Who is it for?
developers publishing skills or agents as an installable Claude Code / Codex plugin
Skip if: sales, marketing, or offer work
When should I use this skill?
when the user asks to create a plugin, make a GitHub plugin, turn a repo into a plugin, publish skills as a plugin, or set up a plugin marketplace
What you get
A ready-to-push repo scaffold that installs as a Claude Code and Codex plugin with marketplace support.
- plugin.json and marketplace.json for Claude Code and Codex
- skills/agents/hooks/.mcp.json scaffolds
- git setup and install commands
By the numbers
- 5-step scaffolding flow (gather inputs, generate structure, critical rules, git setup, after install)
Files
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
{
"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 inskills/andagents/are auto-discovered — no paths needed inplugin.json.
.claude-plugin/marketplace.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
{
"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
{
"name": "{{repo-name}}",
"interface": {
"displayName": "{{repo-name}}"
},
"plugins": [
{
"name": "{{repo-name}}",
"source": {
"source": "local",
"path": "./"
},
"category": "Productivity"
}
]
}.gitignore
.DS_Store
**/.DS_Store
output/*
!output/.gitkeepoutput/.gitkeep
Empty file — keeps the output/ folder tracked by git.
---
If skills selected: skills/example-skill/SKILL.md
---
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.Renameexample-skill/to your actual skill name. Skill is invoked as/{{repo-name}}:example-skill.
---
If agents selected: agents/example-agent.md
---
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
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "echo 'File changed'"
}
]
}
]
}
}---
If MCP servers selected: .mcp.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:
# 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 mainInstall in Claude Code:
/plugin marketplace add {{username}}/{{repo-name}}
/plugin install {{repo-name}}@{{repo-name}}Reload after changes:
/reload-pluginsTest locally without installing:
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.
Related skills
FAQ
What does create-plugin scaffold?
A repo that works as both a Claude Code and Codex plugin, with plugin.json, marketplace.json, skills, agents, hooks, and .mcp.json plus git and install commands.
Where do skills and agents go?
At the repo root in skills/ and agents/, never inside .claude-plugin/ or .codex-plugin/; the plugin name becomes the skill namespace.