docs: document the Claude Code plugin install route - #15
Conversation
The README offered one install route and said the plugin one had no marketplace entry. It now documents both: `/plugin marketplace add` plus `/plugin install`, the `claude plugin` equivalents, and the `.claude/settings.json` form for pinning it per project. Renames the plugin manifest to `spring`. `claude plugin validate` warns that `@pleaseai/spring` is not kebab-case and that the Claude.ai marketplace sync requires kebab-case, so the old name could not be listed. The npm package keeps its scoped name; only the plugin identifier changes.
There was a problem hiding this comment.
Code Review
This pull request updates the plugin name in .claude-plugin/plugin.json and expands the README.md with detailed installation instructions for using the tool as a Claude Code plugin or a standalone skill, including a comparison table. The review feedback suggests correcting the agent name 'Codex' to 'VS Code' in the documentation and fixing inconsistent capitalization within the comparison table.
Up to standards ✅🟢 Issues
|
|
There was a problem hiding this comment.
All reported issues were addressed across 2 files
Architecture diagram
sequenceDiagram
participant User as Developer
participant CLI as Claude Code CLI
participant Session as Claude Code Session
participant Market as Marketplace (GitHub)
participant Plugin as Plugin Manager
participant SkillDir as spring-docs Skill Directory
participant SkillsCLI as skills CLI (npx)
participant Agent as Other Agents (Cursor/Codex)
Note over User,Agent: Two Install Routes for the Same Skill
alt Plugin Route (NEW)
User->>CLI: claude plugin marketplace add pleaseai/claude-code-plugins
CLI->>Market: Fetch marketplace index
Market-->>CLI: Marketplace registered
User->>CLI: claude plugin install spring@pleaseai
CLI->>Plugin: Install plugin (name: spring)
Plugin->>SkillDir: Load spring-docs skill
SkillDir-->>Plugin: Skill available
Plugin-->>CLI: Plugin installed
CLI-->>User: Done
User->>Session: Use /plugin commands
Session->>Plugin: /plugin update spring@pleaseai
Plugin->>SkillDir: Update skill
else Standalone Route
User->>SkillsCLI: npx skills add pleaseai/spring-plugin
SkillsCLI->>SkillDir: Copy skill directory
Note over SkillDir: Self-contained .mjs bundles (runs with node)
SkillsCLI-->>User: Installed
alt Agent is Claude Code
SkillDir-->>Session: Skill available via CLAUDE_SKILL_DIR
else Agent is Cursor/Codex
SkillDir-->>Agent: Skill available
end
end
Note over SkillDir: Both routes use same skill implementation
alt Per-Project Pinning (NEW)
User->>Session: Configure .claude/settings.json
Session->>Plugin: extraKnownMarketplaces + enabledPlugins
Plugin->>Market: Resolve spring@pleaseai
Plugin->>SkillDir: Load spring-docs skill (pinned)
end
Note over Plugin,Market: Plugin name changed to kebab-case "spring" for marketplace sync
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Applies a gemini-code-assist review finding on #15. The `npx skills` column started lowercase while the `Plugin` column beside it started uppercase.
|



What
Documents the Claude Code plugin install route in the README, which previously said there was no marketplace entry, and renames the plugin manifest so there can be one.
## Installnow covers both channels:/plugin marketplace add+/plugin install, theclaude pluginCLI equivalents, and the.claude/settings.jsonform for pinning per project. Thenpx skillsroute keeps its own section, and a short table says which to pick..claude-plugin/plugin.jsonname:@pleaseai/spring→spring.Why the rename
claude plugin validateon this repo:Every entry in
pleaseai/claude-code-pluginsuses a plain name, and the threegithub-sourced ones I checked (ask,run-verify,firebase) carry that same plain name in their ownplugin.json. The npm package keeps@pleaseai/spring— only the plugin identifier changes.Nothing referenced the old plugin name: the other
@pleaseai/springoccurrences arepackage.json, prose, and.please/track documents.Why
spring@pleaseairesolvesThe marketplace name comes from the catalog's own
namefield, not from the repository name.pleaseai/claude-code-pluginsdeclares:{ "$schema": "...", "name": "pleaseai", "homepage": "https://github.com/pleaseai/claude-code-plugins", ... }so a marketplace added from that repo registers as
pleaseai. Verified on that repository'smainafter #270 merged: thespringentry is present withsource: { "source": "github", "repo": "pleaseai/spring-plugin" }.Note on the comparison table
Both channels run the same committed
.mjsbundles undernode— the skill addresses them through${CLAUDE_SKILL_DIR}and needs nothing above its own directory, per the "skill directory is self-contained" invariant inARCHITECTURE.md. The table therefore differs only on agent coverage and update command.Summary by cubic
Documents the Claude Code plugin install route in the README, which previously said there was no marketplace entry, and renames the plugin manifest to
springso the plugin can be listed in the Claude.ai marketplace.## Installsection now covers/plugin marketplace addand/plugin install, theclaude pluginCLI equivalents, and the.claude/settings.jsonform for per-project pinning.npx skillsroute keeps its own section with a short table comparing agent coverage and update commands.claude plugin validaterejects the old@pleaseai/springname because it isn't kebab-case; the npm package keeps its scoped name.Written for commit 5f35397. Summary will update on new commits.