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.
Watch Open-Skills in action with Gemini CLI:
- 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
Prerequisites: Mac with macOS and Apple Silicon (M1/M2/M3/M4/M5), Python 3.10+
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):
This MCP server works with any MCP-compatible tool. All execution happens locally on your Mac.
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/python with your actual Python path (e.g., /usr/bin/python3 or /opt/homebrew/bin/python3)
- Replace /path/to/open-skills with 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"] } } } -
Update Claude Desktop configuration:
- Open Claude Desktop
- Go to Settings → Developer
- Add the MCP server configuration
- Restart Claude Desktop
Edit ~/.gemini/settings.json:
For system instructions, replace ~/.gemini/GEMINI.md with GEMINI.md
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
- 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
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"
You can extend this server with additional skills in two ways:
Download skills from Anthropic's skills repository and copy to:
Available Official Skills:
- Microsoft Word (docx)
- Microsoft PowerPoint (pptx)
- Microsoft Excel (xlsx)
- PDF manipulation
- Image processing
- Slack GIF creator
- And more...
Here's an example with 4 imported 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:
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
Accessing Your Local Files:
- Place files in ~/.open-skills/assets/outputs on your Mac
- They become available to skills inside the container via volume mounts
- The mapping is automatic - skills can access your files without cloud upload
Skill Structure:
- No changes needed to imported skills
- Original folder hierarchy and file organization remain identical
- Import Claude skills and use them directly
Here's a real example using Gemini CLI:
What happened:
- AI discovered available skills via list_skills
- Found the relevant ascii-art skill
- Retrieved skill instructions with get_skill_info
- Executed the skill locally in the sandbox
- Returned results - all without uploading any data to the cloud
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.
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.)
When connected, this server exposes these tools to your AI:
- execute_python_code - Execute code in the sandbox
- get_skill_file - Read skill files
- get_skill_info - Get skill documentation
- list_skills - List all available skills
- navigate_and_get_all_visible_text - Web scraping with Playwright
- 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
We welcome contributions! If you create useful skills or improve the implementation, please share them with the community.
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
.png)

