Skip to content

Conversation

@mikeendale
Copy link
Member

This pull request introduces a new plugin-based marketplace system for Claude Code Kit, shifting from a legacy kit installer to a modern plugin architecture with automatic framework detection and installation. The documentation (README.md) has been extensively rewritten to reflect this new approach, clarify plugin structure, and provide guidance for both users and contributors. Additionally, plugin metadata files have been added for each supported framework, and marketplace registry files are now included.

Plugin Marketplace System and Documentation Overhaul

  • Added .claude-plugin/marketplace.json to define the marketplace registry, listing all available plugins (Next.js, React, Express, Node.js, Prisma, TailwindCSS, shadcn, MUI, TanStack Query, TanStack Router) with descriptions and sources.
  • Major rewrite of README.md:
    • Updated installation instructions for the new plugin system, clarified the difference between plugins and legacy kits, and provided detailed plugin structure and contribution guidelines. [1] [2] [3] [4] [5] [6] [7]
    • Added sections on native skill activation, plugin detection, and testing, replacing legacy trigger-based activation with contextual loading based on skill descriptions. [1] [2]
    • Updated troubleshooting and help sections to reflect plugin-based workflows.

Plugin Metadata and Structure

  • Added .claude-plugin/plugin.json metadata files for each framework plugin (nextjs, react, express, nodejs, prisma, mui, shadcn), specifying name, description, version, and author. [1] [2] [3] [4] [5] [6] [7]
  • Introduced .claude-plugin/plugin.json for the main marketplace plugin, including repository and author info.

Skill Metadata Updates

  • Removed unnecessary displayName and version fields from skill YAML frontmatter in SKILL.md files to streamline metadata and align with plugin-based activation. [1] [2]

(References: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]

- Add .claude-plugin/plugin.json for marketplace compatibility
- Add marketplace.json to register all 10 framework plugins
- Add plugin.json to each framework kit (nextjs, react, express, etc.)
- Create /setup command for framework detection and plugin recommendations
- Update README with plugin-based installation instructions

This aligns the kit with Anthropic's official plugin system, enabling:
- /plugin marketplace add blencorp/claude-code-kit
- /plugin install nextjs react prisma
- /setup for automatic framework detection

The legacy claude-setup installer remains for backward compatibility.
…ending

The /setup command now detects frameworks AND installs the appropriate
plugins in one step, rather than requiring users to manually run
/plugin install after seeing recommendations.
- Add $schema reference to marketplace.json
- Add owner field with name and email
- Convert plugins array to proper objects with source, category, description
- Add email to all plugin.json author fields

Now fully compliant with https://anthropic.com/claude-code/marketplace.schema.json
Remove displayName and version from SKILL.md frontmatter to match
official Anthropic skills spec which only requires:
- name (lowercase, hyphens)
- description

Fixed files:
- cli/kits/nextjs/skills/nextjs/SKILL.md
- cli/kits/shadcn/skills/shadcn/SKILL.md
- cli/kits/tailwindcss/skills/tailwindcss/SKILL.md
- cli/core/skills/route-tester/SKILL.md

Verified against: https://github.com/anthropics/skills
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request modernizes the Claude Code Kit by introducing a plugin-based marketplace system, replacing the legacy kit installer with automatic framework detection and plugin installation capabilities. The changes include comprehensive documentation updates, new plugin metadata files, and streamlined skill metadata.

