技能管理工具

一个基于浏览器的用户界面,用于管理Claude MCP技能,并集成了Claude Code CLI。

  • by Bbeierle12
  • JavaScript
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 Bbeierle12/Skill-MCP-Claude

使用说明

技能经理

使用Claude Code CLI集成管理Claude MCP技能的可视化web界面。

项目概述

该项目提供了一个基于浏览器的UI,用于管理MCP(模型上下文协议)服务器中的技能。技能是基于降价的指令集,克劳德可以按需加载以获得专业知识。

建筑

┌─────────────────────────────────────────────────────────────────┐
│                        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)    │                               │
│                  └──────────────┘                               │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

文件结构

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

设置

先决条件

  • Python 3.10+
  • Node.js(可选,用于Claude Code CLI)
  • Claude Code CLI(可选,用于AI功能)

安装

cd skills-mcp
pip install -r requirements.txt

运行API服务器

python skills_manager_api.py

打开时间:http://localhost:5050

运行MCP服务器(适用于Claude Desktop)

当Claude Desktop启动时,MCP服务器会自动运行(在Claude_Desktop_config.json中配置)。

手动测试:

python server.py

日常技能目录审核

回购提供了一个自动审查系统,每天对每项技能进行评分 表面改进机会。看 reports/ 最新的输出。

它的作用

  • 通过1(确定性,每次运行): 结构缺陷——文件缺失, 描述漂移 _meta.json SKILL.md正面,破损 参考文献,未知 depends_on 目标、超大SKILL.md文件、精简 无资产技能、重复的子技能触发、过时的评论。
  • 第2关(每次跑动一项技能): 技能内容审计 last_reviewed_at 是最古老的。运行确定性量规(描述 区别与标签簇兄弟、库版本提及、资产 丰富性、交叉引用),提出 relevance_tier (A/B/C/D),以及 可选地调用Claude CLI以获取LLM辅助的量规。
  • 通过3(每周): 目录级审查——兄弟姐妹描述重叠, 路由器的必要性,标签集群漂移与上周的快照,来源 分布。

在本地运行

# Add the audit metadata fields once (idempotent):
python scripts/backfill_audit_meta.py

# Daily run (writes reports/YYYY-MM-DD.md):
python scripts/run_daily_audit.py

# With weekly Pass 3 + the LLM rubric:
python scripts/run_daily_audit.py --weekly --use-llm

GitHub操作工作流 .github/workflows/skills-audit.yml 运行 每日06:30 UTC进行审核,并提交结果报告。周一跑步 也执行Pass 3。

添加到的元数据字段 _meta.json

字段 类型 含义
last_reviewed_at ISO日期或空 Pass 2上次审核此技能的时间
review_score int 0–100或null 独特性+资产丰富性+新鲜度+交叉引用的组合
relevance_tier “A”/“B”/“C”/“D”/null A=不可替代,B=修剪和保持,C=与基本模型输出冗余,D=过时

技能管理器UI将这些显示为过滤器下拉列表和每张卡的徽章。

发展

要编辑的关键文件

文件 目的
skills-manager.html 前端用户界面(vanilla JS、Tailwind CSS、Lucide图标)
skills_manager_api.py 后端REST API(Flask)
server.py 用于Claude Desktop集成的MCP服务器
skills_manager_app.py 独立应用程序(结合API+用于.exe的启动器)

API终点

方法 端点 描述
得到 /api/skills 列出所有技能
得到 /api/skills/<name> 获取技能详细信息
职位 /api/skills 创造新技能
PUT /api/skills/<name> 更新技能
删除 /api/skills/<name> 删除技能
职位 /api/import/folder 从文件夹路径导入技能
职位 /api/import/json 通过JSON导入文件
得到 /api/browse?path= 浏览文件系统
得到 /api/claude/status 检查Claude CLI的可用性
职位 /api/claude/run 用提示运行Claude
职位 /api/claude/generate-skill 用AI生成技能

前端结构

UI是一个内嵌CSS和JavaScript的HTML文件:

  • 情态动词:导入、文件夹浏览器、文件上传、生成、查看、Claude控制台
  • 国家: skills[], selectedFolderPath, browsePathCache{}等等。
  • 关键功能:
    • browsePath(path) -导航文件系统
    • importSelectedFolder() -将文件夹复制到技能/
    • uploadFiles() -上传文件作为新技能
    • generateSkill() -人工智能技能生成
    • runConsoleCommand() -执行Claude提示

构建可执行文件

# Windows
build.bat

# Or manually
pip install pyinstaller
python -m PyInstaller --onefile --name "SkillsManager" --console ^
    --add-data "skills-manager.html;." skills_manager_app.py

输出: dist/SkillsManager.exe

技能格式

SKILL.md结构

---
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结构

{
  "name": "skill-name",
  "description": "One-line description",
  "tags": ["tag1", "tag2"],
  "sub_skills": [],
  "source": "imported"
}

Claude桌面配置

地点: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "skills": {
      "command": "python",
      "args": ["C:/Users/<YOUR_USERNAME>/skills-mcp/server.py"]
    }
  }
}

MCP工具(适用于Claude)

MCP服务器向Claude公开了这些工具:

工具 说明
list_skills() 列出所有可用技能
get_skill(name) 加载技能的skill.md内容
search_skills(query) 按元数据搜索技能
search_content(query) 所有技能的全文搜索
get_skills_batch([...]) 一次加载多种技能
reload_index() 刷新技能指数
validate_skills() 检查技能完整性

已知问题/待办事项

  • []文件夹浏览器在初始加载时不显示驱动器号(从根驱动器开始)
  • []覆盖现有技能前无需确认
  • []文件上传不会从拖放中保留文件夹结构
  • []Claude控制台输出没有语法高亮显示
  • []没有版本控制或备份技能

技术栈

  • 后端:Python 3.11、Flask、Flask CORS、FastMCP
  • 前端:香草JS、顺风CSS(CDN)、Lucide Icons(CDN)
  • 构建:PyInstaller
  • 协议:MCP(模型上下文协议)