# Claude Skills Architecture: Complete Guide ## 🎯 **Purpose** This document eliminates confusion between different types of Claude Code Skills and establishes consistent terminology. ## 📚 **Standard Terminology** ### **Skill** A **Skill** is a complete Claude Code capability implemented as a folder containing: - `SKILL.md` file (required) - Optional resources (scripts/, references/, assets/) - Domain-specific functionality **Example:** `my-skill/` containing financial data analysis ### **Component Skill** A **Component Skill** is a specialized sub-skill that is part of a larger Skill Suite. - Has its own `SKILL.md` - Focuses on specific functionality - Shares resources with other component skills **Example:** `data-acquisition/SKILL.md` within a financial analysis suite ### **Skill Suite** A **Skill Suite** is an integrated collection of Component Skills that work together. - Has `marketplace.json` as manifest - Multiple specialized component skills - Shared resources between skills **Example:** Complete financial analysis suite with skills for data acquisition, analysis, and reporting. ### **Marketplace Plugin** A **Marketplace Plugin** is the `marketplace.json` file that hosts and organizes one or more Skills. - **NOT a skill** - it's an organizational manifest - Defines how skills should be loaded - Can host simple skills or complex suites ## 🏗️ **Architecture Types** ### **Architecture 1: Simple Skill** ``` my-skill/ ├── SKILL.md ← Single skill file ├── scripts/ ← Optional supporting code ├── references/ ← Optional documentation └── assets/ ← Optional templates/resources ``` **When to use:** - Focused, single functionality - Simple workflow - Less than 1000 lines of total code - One main objective **Examples:** - Business proposal generator - PDF data extractor - ROI calculator ### **Architecture 2: Complex Skill Suite** ``` my-suite/ ← Complete Skill Suite ├── .claude-plugin/ │ └── marketplace.json ← Skills manifest ├── component-1/ ← Component Skill 1 │ ├── SKILL.md │ └── scripts/ ├── component-2/ ← Component Skill 2 │ ├── SKILL.md │ └── references/ ├── component-3/ ← Component Skill 3 │ ├── SKILL.md │ └── assets/ └── shared/ ← Shared resources ├── utils/ ├── config/ └── templates/ ``` **When to use:** - Multiple related workflows - Complex functionalities that need separation - More than 2000 lines of total code - Multiple interconnected objectives **Examples:** - Complete financial analysis suite - Project management system - E-commerce analytics platform ### **Architecture 3: Hybrid (Simple + Components)** ``` my-hybrid-skill/ ← Main simple skill ├── SKILL.md ← Main orchestration ├── scripts/ │ ├── main.py ← Main logic │ └── components/ ← Specialized components ├── references/ └── assets/ ``` **When to use:** - Main functionality with sub-components - Moderate complexity - Centralized orchestration required ## 🔍 **Deciding Which Architecture to Use** ### **Use Simple Skill when:** - ✅ Clear main objective - ✅ Linear and sequential workflow - ✅ Less than 3 distinct subprocesses - ✅ Code < 1000 lines - ✅ One person can easily maintain ### **Use Complex Skill Suite when:** - ✅ Multiple related objectives - ✅ Independent but connected workflows - ✅ More than 3 distinct subprocesses - ✅ Code > 2000 lines - ✅ Team or complex maintenance ### **Use Hybrid when:** - ✅ Central orchestration is critical - ✅ Components are optional/configurable - ✅ Main workflow with specialized sub-tasks ## 📋 **Marketplace.json Explained** The `marketplace.json` **IS NOT** a skill. It's an **organizational manifest**: ```json { "name": "my-suite", "plugins": [ { "name": "component-1", "source": "./component-1/", "skills": ["./SKILL.md"] ← Points to the actual skill }, { "name": "component-2", "source": "./component-2/", "skills": ["./SKILL.md"] ← Points to another skill } ] } ``` **Analogy:** Think of `marketplace.json` as a **book index** - it's not the content, just organizes and points to the chapters (skills). ## 🚫 **Terminology to Avoid** To avoid confusion: ❌ **"Plugin"** to refer to individual skills ✅ **"Component Skill"** or **"Skill Suite"** ❌ **"Multi-plugin architecture"** ✅ **"Multi-skill suite"** ❌ **"Plugin marketplace"** ✅ **"Skill marketplace"** (when hosting skills) ## ✅ **Correct Terms** | Situation | Correct Term | Example (with -cskill convention) | |----------|---------------|--------------------------------| | Single file with capability | **Simple Skill** | `pdf-generator-cskill/SKILL.md` | | Specialized sub-capability | **Component Skill** | `data-extraction-cskill/SKILL.md` | | Set of capabilities | **Skill Suite** | `financial-analysis-suite-cskill/` | | Organizational file | **Marketplace Plugin** | `marketplace.json` | | Complete system | **Skill Ecosystem** | Suite + Marketplace + Resources | ## 🏷️ **Naming Convention: The "-cskill" Suffix** ### **Purpose of the "-cskill" Suffix** - **Clear Identification**: Immediately indicates it's a Claude Skill - **Defined Origin**: Created by Agent-Skill-Creator - **Consistent Standard**: Professional convention across all documentation - **Avoids Confusion**: Distinguishes from manual skills or other sources - **Easy Organization**: Simple identification and grouping ### **Naming Rules** **1. Standard Format** ``` {descriptive-description}-cskill/ ``` **2. Simple Skills** ``` pdf-text-extractor-cskill/ csv-data-cleaner-cskill/ weekly-report-generator-cskill/ image-converter-cskill/ ``` **3. Complex Skill Suites** ``` financial-analysis-suite-cskill/ e-commerce-automation-cskill/ research-workflow-cskill/ business-intelligence-cskill/ ``` **4. Component Skills (within suites)** ``` data-acquisition-cskill/ technical-analysis-cskill/ reporting-generator-cskill/ user-interface-cskill/ ``` **5. Formatting** - ✅ Always lowercase - ✅ Use hyphens to separate words - ✅ Descriptive and clear - ✅ End with "-cskill" - ❌ No underscores or spaces - ❌ No special characters (except hyphens) ### **Transformation Examples** | User Requirement | Generated Name | |---------------------|-------------| | "Extract text from PDF documents" | `pdf-text-extractor-cskill/` | | "Clean CSV data automatically" | `csv-data-cleaner-cskill/` | | "Complete financial analysis platform" | `financial-analysis-suite-cskill/` | | "Generate weekly status reports" | `weekly-report-generator-cskill/` | | "Automate e-commerce workflows" | `e-commerce-automation-cskill/` | ## 🎯 **Golden Rule** **If it has `SKILL.md` → It's a Skill (simple or component) If it has `marketplace.json` → It's a marketplace plugin (organization)** ## 📖 **Real-World Examples** ### **Simple Skill: Business Proposal** ``` business-proposal/ ├── SKILL.md ← "Create business proposals" ├── references/ │ └── template.md └── assets/ └── logo.png ``` ### **Complex Skill Suite: Financial Analysis** ``` financial-analysis-suite/ ├── .claude-plugin/marketplace.json ├── data-acquisition/SKILL.md ← "Download market data" ├── technical-analysis/SKILL.md ← "Analyze technical indicators" ├── portfolio-analysis/SKILL.md ← "Optimize portfolio" └── reporting/SKILL.md ← "Generate reports" ``` Both are **legitimate Claude Code Skills** - just with different complexity levels. --- ## 🔄 **How This Document Helps** 1. **Clear terminology** - Everyone uses the same terms 2. **Informed decisions** - Know when to use each architecture 3. **Effective communication** - No ambiguity between skills and plugins 4. **Consistent documentation** - Standard across all agent-skill-creator documentation **Result:** Less confusion, more clarity, better development!