Key Changes

  • Plugin Marketplace System: Added .claude-plugin/marketplace.json registry listing 10 framework plugins (Next.js, React, Express, Node.js, Prisma, TailwindCSS, shadcn, MUI, TanStack Query, TanStack Router) with standardized metadata and source paths
  • Automatic Detection Command: Introduced /setup command (commands/setup.md) that detects project frameworks by analyzing package.json and config files, then automatically installs appropriate plugins
  • Documentation Overhaul: Extensively rewrote README.md to reflect plugin architecture, clarify installation paths (plugin system vs legacy), explain native skill activation, and provide plugin contribution guidelines

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
.claude-plugin/plugin.json Main plugin metadata defining the marketplace plugin itself with name, description, version, and repository
.claude-plugin/marketplace.json Marketplace registry defining all 10 available framework plugins with descriptions and source paths
commands/setup.md New command for automatic framework detection and plugin installation with detection rules for each supported framework
README.md Major rewrite covering plugin installation, structure, native skill activation, contribution guidelines, and updated terminology from "kits" to "plugins"
cli/kits/*/plugin.json Added plugin metadata files for each framework (nextjs, react, express, nodejs, prisma, mui, shadcn, tailwindcss, tanstack-query, tanstack-router)
cli/kits/*/skills/*/SKILL.md Removed displayName and version fields from YAML frontmatter to streamline skill metadata
cli/core/skills/route-tester/SKILL.md Removed displayName field from skill metadata for consistency

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

},
{
"name": "react",
"description": "React 18+ hooks, Suspense, lazy loading, TypeScript patterns",
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

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

Version inconsistency: The marketplace.json describes React as "React 18+" but the corresponding SKILL.md file and README table describe it as React 19 patterns. These should be aligned for consistency.

Recommendation: Update to "React 19" if the skill targets React 19 specifically, or update other documentation to say "React 18+" if backward compatibility is intended.

Suggested change
"description": "React 18+ hooks, Suspense, lazy loading, TypeScript patterns",
"description": "React 19 hooks, Suspense, lazy loading, TypeScript patterns",

Copilot uses AI. Check for mistakes.
### Frontend Kits
### Frontend Plugins

| Kit | Description | Documentation |
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

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

Inconsistent terminology: The table header uses "Kit" but the section is titled "Frontend Plugins" and the PR is moving to plugin-based terminology. The header should say "Plugin" instead of "Kit" to maintain consistency throughout the documentation.

Copilot uses AI. Check for mistakes.
### Backend Kits
### Backend Plugins

| Kit | Description | Documentation |
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

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

Inconsistent terminology: The table header uses "Kit" but the section is titled "Backend Plugins" and the PR is moving to plugin-based terminology. The header should say "Plugin" instead of "Kit" to maintain consistency throughout the documentation.

Copilot uses AI. Check for mistakes.
- `package.json` containing `"express"` dependency

**Node.js** (`nodejs` plugin) - Check for:
- `package.json` with `"type": "module"` and a backend framework
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

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

Ambiguous detection rule: The Node.js detection requires "a backend framework" but doesn't specify what qualifies. Should this clarify which backend frameworks count (e.g., Express, Fastify, Koa) or provide a more specific detection pattern?

Recommendation: Either list specific backend frameworks to check for, or provide a clearer detection command that can be executed.

Suggested change
- `package.json` with `"type": "module"` and a backend framework
- `package.json` with `"type": "module"` and at least one of the following backend frameworks as a dependency: `"express"`, `"fastify"`, `"koa"`, `"hapi"`, `"nestjs"`, `"sails"`, `"restify"`, `"micro"`, `"feathers"`, `"loopback"`, `"adonisjs"`

Copilot uses AI. Check for mistakes.
"description": "Complete description including keywords Claude uses to activate this skill contextually. Mention key concepts, APIs, and use cases.",
"version": "1.0.0",
"author": {
"name": "your-name"
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

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

Incomplete documentation: The example plugin.json format only shows name in the author object, but the actual plugin.json files in the repository (e.g., .claude-plugin/plugin.json) also include an email field. Consider documenting this optional field for completeness.

Example:

"author": {
  "name": "your-name",
  "email": "your-email@example.com"  // optional
}
Suggested change
"name": "your-name"
"name": "your-name",
"email": "your-email@example.com" // optional

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,9 @@
{
"name": "react",
"description": "React 18+ patterns including hooks (useState, useEffect, useContext, useReducer, useMemo, useCallback), Suspense, lazy loading, error boundaries, and TypeScript integration.",
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

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

Version inconsistency: The plugin.json and marketplace.json describe this as "React 18+" patterns, but the SKILL.md file and README table describe it as React 19 patterns. These should be aligned for consistency.

Recommendation: Update the plugin.json and marketplace.json to say "React 19" if the skill indeed targets React 19, or update the SKILL.md to say "React 18+" if backward compatibility is intended.

Suggested change
"description": "React 18+ patterns including hooks (useState, useEffect, useContext, useReducer, useMemo, useCallback), Suspense, lazy loading, error boundaries, and TypeScript integration.",
"description": "React 19 patterns including hooks (useState, useEffect, useContext, useReducer, useMemo, useCallback), Suspense, lazy loading, error boundaries, and TypeScript integration.",

Copilot uses AI. Check for mistakes.
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.

3 participants