open-skills
Enables running Claude Skills locally on your Mac with sandboxed execution, supporting document processing and integration with MCP-compatible AI tools while ensuring data privacy.
README
<div align="center">
___ ____ _____ _ _ ____ _ _____ _ _ ____
/ _ \| _ \| ____| \ | | / ___|| |/ /_ _| | | | / ___|
| | | | |_) | _| | \| | \___ \| ' / | || | | | \___ \
| |_| | __/| |___| |\ | ___) | . \ | || |___| |___ ___) |
\___/|_| |_____|_| \_| |____/|_|\_\___|_____|_____|____/
OpenSkills: Run Claude Skills Locally on Your Mac
Anthropic recently announced Skills for Claude - reusable folders with instructions, scripts, and resources that make Claude better at specialized tasks. This tool lets you run these skills entirely on your local machine in a sandboxed environment.
What this means: You can now process your files (documents, spreadsheets, presentations, images) using these specialized skills while keeping all data on your Mac. No uploads, complete privacy.
This tool executes AI-generated code in a truly isolated sandboxed environment on your Mac using Apple's native containers.
Demo
Watch Open-Skills in action with Gemini CLI:

Why Run Skills Locally?
- Privacy: Process sensitive documents, financial data
- Full Control: Skills execute in an isolated container with VM-level isolation
- Compatibility: Works with Claude Desktop, Gemini CLI, Qwen CLI, or any MCP-compatible tool
- Extensibility: Import Anthropic's official skills or create your own custom skills
Quick Start
Prerequisites: Mac with macOS and Apple Silicon (M1/M2/M3/M4/M5), Python 3.10+
git clone https://github.com/BandarLabs/open-skills.git
cd open-skills
chmod +x install.sh
./install.sh
Installation takes ~2 minutes. The MCP server will be available at http://open-skills.local:8222/mcp
Install required packages (use virtualenv and note the python path):
pip install -r examples/requirements.txt
Setup: Connect Your AI Tool
This MCP server works with any MCP-compatible tool. All execution happens locally on your Mac.
Option 1: Claude Desktop Integration
Configure Claude Desktop to use this MCP server:
-
Copy the example configuration:
cd examples cp claude_desktop/claude_desktop_config.example.json claude_desktop/claude_desktop_config.json -
Edit the configuration file and replace the placeholder paths:
- Replace
/path/to/your/pythonwith your actual Python path (e.g.,/usr/bin/python3or/opt/homebrew/bin/python3) - Replace
/path/to/open-skillswith the actual path to your cloned repository
Example after editing:
{ "mcpServers": { "open-skills": { "command": "/opt/homebrew/bin/python3", "args": ["/Users/yourname/open-skills/examples/claude_desktop/mcpproxy.py"] } } } - Replace
-
Update Claude Desktop configuration:
- Open Claude Desktop
- Go to Settings → Developer
- Add the MCP server configuration
- Restart Claude Desktop
Option 2: OpenCode Configuration
For OpenCode users, create ~/.config/opencode/opencode.json:

