Skill

Plugin Scaffolding Knowledge

Install
1
Install the plugin
$
npx claudepluginhub lunarmoon26/star-digital-employee --plugin architect

Want just this skill?

Add to a custom plugin, then install with one command.

Description

Schema knowledge for scaffolding Claude Code plugins with marketplace.json and plugin.json validation. Use when creating new plugins, validating plugin structure, or registering plugins in the marketplace.

Tool Access

This skill uses the workspace's default tool permissions.

Supporting Assets
View in Repository
references/marketplace-schema.md
references/plugin-schema.md
Skill Content

Plugin Scaffolding Knowledge

This skill provides verified schema information for scaffolding Claude Code plugins in the star-digital-employee project. All field definitions are derived from existing, working entries - never add fields not documented here.

Project Folder Structure

Plugins in this project live in two locations:

LocationPurposeExample
plugins/First-party plugins created for this collectiondeveloper, researcher, sample-plugin
external_plugins/Third-party or forked pluginsdeepwiki

When scaffolding a new plugin, always ask the user which folder is appropriate:

  • plugins/: For new plugins being developed as part of this collection
  • external_plugins/: For plugins forked from external sources or third-party integrations

Plugin Directory Structure

Every plugin follows this structure:

[plugin-name]/
├── .claude-plugin/
│   └── plugin.json          # Required: Plugin manifest
├── commands/                 # Optional: Slash commands
│   └── *.md
├── skills/                   # Optional: Skill definitions
│   └── [skill-name]/
│       └── SKILL.md
├── agents/                   # Optional: Subagent definitions
│   └── *.md
├── hooks/                    # Optional: Event hooks
│   └── *.md
└── README.md                 # Recommended: Documentation

Plugin Naming Conventions

ElementConventionExample
Plugin namekebab-casemy-awesome-plugin
Folder nameSame as plugin namemy-awesome-plugin/
VersionSemantic versioning0.1.0, 1.2.3
Command fileskebab-casescaffold-plugin.md
Skill folderskebab-caseplugin-scaffolding/

Schema: plugin.json

The plugin manifest is located at [plugin-name]/.claude-plugin/plugin.json.

Verified Fields

FieldTypeRequiredDescription
namestringYesUnique plugin identifier in kebab-case
versionstringRecommendedSemantic version (e.g., "0.1.0")
descriptionstringRecommendedBrief description of plugin purpose
authorobjectOptionalAuthor information
author.namestringYes (if author)Author's display name
author.emailstringOptionalAuthor's email address
keywordsarrayOptionalArray of keyword strings for discoverability

Example plugin.json

{
  "name": "my-plugin",
  "version": "0.1.0",
  "description": "A helpful plugin that does useful things",
  "author": {
    "name": "Haochuan Zhang",
    "email": "jackchang26@gmail.com"
  },
  "keywords": ["utility", "automation", "productivity"]
}

Schema: marketplace.json

The marketplace registry is at .claude-plugin/marketplace.json in the project root.

Verified Fields for Plugin Entries

FieldTypeRequiredDescription
namestringYesMust match plugin.json name
descriptionstringYesCan differ from plugin.json (marketplace-specific)
versionstringYesMust match plugin.json version
sourcestring or objectYesPath to plugin (e.g., "./plugins/my-plugin")
categorystringYesOne of: development, research, productivity, example, integration
authorobjectOptionalAuthor information
author.namestringYes (if author)Author's display name
author.emailstringOptionalAuthor's email address
homepagestringOptionalURL to plugin documentation/repo

Valid Categories

  • development: Developer tools, coding aids, build helpers
  • research: Research methodologies, literature review, knowledge synthesis
  • productivity: Task management, workflow automation, personal efficiency
  • example: Sample/demo plugins for learning
  • integration: External service integrations, MCP servers

Example Marketplace Entry

{
  "name": "my-plugin",
  "description": "A helpful plugin that does useful things",
  "version": "0.1.0",
  "author": {
    "name": "Haochuan Zhang",
    "email": "jackchang26@gmail.com"
  },
  "source": "./plugins/my-plugin",
  "category": "productivity",
  "homepage": "https://github.com/lunarmoon26/star-digital-employee/tree/main/plugins/my-plugin"
}

Validation Rules

Name Validation

  • Must be kebab-case (lowercase letters, numbers, hyphens)
  • Must be unique across all marketplace entries
  • Must match between plugin.json and marketplace.json

Version Validation

  • Must follow semantic versioning: MAJOR.MINOR.PATCH
  • New plugins typically start at 0.1.0
  • Must match between plugin.json and marketplace.json

Source Path Validation

  • Local plugins use relative paths: ./plugins/[name] or ./external_plugins/[name]
  • External plugins can use URL objects with source and url fields

Critical Constraints

NEVER add fields not documented in this skill. The schemas above represent the complete set of verified fields from existing, working entries. Adding unverified fields may break compatibility or cause validation errors.

If you encounter a field not listed here:

  1. Check existing marketplace.json entries for precedent
  2. If no precedent exists, do not use the field
  3. Document any newly discovered fields by updating this skill

Integration with plugin-dev

When scaffolding plugins, this skill works alongside Claude's official plugin-dev:create-plugin workflow:

  1. Architect handles: Folder selection, uniqueness validation, marketplace registration
  2. plugin-dev handles: Interactive plugin design, component creation, file generation

The recommended workflow:

  1. Use architect to determine target location and validate name
  2. Delegate to plugin-dev for the actual plugin creation
  3. Return to architect for marketplace.json registration
Stats
Stars0
Forks0
Last CommitJan 25, 2026
Actions

Similar Skills

cache-components

Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.

138.4k