# SkillsMP Research Plugin

A comprehensive Claude Code plugin for researching, analyzing, and installing skills from the SkillsMP marketplace.

## Features

- 🔍 **Search Skills**: Interactive search with filters and sorting
- 📊 **Project Analysis**: Automatic technology detection and skill recommendations
- 🏗️ **Stack Setup**: Wizard for defining new project stacks
- ⚙️ **Smart Installation**: Install globally, per-project, or both
- 💡 **Intelligent Suggestions**: AI-powered skill recommendations based on your tech stack

## Installation

```bash
/plugin marketplace add https://github.com/menoncello/skillsmp-research-plugin.git
/plugin install skillsmp-research@menoncello
```

## Commands

### `/skill-search [query]`
Search for skills on SkillsMP with advanced filtering.

**Options:**
- `-c, --category <category>`: Filter by category
- `-a, --author <author>`: Filter by author
- `-t, --tags <tags>`: Filter by tags (comma-separated)
- `-s, --sort <sort>`: Sort by popularity/stars/downloads/updated
- `-l, --limit <limit>`: Number of results (default: 20)
- `-i, --interactive`: Interactive mode with prompts

**Examples:**
```bash
/skill-search react testing
/skill-search --category=Testing --sort=stars
/skill-search --interactive
```

### `/skill-analyze [--path <path>]`
Analyze project and suggest relevant skills.

**Options:**
- `-p, --path <path>`: Project path to analyze (default: current)
- `-v, --verbose`: Show detailed analysis

**Example:**
```bash
/skill-analyze
/skill-analyze --path ../my-project --verbose
```

### `/skill-stack-setup`
Interactive wizard to define project stack.

**Example:**
```bash
/skill-stack-setup
```

### `/skill-install <skill-name>`
Install a skill from SkillsMP.

**Options:**
- `-g, --global`: Install globally
- `-p, --project`: Install for current project
- `-f, --force`: Force overwrite existing

**Examples:**
```bash
/skill-install bun-usage
/skill-install bun-usage --global
/skill-install react-testing --project
```

### `/skill-suggest [--tags <tags>]`
Get skill suggestions based on current project or manual tags.

**Options:**
- `-u, --update`: Update project analysis
- `-t, --tags <tags>`: Manual tags (comma-separated)

**Examples:**
```bash
/skill-suggest
/skill-suggest --update
/skill-suggest --tags "react,testing,jest"
```

## Development

```bash
# Install dependencies
bun install

# Build plugin
bun run build

# Run tests
bun test

# Development mode
bun run dev

# Type checking
bun run type-check

# Linting
bun run lint
```

## Architecture

### Core Services

- **SkillsMP API Client**: Handles communication with the SkillsMP marketplace
- **Project Analyzer**: Detects technologies and analyzes project structure
- **Skill Installer**: Manages skill installation with git cloning and validation

### Technology Detection

The plugin automatically detects:
- **Languages**: JavaScript, TypeScript, Python, Go, Rust, Java, C#, C++, Ruby, PHP, Swift, Kotlin
- **Frameworks**: React, Vue, Angular, Express, FastAPI, Django, Flask, Next.js, Nuxt, Spring Boot, Rails, Laravel
- **Package Managers**: npm, yarn, pnpm, bun, pip, poetry, cargo, go, composer
- **Build Tools**: webpack, vite, rollup, gulp, grunt, docker
- **Testing Frameworks**: jest, vitest, mocha, chai, cypress, playwright, pytest

### Installation Scopes

- **Global**: Available in all projects (`~/.claude/skills/`)
- **Project**: Specific to current project (`.claude/skills/`)
- **Both**: Install both globally and for project

## API Integration

The plugin integrates with SkillsMP API (https://skillsmp.com/docs/api) for:
- Real-time skill search and discovery
- Category-based filtering
- Popularity sorting and metadata
- Skill details and installation instructions

## Contributing

Contributions welcome! Please read our contributing guidelines.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## License

MIT License

## Support

For issues, questions, or contributions:
1. Check existing documentation
2. Review the implementation plan in `docs/plans/`
3. Create detailed bug reports with reproduction steps
4. Include system information and error logs