{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"open-skills": {
"type": "remote",
"url": "http://open-skills.local:8222/mcp",
"enabled": true
}
}
}
Option 3: Gemini CLI Configuration
Edit ~/.gemini/settings.json:
{
"theme": "Default",
"selectedAuthType": "oauth-personal",
"mcpServers": {
"open-skills": {
"httpUrl": "http://open-skills.local:8222/mcp"
}
}
}
For system instructions, replace ~/.gemini/GEMINI.md with GEMINI.md
Option 3: Python OpenAI Agents
Use this server with OpenAI's Python agents library:
-
Set your OpenAI API key:
export OPENAI_API_KEY="your-openai-api-key-here" -
Run the client:
python examples/openai_agents/openai_client.py
Other Supported Tools
- Qwen CLI: Configure similar to Gemini CLI
- Kiro by Amazon: See examples in this repository for configuration
- Any MCP client: Point to
http://open-skills.local:8222/mcp
Example Use Cases
Once configured, you can ask your AI to:
- "Create a professional PowerPoint presentation from this markdown outline"
- "Extract all tables from these 10 PDFs and combine into one Excel spreadsheet"
- "Generate ASCII art logo for my project"
- "Fill out this tax form PDF with data from my CSV file"
- "Batch process these 100 images: crop to 16:9 and rotate 90 degrees"
Adding New Skills
You can extend this server with additional skills in two ways:
Option 1: Import Anthropic's Official Skills
Download skills from Anthropic's skills repository and copy to:
~/.open-skills/assets/skills/user/<new-skill-folder>
Available Official Skills:
- Microsoft Word (docx)
- Microsoft PowerPoint (pptx)
- Microsoft Excel (xlsx)
- PDF manipulation
- Image processing
- Slack GIF creator
- And more...
Skills Directory Structure
Here's an example with 4 imported skills:
~/.open-skills/assets/skills/
├── public
│ ├── image-crop-rotate
│ │ ├── scripts
│ │ └── SKILL.md
│ └── pdf-text-replace
│ ├── scripts
│ └── SKILL.md
└── user
├── docx
│ ├── docx-js.md
│ ├── LICENSE.txt
│ ├── ooxml
│ ├── ooxml.md
│ ├── scripts
│ └── SKILL.md
├── pptx
│ ├── html2pptx.md
│ ├── LICENSE.txt
│ ├── ooxml
│ ├── ooxml.md
│ ├── scripts
│ └── SKILL.md
├── slack-gif-creator
│ ├── core
│ ├── LICENSE.txt
│ ├── requirements.txt
│ ├── SKILL.md
│ └── templates
└── xlsx
├── LICENSE.txt
├── recalc.py
└── SKILL.md
Option 2: Create Your Own Skills
Create a folder matching the structure shown above. The only mandatory file is SKILL.md. See Anthropic's skills documentation for details.
Quick Method: Ask Claude to generate a skill for you:
"Can you write a skill which creates ASCII art of words?"
Claude will create the skill and offer a ZIP download. Place the ZIP file directly in ~/.open-skills/assets/skills/user (no need to expand).
Manual Method: Create your own skill folder structure:
~/.open-skills/assets/skills/user/my-custom-skill/
├── SKILL.md # Documentation and usage examples
├── scripts/ # Your Python/bash scripts
│ └── process.py
└── requirements.txt # (optional) Python dependencies
How Folder Mapping Works
This MCP server provides a compatibility layer that lets you run Claude's skills locally without modification:
Path Translation:
- Claude's path:
/mnt/user-data→ Local path:/app/uploads - Skills designed for Claude work locally without any changes
File Sharing - How to Share Files with Skills: To share your local files with skills for processing:
-
Place files in the outputs directory:
cp your-file.pdf ~/.open-skills/assets/outputs/ cp your-image.png ~/.open-skills/assets/outputs/ -
Files become available inside the container:
- Your files in
~/.open-skills/assets/outputs/are automatically mounted - Skills can access them via
/mnt/user-data/(the standard Claude path) - No manual copying or cloud uploads required
- Your files in
-
Processed files appear in the same directory:
- Output files are saved back to
~/.open-skills/assets/outputs/ - You can access results immediately on your Mac
- Output files are saved back to
Skill Structure:
- No changes needed to imported skills
- Original folder hierarchy and file organization remain identical
- Import Claude skills and use them directly
Live Demo: ASCII Art Skill
Here's a real example using Gemini CLI:
> /mcp
Configured MCP servers:
🟢 open-skills - Ready (5 tools)
Tools:
- execute_python_code
- get_skill_file
- get_skill_info
- list_skills
- navigate_and_get_all_visible_text
> can you generate ascii art for my project
✦ I will generate the ASCII art you desire. First, I must survey my available skills.
✓ list_skills (open-skills MCP Server)
✦ I have located a relevant skill: ascii-art. I will now retrieve its instructions.
✓ get_skill_info (open-skills MCP Server) {"skill_name":"ascii-art"}
✦ Your ASCII art is ready:
___ ____ _____ _ _ ____ _ _____ _ _ ____
/ _ \| _ \| ____| \ | | / ___|| |/ /_ _| | | | / ___|
| | | | |_) | _| | \| | \___ \| ' / | || | | | \___ \
| |_| | __/| |___| |\ | ___) | . \ | || |___| |___ ___) |
\___/|_| |_____|_| \_| |____/|_|\_\___|_____|_____|____/
Using: 1 GEMINI.md file | 3 MCP servers (ctrl+t to view)
What happened:
- AI discovered available skills via
list_skills - Found the relevant
ascii-artskill - Retrieved skill instructions with
get_skill_info - Executed the skill locally in the sandbox
- Returned results - all without uploading any data to the cloud
Security
Code runs in an isolated container with VM-level isolation. Your host system and files outside the sandbox remain protected.
From @apple/container:
Each container has the isolation properties of a full VM, using a minimal set of core utilities and dynamic libraries to reduce resource utilization and attack surface.
Architecture
This MCP server consists of:
- Sandbox Container: Isolated execution environment with Jupyter kernel
- MCP Server: Handles communication between AI models and the sandbox
- Skills System: Pre-packaged tools for common tasks (PDF manipulation, image processing, etc.)
Available MCP Tools
When connected, this server exposes these tools to your AI:
execute_python_code- Execute code in the sandboxget_skill_file- Read skill filesget_skill_info- Get skill documentationlist_skills- List all available skillsnavigate_and_get_all_visible_text- Web scraping with Playwright
Learn More
- GitHub Repository: github.com/BandarLabs/open-skills
- Anthropic Skills: github.com/anthropics/skills
- Skills Documentation: docs.claude.com/skills
- Blog: Building Offline Workspace: instavm.io/blog/building-my-offline-workspace-part-2-skills
- Report Issues: github.com/BandarLabs/open-skills/issues
Contributing
We welcome contributions! If you create useful skills or improve the implementation, please share them with the community.
License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。