Installation
The plugin lives at packages/claude-plugin-arcade-ecs/ inside the bjsm monorepo. Claude Code installs it directly from that path — there's no npm package to fetch.
From GitHub
claude plugin add github:babylonjsmarket/claude-plugin-arcade-ecs
This fetches the plugin at HEAD. Pin to a specific commit if you want a frozen version:
claude plugin add github:babylonjsmarket/claude-plugin-arcade-ecs#abc1234
After installation, both skills (arcade-ecs:ecs-api and arcade-ecs:scaffold-ecs) are available in every Claude Code session, in every project.
Local development
If you're working inside the bjsm monorepo, load the plugin from disk so edits to its skills show up immediately:
claude --plugin-dir packages/claude-plugin-arcade-ecs
The --plugin-dir flag takes precedence over any installed copy with the same name. Edit SKILL.md or a template; run /reload-plugins to pick up the changes without restarting Claude Code.
Verifying it loaded
In a Claude Code session, ask:
what skills are available
You should see arcade-ecs:ecs-api and arcade-ecs:scaffold-ecs in the list. Skills load by description, so you don't have to type the namespaced names directly — describing what you want is enough.
Updating
claude plugin add is also the update path. Re-running it pulls the latest HEAD of the plugin path:
claude plugin add github:babylonjsmarket/claude-plugin-arcade-ecs
When the framework adds new lifecycle hooks or deprecates an old API, the plugin's ecs-api skill is updated in the same PR. Pulling the latest plugin gives you the new conventions immediately, across every project where it's installed.
Uninstalling
claude plugin remove arcade-ecs
The plugin name (set in .claude-plugin/plugin.json) is arcade-ecs, even though the package path is claude-plugin-arcade-ecs. The shorter name is what plugin remove and the skill namespace use.
