Claude Skills but Local (and Private)

6 hours ago 1

Anthropic released Skills this week which some say is a bigger deal than MCP. We have integrated Skills with Coderunner, our open-sourced local sandbox so that you can have Skills support even on your local LLMs without being tied to the Claude platform. You can also use existing created Skills with other tools such as Gemini CLI.

> /mcp Configured MCP servers: 🟢 coderunner - 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 "CODERUNNER" ✦ I will generate the ASCII art you desire. First, I must survey my available skills. ✓ list_skills (coderunner MCP Server) ✦ I have located a relevant skill: ascii-art. I will now retrieve its instructions. ✓ get_skill_info (coderunner MCP Server) {"skill_name":"ascii-art"} ✦ Your ASCII art is ready: 1 ____ ___ ____ _____ ____ _ _ _ _ _ _ _____ ____ 2 / ___/ _ \| _ \| ____| _ \| | | | \ | | \ | | ____| _ \ 3 | | | | | | | | | _| | |_) | | | | \| | \| | _| | |_) | 4 | |__| |_| | |_| | |___| _ <| |_| | |\\ | |\\ | |___| _ < 5 \____\___/|____/|_____|_| \_\\___/|_| \_|_| \_|_____|_| \_\ 6 Using: 1 GEMINI.md file | 3 MCP servers (ctrl+t to view)

Running ASCII art Skill using Gemini CLI

Can we execute skills locally in a sandbox?

We released coderunner a few weeks ago. Coderunner provides an isolated VM which can execute LLM generated code locally on your machine working on your local files without requiring them to be transmitted to remote servers, should you choose so. This is similar to the Code intepreter by Open AI and Code Execution tool by Anthropic, but you have much more freedom (no restriction on internet access, network calls and libraries you can install).

We can use Coderunner to execute the python or js scripts powering the skills.

├── docx │ ├── docx-js.md │ ├── LICENSE.txt │ ├── ooxml │ │ ├── schemas │ │ └── scripts │ ├── ooxml.md │ ├── scripts │ │ ├── __init__.py │ │ ├── document.py │ │ ├── templates │ │ └── utilities.py │ └── SKILL.md

Anatomy of a typical Skill

Implementing Skills support in Coderunner

We have kept the skills directory structure unchanged so that people can directly import their Claude skills and use it locally without making any changes.

An important aspect of Coderunner is that it can be used by any other tool which supports MCP. This requirement posed another challenge - how to package everything in Coderunner when you don't know who will use it?

Claude has an advantage of having just one platform to support, they have a place where they can read the filesystem on the host machine which they mount to a local folder /mnt inside the VM where they execute the code. This allows them to read the SKILL.md and its frontmatter directly from the filesystem. We had to assume no such filesystem access so as to make it a more plug-n-play solution than Claude's tightly integrated architecture.

For that we used multiple MCPs, one each for fetching:

  • frontmatter - the name and description of skills.
  • SKILL.md - detailed skill information
  • further reference files as and when needed (so far we fetch only top level files)

This still preserves the context from loading everything upfront, only things which are needed are loaded progressively - kind of progressive disclosure.

Finally, the existing code execution MCP to execute the code.

Making skill's .zip files work without any change

While serving the frontmatter or SKILL.md's content in one of the MCPs, we are replacing /mnt/user-data (which is specific to Claude) on the fly in the response with /app/uploads which is where Coderunner looks.

Supplying local file via volumes

You might want to edit your private photos or videos using a skill. We provide a way to let skills access your local files via a special folder called ~/.coderunner/assets/outputs

You can place a file there in your local machine and it will be accessible to Coderunner internally via mounts. Your system prompt should reflect this information, along with the other skill related information on how to execute command. An example system prompt is available here GEMINI.md.

Skills I have tested to be working (others should also work)

From Claude's github

  • Slack emoji gif creator
  • pdf editor
  • pptx
  • docx
  • xlsx

Manually created

  • Image rotate and crop
  • pdf find and replace
  • ascii generator

How to run locally on your Mac or with other tools like Gemini CLI

Please follow the instructions here - instavm/coderunner

Read Entire Article