Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:27:25 +08:00
commit e18b9b4fa8
77 changed files with 35441 additions and 0 deletions

View File

@@ -0,0 +1,272 @@
# 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!