-
-
Notifications
You must be signed in to change notification settings - Fork 286
Repository Structure
The claude-code-plugins-plus-skills monorepo (v4.17.0) houses 343 plugins delivering 1,900+ skills, a marketplace website, a CLI, and supporting tooling. The project uses pnpm workspaces for package management everywhere except the marketplace site, which uses npm.
claude-code-plugins-plus-skills/
├── .claude-plugin/ # Catalog JSON files (dual catalog system)
├── plugins/ # All plugin content (~98% Markdown, ~2% TypeScript)
│ ├── ai-coding/ # AI-assisted coding instruction plugins
│ ├── cloud/ # Cloud platform plugins
│ ├── databases/ # Database workflow plugins
│ ├── devops/ # DevOps and CI/CD plugins
│ ├── frameworks/ # Framework-specific plugins
│ ├── languages/ # Language-specific plugins
│ ├── mcp/ # MCP server plugins (TypeScript)
│ ├── saas-packs/ # SaaS skill packs (*-pack directories)
│ ├── testing/ # Testing strategy plugins
│ ├── tools/ # Developer tooling plugins
│ └── ... # Additional category directories
├── marketplace/ # Astro 5 static website (npm, not pnpm)
├── packages/
│ ├── cli/ # ccpi CLI tool
│ ├── analytics-daemon/ # Analytics collection daemon
│ └── analytics-dashboard/ # Analytics visualization dashboard
├── pnpm-workspace.yaml # Workspace configuration
└── package.json # Root package scripts
The heart of the repository. Each subdirectory is a category, and each category contains individual plugin directories. The vast majority of plugins are AI instruction plugins written in Markdown. They follow a consistent structure with a SKILL.md file that the build pipeline discovers and indexes.
Each individual plugin lives in its own directory under a category. A typical Markdown plugin directory contains:
plugins/frameworks/nextjs/
├── SKILL.md # Primary skill definition (frontmatter + instructions)
├── CLAUDE.md # Optional Claude-specific context
└── ... # Additional supporting files
The SKILL.md file is required. The build pipeline's discover-skills.mjs script scans for these files to populate the marketplace and search index.
A small subset of plugins (~2%) that are MCP server plugins written in TypeScript. Unlike Markdown plugins, these are full server implementations with package.json, source files, and test suites. They are compiled and tested via the matrix test job in CI.
SaaS skill packs bundle multiple related skills into a single installable unit. Each pack directory follows the *-pack naming convention. Packs allow users to install an entire set of related capabilities (e.g., a full SaaS integration) in one step rather than picking individual plugins.
An Astro 5 static site that powers tonsofskills.com. It has its own package.json and uses npm instead of pnpm. The build pipeline discovers plugin data, generates search indexes, and produces downloadable zip bundles. See Data Flow for the full build pipeline.
The ccpi CLI lets users browse, search, and install plugins from the command line. It fetches the catalog from tonsofskills.com and caches it locally. Key capabilities include:
- Searching and browsing the full plugin catalog
- Installing individual plugins or category bundles
- Validating plugin structure with
ccpi validate --strict - Offline operation using the local cache
The CLI is built, smoke-tested, and packaged (npm pack) in CI. See CI/CD Pipeline for test details.
Two packages that handle usage analytics:
- analytics-daemon -- Collects and aggregates plugin usage data.
- analytics-dashboard -- Visualizes analytics for maintainers.
Contains the Two Catalog System JSON files: the source-of-truth marketplace.extended.json and the auto-generated marketplace.json.
| Directory | Manager | Reason |
|---|---|---|
Root and all packages/*
|
pnpm | Monorepo workspace management |
plugins/mcp/* |
pnpm | Workspace member |
marketplace/ |
npm | Astro 5 compatibility requirement |
CI enforces this policy with a dedicated check-package-manager job that fails the build if the wrong lockfile appears in any directory. See CI/CD Pipeline for details.
The pnpm-workspace.yaml file at the root declares which directories participate in the pnpm workspace. The marketplace directory is explicitly excluded since it manages its own dependencies with npm.
Workspace members can reference each other as dependencies, which is how the CLI and analytics packages share code. Running pnpm install at the root installs dependencies for all workspace members in a single operation, with shared dependencies hoisted to reduce duplication.
The root package.json contains shared scripts that operate across the monorepo:
-
sync-marketplace-- Generatesmarketplace.jsonfrommarketplace.extended.json(see Two Catalog System) -
validate-- Runs structural validation across all plugins -
test-- Executes test suites for all workspace packages -
lint-- Lints code across the repository
These scripts are the primary interface for local development and are also invoked by the CI/CD Pipeline.
- Two Catalog System -- How plugin metadata is stored and synced
- Data Flow -- From editing a plugin to the live site
- CI/CD Pipeline -- Automated validation and deployment
tonsofskills.com | GitHub | Discussions | Report Issue | v4.17.0
SKILL.md Specification Skill Template Skill Creator
- Plugin Structure
- Frontmatter Reference
- Tool Permissions Guide
- Templates & Examples
- Validation & Grading
- MCP Server Plugins
- Playbook Index
- 01 Multi-Agent Rate Limits
- 02 Cost Caps & Budgets
- 03 MCP Reliability
- 04 Ollama Migration
- 05 Incident Debugging
- 06 Self-Hosted Stack
- 07 Compliance & Audit
- 08 Team Presets
- 09 Cost Attribution
- 10 Progressive Enhancement
- 11 Advanced Tool Use