Keep · infra SKILL.md
GitHub plugin marketplace so skills leave one laptop
WhenUse when a team needs /plugin marketplace add org/repo so skills version together.
StopNever put skills inside .claude-plugin/. Never ship invalid JSON. Never skip a real example before push.
Steps
- Shape: .claude-plugin/marketplace.json at repo root; plugins/<plugin>/.claude-plugin/plugin.json; skills at plugins/<plugin>/skills/<skill>/SKILL.md. Never put skills inside .claude-plugin/.
- Keep version identical in both manifests. Invalid JSON breaks install for the whole team.
- Write the skill description for a stranger: trigger situations, user phrasings, what it returns. Vague “reviews code” will not auto-invoke.
- Local test before push: /plugin marketplace add /path/to/repo → /plugin install <plugin>@<marketplace> --scope user → /reload-plugins after edits → run a real example.
- Teammates: /plugin marketplace add org/repo then /plugin install <plugin>@<marketplace> --scope user. Optional: commit .claude/settings.json so a project auto-enables the plugin.
- Ops bar: one skill per PR, bump both versions on every user-facing change, no bump = no update. Harvest misses from an external review tool back into the skill.
Loadmarketplace.json + plugin.json. GitHub repo. /plugin install.
--- name: GitHub plugin marketplace so skills leave one laptop description: Use when a team needs /plugin marketplace add org/repo so skills version together. --- # GitHub plugin marketplace so skills leave one laptop When: Use when a team needs /plugin marketplace add org/repo so skills version together. Stop: Never put skills inside .claude-plugin/. Never ship invalid JSON. Never skip a real example before push. 1. Shape: .claude-plugin/marketplace.json at repo root; plugins/<plugin>/.claude-plugin/plugin.json; skills at plugins/<plugin>/skills/<skill>/SKILL.md. Never put skills inside .claude-plugin/. 2. Keep version identical in both manifests. Invalid JSON breaks install for the whole team. 3. Write the skill description for a stranger: trigger situations, user phrasings, what it returns. Vague “reviews code” will not auto-invoke. 4. Local test before push: /plugin marketplace add /path/to/repo → /plugin install <plugin>@<marketplace> --scope user → /reload-plugins after edits → run a real example. 5. Teammates: /plugin marketplace add org/repo then /plugin install <plugin>@<marketplace> --scope user. Optional: commit .claude/settings.json so a project auto-enables the plugin. 6. Ops bar: one skill per PR, bump both versions on every user-facing change, no bump = no update. Harvest misses from an external review tool back into the skill. Load: marketplace.json + plugin.json. GitHub repo. /plugin install.
