Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
alexsmedile avatar

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)
At a glance

create-plugin capabilities & compatibility

Capabilities
plugin scaffolding · skill development
Works with
github
Use cases
documentation
Pricing
Free
From the docs

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.
SKILL.md
Scaffold a GitHub repo that works as a plugin for both Claude Code and Codex simultaneously.
SKILL.md
npx skills add https://github.com/alexsmedile/hormozi-skills --skill create-plugin

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs23
repo stars97
Last updatedJuly 8, 2026
Repositoryalexsmedile/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.mdMarkdownGitHub ↗

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 in skills/ and agents/ are auto-discovered — no paths needed in plugin.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/.gitkeep
output/.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.
Rename example-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:

RuleDetail
skills/ and agents/ at repo rootNever inside .claude-plugin/ or .codex-plugin/
Plugin name = skill namespacePlugin foo → skills run as /foo:skill-name
plugin.json is auto-discoveryNo need to list skills or agents paths unless using custom locations
Do NOT add skills/agents to marketplace.jsonCauses schema validation error with default strict: true
source: "./" in marketplace.jsonPoints 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 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:

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.

Skill Developmentagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.