# 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!