Use when creating a new plugin — generates the full directory structure, plugin.json, SKILL.md template with correct frontmatter, and optional hooks/
How this skill is triggered — by the user, by Claude, or both
Slash command
/skill-factory-toolkit:sft-scaffold-pluginThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a complete, valid plugin directory structure so you never create plugin files from memory.
Generate a complete, valid plugin directory structure so you never create plugin files from memory.
When asked to create a new plugin, generate this exact structure:
plugins/<plugin-name>/
├── .claude-plugin/
│ └── plugin.json
├── skills/
│ └── <skill-name>/
│ └── SKILL.md
├── CHANGELOG.md
{
"name": "<plugin-name>",
"description": "<one-line description of the plugin>",
"version": "0.1.0"
}
Required fields: name, description, version. Version starts at 0.1.0 for new plugins. The name field MUST match the plugin directory name.
---
name: <skill-name>
description: Use when <triggering conditions only — never summarize the workflow>
---
# <Skill Title>
<Core principle in 1-2 sentences.>
## When to Use
- <Symptom or triggering condition>
- NOT for <explicit exclusion>
## <Core Section>
<Skill content — checklists, patterns, reference material, code examples as appropriate>
## Common Mistakes
- <What goes wrong> → <Fix>
# Changelog
## [0.1.0] - YYYY-MM-DD
### Added
- <skill-name> skill for <brief purpose>
Only create if the plugin needs session hooks. Structure:
{
"hooks": {
"<HookType>": [
{
"matcher": "<pattern>",
"hooks": [
{
"type": "command",
"command": "<command>",
"async": false
}
]
}
]
}
}
bin/validate-plugin plugins/<plugin-name> to confirm the structure is valid| Field | Location | Rule |
|---|---|---|
| plugin name | plugin.json name | Must match directory name |
| plugin version | plugin.json version | Start at 0.1.0, semver |
| skill name | SKILL.md frontmatter name | Kebab-case, match directory |
| skill description | SKILL.md frontmatter description | Starts with "Use when", triggering conditions only |
| changelog | CHANGELOG.md | Keep a Changelog format, entry for every version |
npx claudepluginhub steltz/skill-factory --plugin skill-factory-toolkitCreates Claude Code plugin directory structure with .claude-plugin/plugin.json manifest and optional components like commands, agents, skills, hooks, MCP servers, scripts. Use when building a new plugin from scratch.
Guides creation, modification, and debugging of Claude Code plugins with schemas, templates, checklists, validation workflows, and troubleshooting. Activates on .claude-plugin/, plugin.json, commands/, skills/, hooks/.
Scaffolds Claude Code plugin packages: gathers requirements, creates directory structure, generates manifest, adds initial skill and README, tests installation. Triggers on 'create plugin', 'new plugin', 'scaffold plugin'.