A catalog of Claude Code plugins from rent-the-toby.com. Add the marketplace once, then install any of the plugins below.
| Plugin | Description | Docs |
|---|---|---|
tce |
Context-engineering development workflow (ticket → research → plan → implement), plus review, discussion, and design-exploration commands and a set of research subagents. Works with any ticket system (tmt, GitHub Issues, Jira, Linear, custom). | plugins/tce/README.md |
tmt |
Toby Markdown Tickets — a lightweight, Git-tracked ticket tracker: tickets as markdown files in your repo, with guided creation, sequential numbering, and status-lifecycle hooks. Works standalone; tce's native ticket backend. |
plugins/tmt/README.md |
# Add the marketplace (once per machine). A git URL or local path also work.
/plugin marketplace add tobyS/toby-pluginsThen install a plugin from it — see each plugin's docs for the exact command (e.g.
tce):
/plugin install tce@toby-plugins/plugin marketplace update toby-pluginsInstalled plugins move to a new version when you refresh the marketplace.
This section is for developers working on the plugins in this repository; users installing a plugin don't need any of it.
Two names, kept distinct:
toby-pluginsis the marketplace (the catalog you add); a plugin (e.g.tce) is what you install from it, using<plugin>@toby-plugins.
tobyS/toby-plugins is the repo's GitHub location (owner + repo). The repo name
matches the marketplace name in .claude-plugin/marketplace.json (toby-plugins)
by design, so the same string appears in both marketplace add …/toby-plugins and in
install <plugin>@toby-plugins.
This is a monorepo marketplace: the marketplace lives at the repo root and lists
plugins that live under plugins/. Adding another plugin is a new plugins/<name>/
directory plus an entry in marketplace.json.
.claude-plugin/marketplace.json # the marketplace (name: toby-plugins) — lists the plugins
plugins/
├── tce/ # the tce plugin (CLAUDE_PLUGIN_ROOT points here once installed)
│ ├── .claude-plugin/plugin.json # plugin manifest (name: tce, version)
│ ├── README.md # the tce plugin docs
│ ├── commands/ # the /tce:* slash commands
│ ├── agents/ # research subagents
│ ├── hooks/hooks.json # SessionStart init nudge
│ ├── scripts/ # lib.sh, ticket.sh (thoughts lookup), check-init.sh
│ └── templates/tce/ # skeletons /tce:init copies into a project (profile.md, tickets.md, design-system.md)
└── tmt/ # the tmt plugin (Toby Markdown Tickets)
├── .claude-plugin/plugin.json # plugin manifest (name: tmt, version)
├── README.md # the tmt plugin docs
├── commands/ # /tmt:init, /tmt:create, /tmt:update, /tmt:list
├── hooks/hooks.json # ticket-status PostToolUse hooks
├── scripts/ # lib.sh, next-ticket.sh, open_tickets.sh + hook scripts
└── templates/tmt/ # config skeleton /tmt:init copies into a project
All plugin-internal references use ${CLAUDE_PLUGIN_ROOT}/... (the plugin dir), so they
are unaffected by where the plugin sits in the repo.
Updates are gated per plugin by its version (in the plugin's plugin.json, mirrored
in the marketplace entry), so projects only move when a plugin is bumped.
claude plugin validate . # validate the marketplace (+ the plugins it lists)
claude plugin validate ./plugins/tce # validate a single plugin (same for ./plugins/tmt)
# bump "version" in plugins/<name>/.claude-plugin/plugin.json AND the matching entry in
# .claude-plugin/marketplace.json, then:
claude plugin tag ./plugins/tce # create the <name>--v<version> release tagProvided as-is. Adapt freely to your needs.