Skip to content

docs: document the Claude Code plugin install route - #15

Merged
amondnet merged 2 commits into
mainfrom
docs/plugin-install
Sep 14, 2026
Merged

amondnet merged 2 commits into
mainfrom
docs/plugin-install

Conversation

@amondnet

@amondnet amondnet commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

The catalog entry this depends on, pleaseai/claude-code-plugins#270, is merged (513e0cf), so every command documented below resolves.

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.

  • README ## Install now covers both channels: /plugin marketplace add + /plugin install, the claude plugin CLI equivalents, and the .claude/settings.json form for pinning per project. The npx skills route keeps its own section, and a short table says which to pick.
  • .claude-plugin/plugin.json name: @pleaseai/springspring.

Why the rename

claude plugin validate on this repo:

❯ name: Plugin name "@pleaseai/spring" is not kebab-case. Claude Code accepts it,
  but the Claude.ai marketplace sync requires kebab-case (lowercase letters,
  digits, and hyphens only, e.g., "my-plugin").

Every entry in pleaseai/claude-code-plugins uses a plain name, and the three github-sourced ones I checked (ask, run-verify, firebase) carry that same plain name in their own plugin.json. The npm package keeps @pleaseai/spring — only the plugin identifier changes.

Nothing referenced the old plugin name: the other @pleaseai/spring occurrences are package.json, prose, and .please/ track documents.

Why spring@pleaseai resolves

The marketplace name comes from the catalog's own name field, not from the repository name. pleaseai/claude-code-plugins declares:

{ "$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's main after #270 merged: the spring entry is present with source: { "source": "github", "repo": "pleaseai/spring-plugin" }.

Note on the comparison table

Both channels run the same committed .mjs bundles under node — the skill addresses them through ${CLAUDE_SKILL_DIR} and needs nothing above its own directory, per the "skill directory is self-contained" invariant in ARCHITECTURE.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 spring so the plugin can be listed in the Claude.ai marketplace.

  • The ## Install section now covers /plugin marketplace add and /plugin install, the claude plugin CLI equivalents, and the .claude/settings.json form for per-project pinning.
  • The npx skills route keeps its own section with a short table comparing agent coverage and update commands.
  • claude plugin validate rejects the old @pleaseai/spring name because it isn't kebab-case; the npm package keeps its scoped name.

Written for commit 5f35397. Summary will update on new commits.

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.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread README.md
Comment thread README.md Outdated
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@greptile-apps

greptile-apps Bot commented Sep 14, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

The PR is not safe to merge as written because its newly documented Claude Code installation routes reference an unavailable marketplace entry.

Fix All in Claude CodeFindings

  1. P1 Marketplace entry is missing
Fix with agent prompt
### Issue 1
README.md:20-21
The documented marketplace does not currently register a `spring` plugin or a source for `pleaseai/spring-plugin`. As a result, adding the marketplace and running `/plugin install spring@pleaseai` cannot resolve the plugin. The CLI commands and project settings below depend on the same missing catalog entry, so every newly documented plugin installation route is unusable until the marketplace registration is published.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

  • The manifest rename separates the Claude plugin identity from the scoped npm package name.
  • The new plugin installation instructions currently reference a marketplace entry that has not been registered, so those routes cannot yet install the plugin.
  • The existing standalone npx skills route remains documented alongside a channel comparison.

Reviews (1) · Last reviewed commit: "docs: document the Claude Code plugin in..."

Comment thread README.md

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Loading

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread README.md
Comment thread README.md
Applies a gemini-code-assist review finding on #15. The `npx skills` column
started lowercase while the `Plugin` column beside it started uppercase.
@sonarqubecloud

Copy link
Copy Markdown

@amondnet
amondnet merged commit d11b99c into main Sep 14, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant