Scaffold marketplace-ready Claude Code skills and plugins in seconds.
tsuba is a single-binary Go CLI that generates correct Claude Code plugin directories with .claude-plugin/plugin.json, sample skill, LICENSE, and README - then hands the result to Hanko for validation before you submit to a marketplace.
The name: 鍔 (tsuba) is the guard on a katana - the disc between blade and handle that lets a swordsman grip the blade safely and hand it off to someone else. tsuba the tool does the same thing for your plugin: makes it safe to hand off to the marketplace.
curl -fsSL https://roninforge.org/tsuba/install.sh | shOr grab a binary from the latest release. Prefer Go install:
go install github.com/RoninForge/tsuba/cmd/tsuba@latestAlso install Hanko so tsuba validate works:
curl -fsSL https://roninforge.org/hanko/install.sh | sh# Create a new plugin
tsuba new plugin my-review-tool
# Create a standalone skill
tsuba new skill code-reviewer --description "Review code for quality issues"
# Validate a plugin directory (delegates to hanko)
tsuba validate
# Check your local environment (hanko on PATH, git identity, etc.)
tsuba doctor
# See which marketplaces are supported and their quirks
tsuba list marketplacestsuba new plugin my-plugin creates:
my-plugin/
├── .claude-plugin/
│ └── plugin.json # name, description, author, version
├── skills/
│ └── hello/
│ └── SKILL.md # placeholder skill with frontmatter
├── LICENSE # MIT by default
└── README.md # installation + attribution footer
All generated JSON is kebab-case, version-stamped, and passes hanko check on the first try. Author name and email default to your git config (git config user.name, git config user.email) and can be overridden with --author and --email.
tsuba is part of RoninForge. Its siblings:
- Hanko - validate plugin manifests before submission.
- BudgetClaw - local spend monitor for Claude Code.
See CONTRIBUTING.md.
See SECURITY.md.