agent-skill-creator/examples/README.md

220 lines
No EOL
6.4 KiB
Markdown

# Claude Skills Examples: Simple vs Complex
This directory contains contrasting examples to illustrate the difference between Simple Skills and Complex Skill Suites.
## 📋 **Quick Comparison**
| Aspect | Simple Skill | Complex Skill Suite |
|--------|--------------|---------------------|
| **Purpose** | Single focused capability | Multiple integrated capabilities |
| **Structure** | One SKILL.md file | Multiple component skills |
| **Complexity** | <1000 lines code | >2000 lines code |
| **Maintenance** | Single developer | Team collaboration |
| **Use Cases** | Specific task automation | Complete workflow systems |
---
## 📁 **Simple Skill Example**
### **PDF Text Extractor**
**Location:** `pdf-text-extractor-cskill/`
**Architecture:**
```
pdf-text-extractor-cskill/
├── SKILL.md ← Single comprehensive skill file
├── scripts/ ← Optional supporting code
├── references/ ← Optional documentation
└── assets/ ← Optional templates
```
**Characteristics:**
- ✅ Single objective: Extract text from PDFs
- ✅ Focused functionality: Text extraction + cleaning
- ✅ Simple workflow: Input → Process → Output
- ✅ Minimal dependencies: PyPDF2, python-docx
- ✅ Easy to maintain: One developer can handle
- ✅ Clear scope: PDF processing only
**When to Use This Pattern:**
- Task automation with clear boundaries
- Single workflow requirement
- Proof of concept or MVP
- Personal productivity tools
- Learning projects
---
## 🏗️ **Complex Skill Suite Example**
### **Financial Analysis Suite**
**Location:** `financial-analysis-suite-cskill/`
**Architecture:**
```
financial-analysis-suite-cskill/
├── .claude-plugin/
│ └── marketplace.json ← Organizes component skills
├── data-acquisition-cskill/ ← Component Skill 1
│ └── SKILL.md
├── technical-analysis-cskill/ ← Component Skill 2
│ └── SKILL.md
├── portfolio-optimization-cskill/ ← Component Skill 3
│ └── SKILL.md
├── reporting-cskill/ ← Component Skill 4
│ └── SKILL.md
└── shared/ ← Common resources
├── utils/
└── config/
```
**Characteristics:**
- ✅ Multiple objectives: Data acquisition + analysis + optimization + reporting
- ✅ Specialized components: Each skill focuses on one domain
- ✅ Complex workflows: Multiple interconnected processes
- ✅ Rich dependencies: pandas, numpy, matplotlib, scipy, etc.
- ✅ Team maintenance: Different developers can own different components
- ✅ Broad scope: Complete financial analysis platform
**Component Skills Breakdown:**
1. **Data Acquisition** (`data-acquisition/SKILL.md`)
- Handles all data sourcing
- API integrations
- Data validation and cleaning
2. **Technical Analysis** (`technical-analysis/SKILL.md`)
- Calculates indicators
- Pattern recognition
- Signal generation
3. **Portfolio Optimization** (`portfolio-optimization/SKILL.md`)
- Modern Portfolio Theory
- Risk assessment
- Asset allocation strategies
4. **Financial Reporting** (`reporting/SKILL.md`)
- Professional report generation
- Charts and visualizations
- Automated distribution
**When to Use This Pattern:**
- Complex business workflows
- Multiple domain expertise needed
- Team development environments
- Enterprise-level applications
- Systems requiring specialized components
---
## 🎯 **Decision Guide**
### **Choose Simple Skill When:**
- **Single Clear Objective**: "I need to extract text from PDFs"
- **Straightforward Workflow**: Input → Process → Output
- **Limited Scope**: One domain or task type
- **Individual Maintenance**: One person can manage it
- **Quick Development**: Days, not weeks
**Examples:**
- Document converter
- Data cleaner
- Report generator
- API client
### **Choose Complex Skill Suite When:**
- **Multiple Objectives**: "I need a complete financial analysis platform"
- **Complex Workflows**: Multiple interconnected processes
- **Domain Specialization**: Different expertise areas needed
- **Team Development**: Multiple contributors
- **Long-term Investment**: Weeks to months development
**Examples:**
- Business intelligence platform
- Complete workflow automation
- Industry-specific solutions
- Enterprise applications
---
## 🔄 **Migration Paths**
### **Simple → Complex**
When a simple skill grows:
1. **Identify Natural Breakpoints**
- Separate concerns within the skill
- Find logical groupings of functionality
2. **Extract Component Skills**
- Create separate SKILL.md files
- Move relevant code to component directories
3. **Create Integration Layer**
- Add marketplace.json
- Define communication protocols
- Create shared utilities
4. **Refactor and Test**
- Ensure components work independently
- Validate integration functionality
- Update documentation
**Example:** PDF Extractor → Document Processing Suite
- PDF extraction (current)
- OCR processing (new component)
- Document classification (new component)
- Metadata extraction (new component)
### **Complex → Simple**
When simplifying a complex suite:
1. **Identify Core Functionality**
- Find the most valuable component
- Determine essential features
2. **Consolidate Components**
- Merge related skills
- Eliminate redundant functionality
- Simplify workflows
3. **Maintain Essential Features**
- Keep critical capabilities
- Preserve important integrations
- Update user interfaces
---
## 📚 **Learning Resources**
### **For Simple Skills**
- Focus on single-skill development
- Learn effective SKILL.md writing
- Master script integration
- Understand resource management
### **For Complex Skill Suites**
- Study system architecture
- Learn integration patterns
- Understand marketplace.json configuration
- Master component communication
### **Decision Making**
- Use `CLAUDE_SKILLS_ARCHITECTURE.md` for guidance
- Review both examples for patterns
- Consider long-term maintenance implications
- Evaluate team capabilities and resources
---
## ✅ **Key Takeaways**
1. **Both are valid Claude Skills** - just different complexity levels
2. **Choose based on requirements**, not preferences
3. **Start simple, evolve to complex** when needed
4. **Documentation is critical** for both patterns
5. **Consider maintenance overhead** in architectural decisions
Remember: The best architecture is the one that solves your specific problem effectively!