π‘ Summary
A web interface for managing Claude MCP skills with integrated API and CLI support.
π― Target Audience
π€ AI Roast: βPowerful, but the setup might scare off the impatient.β
Risk: Medium. Review: shell/CLI command execution; outbound network access (SSRF, data egress); filesystem read/write scope and path traversal; dependency pinning and supply-chain risk. Run with least privilege and audit before enabling in production.
Skills Manager
A visual web interface for managing Claude MCP Skills with Claude Code CLI integration.
Project Overview
This project provides a browser-based UI for managing skills in an MCP (Model Context Protocol) server. Skills are markdown-based instruction sets that Claude can load on-demand to gain specialized knowledge.
Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Skills Manager β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββββββ ββββββββββββββββββββββββββββ β
β β Claude Desktop β β Browser UI β β
β β (MCP Client) β β skills-manager.html β β
β ββββββββββ¬ββββββββββ ββββββββββββββ¬ββββββββββββββ β
β β β β
β β stdio/MCP β HTTP REST β
β β β β
β ββββββββββΌββββββββββ ββββββββββββββΌββββββββββββββ β
β β server.py β β skills_manager_api.py β β
β β (MCP Server) β β (Flask API :5050) β β
β ββββββββββ¬ββββββββββ ββββββββββββββ¬ββββββββββββββ β
β β β β
β ββββββββββββββ¬ββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββ β
β β skills/ β β
β β (folder) β β
β ββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
File Structure
skills-mcp/
βββ server.py # MCP server (FastMCP) - connects to Claude Desktop
βββ skills_manager_api.py # Flask HTTP API server (port 5050)
βββ skills_manager_app.py # Standalone all-in-one app (for .exe build)
βββ skills-manager.html # Web UI (single-file, Tailwind + Lucide)
βββ requirements.txt # Python dependencies
βββ build.bat # Windows build script for .exe
βββ skills/ # Skills directory
β βββ my-skill/
β β βββ SKILL.md # Main skill content
β β βββ _meta.json # Metadata (tags, description)
β β βββ scripts/ # Optional helper scripts
β β βββ references/ # Optional reference docs
β βββ another-skill/
β βββ ...
βββ dist/ # Built executable + assets
β βββ SkillsManager.exe
β βββ skills-manager.html
β βββ README.md
βββ .vscode/ # VS Code configuration
βββ settings.json
βββ launch.json
Setup
Prerequisites
- Python 3.10+
- Node.js (optional, for Claude Code CLI)
- Claude Code CLI (optional, for AI features)
Installation
cd skills-mcp pip install -r requirements.txt
Running the API Server
python skills_manager_api.py
Opens at: http://localhost:5050
Running the MCP Server (for Claude Desktop)
The MCP server runs automatically when Claude Desktop starts (configured in claude_desktop_config.json).
Manual test:
python server.py
Development
Key Files to Edit
| File | Purpose |
|------|---------|
| skills-manager.html | Frontend UI (vanilla JS, Tailwind CSS, Lucide icons) |
| skills_manager_api.py | Backend REST API (Flask) |
| server.py | MCP server for Claude Desktop integration |
| skills_manager_app.py | Standalone app (combines API + launcher for .exe) |
API Endpoints
| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | /api/skills | List all skills |
| GET | /api/skills/<name> | Get skill details |
| POST | /api/skills | Create new skill |
| PUT | /api/skills/<name> | Update skill |
| DELETE | /api/skills/<name> | Delete skill |
| POST | /api/import/folder | Import skill from folder path |
| POST | /api/import/json | Import files via JSON |
| GET | /api/browse?path= | Browse filesystem |
| GET | /api/claude/status | Check Claude CLI availability |
| POST | /api/claude/run | Run Claude with prompt |
| POST | /api/claude/generate-skill | Generate skill with AI |
Frontend Structure
The UI is a single HTML file with embedded CSS and JavaScript:
- Modals: Import, Folder Browser, File Upload, Generate, View, Claude Console
- State:
skills[],selectedFolderPath,browsePathCache{}, etc. - Key Functions:
browsePath(path)- Navigate filesystemimportSelectedFolder()- Copy folder to skills/uploadFiles()- Upload files as new skillgenerateSkill()- AI skill generationrunConsoleCommand()- Execute Claude prompts
Building the Executable
# Windows build.bat # Or manually pip install pyinstaller python -m PyInstaller --onefile --name "SkillsManager" --console ^ --add-data "skills-manager.html;." skills_manager_app.py
Output: dist/SkillsManager.exe
Skill Format
SKILL.md Structure
--- name: skill-name description: When Claude should use this skill --- # Skill Name ## Overview What this skill helps with. ## When to Use - Trigger condition 1 - Trigger condition 2 ## Quick Start \`\`\`code Example usage \`\`\` ## Best Practices - Practice 1 - Practice 2 ## Examples Practical examples here.
_meta.json Structure
{ "name": "skill-name", "description": "One-line description", "tags": ["tag1", "tag2"], "sub_skills": [], "source": "imported" }
Claude Desktop Configuration
Location: %APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "skills": { "command": "python", "args": ["C:/Users/Bbeie/skills-mcp/server.py"] } } }
MCP Tools (for Claude)
The MCP server exposes these tools to Claude:
| Tool | Description |
|------|-------------|
| list_skills() | List all available skills |
| get_skill(name) | Load a skill's SKILL.md content |
| search_skills(query) | Search skills by metadata |
| search_content(query) | Full-text search across all skills |
| get_skills_batch([...]) | Load multiple skills at once |
| reload_index() | Refresh skill index |
| validate_skills() | Check skill integrity |
Known Issues / TODO
- [ ] Folder browser doesn't show drive letters on initial load (starts at root drives)
- [ ] No confirmation before overwriting existing skills
- [ ] File upload doesn't preserve folder structure from drag-drop
- [ ] Claude Console output doesn't syntax highlight
- [ ] No skill versioning or backup
Tech Stack
- Backend: Python 3.11, Flask, Flask-CORS, FastMCP
- Frontend: Vanilla JS, Tailwind CSS (CDN), Lucide Icons (CDN)
- Build: PyInstaller
- Protocol: MCP (Model Context Protocol)
Pros
- User-friendly web interface for skill management.
- Supports both API and CLI for flexibility.
- Markdown-based skills allow easy customization.
Cons
- Initial setup requires multiple components.
- Lacks confirmation prompts for critical actions.
- Known issues with folder browsing and file uploads.
Related Skills
pytorch
SβIt's the Swiss Army knife of deep learning, but good luck figuring out which of the 47 installation methods is the one that won't break your system.β
agno
SβIt promises to be the Kubernetes for agents, but let's see if developers have the patience to learn yet another orchestration layer.β
nuxt-skills
SβIt's essentially a well-organized cheat sheet that turns your AI assistant into a Nuxt framework parrot.β
Disclaimer: This content is sourced from GitHub open source projects for display and rating purposes only.
Copyright belongs to the original author Bbeierle12.
