npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@agiflowai/openskill

v0.1.3

Published

Model Context Protocol server for OpenSkill rating system integration

Downloads

130

Readme

@agiflowai/openskill

npm version License: AGPL-3.0 Discord

Model Context Protocol (MCP) server that enables Anthropic Skills to work with any coding agent and client that supports MCP servers. Provides skill management and sandboxed execution capabilities.

Features

  • Universal Compatibility: Makes Anthropic Skills work with any MCP-compatible AI coding agent (Cline, Roo Code, Continue, Zed, etc.)
  • Skill Management: Read and execute skills from .claude/skills/ directory
  • Sandboxed Execution: Execute bash commands in isolated Docker containers for security
  • Volume Mounting: Mount host directories into containers for file access
  • MCP Tools: get-skill and use-skill tools for seamless integration
  • CLI Commands: Direct command-line access to all functionality
  • Custom Images: Support for custom Docker images tailored to your needs
  • Pre-configured Environment: Python (uv, pip, poetry, pipenv, Pillow) and Node.js tooling out of the box

MCP Tools

get-skill

Retrieves skill information from the skills directory. You can use anthopic's skills in github and put that in .claude/skills or your custom skill folder and that should work.

Input:

  • command (string): Name of the skill to retrieve

Example:

{
  "command": "canvas-design"
}

use-skill

Executes bash commands in a sandboxed Docker environment for a specific skill.

Input:

  • skillName (string): Name of the skill to execute
  • bash (string): Bash command to execute

Example:

{
  "skillName": "canvas-design",
  "bash": "python generate.py output.pdf"
}

CLI Commands

mcp-serve

Start the MCP server with stdio transport.

node dist/cli.js mcp-serve [options]

Options:

  • -t, --type <type>: Transport type (default: "stdio")
  • --timeout <ms>: Default timeout for use-skill command (default: 30000)
  • --workdir <path>: Default working directory in container (default: "/workspace")
  • --mount <path>: Host path to mount into container /workspace
  • --skills-path <path>: Path to skills directory (default: ".claude/skills")
  • --container-name <name>: Custom Docker container name (allows reusing one container for multiple skills)
  • --image <name>: Custom Docker image name to use instead of building default openskill-http image
  • --disable-tools <tools>: Comma-separated list of tools to disable
  • --no-prewarm: Disable Docker image prewarming on server startup

Example:

# Start with custom skills path
node dist/cli.js mcp-serve --skills-path ./my-skills

# Start with custom Docker image
node dist/cli.js mcp-serve --image my-custom-image:latest

# Start with custom container name (reuse same container for all skills)
node dist/cli.js mcp-serve --container-name shared-skill-container

use-skill

Execute a skill directly from the command line.

node dist/cli.js use-skill <skill-name> <bash-command> [options]

Options:

  • -t, --timeout <ms>: Command timeout (default: 30000)
  • -w, --workdir <path>: Working directory (default: "/workspace")
  • -m, --mount <path>: Host path to mount into container

Example:

# Execute Python script in canvas-design skill
node dist/cli.js use-skill canvas-design "python generate.py output.pdf" \
  --mount /Users/username/projects

doctor

Check if Docker is installed and accessible. Validates your environment for running OpenSkill.

node dist/cli.js doctor

Checks:

  • Docker installation and version
  • Docker daemon status

Example Output:

Running OpenSkill environment checks...

Checking Docker installation...
✓ Docker is installed: Docker version 28.3.2, build 578ccf6

Checking Docker daemon...
✓ Docker daemon is running

✓ All checks passed!
  Your environment is ready to use OpenSkill.

http-serve

Start the HTTP server (used by Docker containers). When you create your own dockerfile, simply use npx @agiflowai/openskill http-serve as your entry point.

node dist/cli.js http-serve [options]

Options:

  • -p, --port <port>: Port to listen on (default: 3000)
  • -h, --host <host>: Host to bind to (default: "localhost")

Usage with MCP Clients

OpenSkill can be used with any MCP-compatible client. Below are basic configuration examples for popular tools.

Cline

{
  "mcpServers": {
    "openskill-mcp": {
      "disabled": false,
      "command": "openskill",
      "args": ["mcp-serve"]
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "openskill-mcp": {
      "command": "openskill",
      "args": ["mcp-serve"]
    }
  }
}

Windsurf

{
  "mcpServers": {
    "openskill-mcp": {
      "command": "openskill",
      "args": ["mcp-serve"]
    }
  }
}

VS Code

"mcp": {
  "servers": {
    "openskill-mcp": {
      "type": "stdio",
      "command": "openskill",
      "args": ["mcp-serve"]
    }
  }
}

Zed

{
  "context_servers": {
    "openskill-mcp": {
      "source": "custom",
      "command": "openskill",
      "args": ["mcp-serve"]
    }
  }
}

Roo Code

{
  "mcpServers": {
    "openskill-mcp": {
      "command": "openskill",
      "args": ["mcp-serve"]
    }
  }
}

Continue

{
  "mcpServers": {
    "openskill-mcp": {
      "command": "openskill",
      "args": ["mcp-serve"]
    }
  }
}

Claude Code

{
  "mcpServers": {
    "openskill-mcp": {
      "command": "openskill",
      "args": ["mcp-serve", "--disable-tools", "get-skill"]
    }
  }
}

Note: For advanced configuration options (mount paths, container names, custom Docker images, skills paths, timeouts, etc.), see the CLI Commands section above.

Docker Environment

The sandbox Docker image includes:

Node.js/JavaScript:

  • Node.js v20
  • npm

Python:

  • Python 3.12
  • pip
  • uv (fast package installer)
  • poetry (dependency management)
  • pipenv (virtual environment manager)
  • Pillow (PIL - image processing library)

System Tools:

  • bash
  • git
  • curl, wget
  • Build tools (gcc, g++, make)

Building the Docker Image

cd packages/openskill
docker build -t openskill-http .

Development

# Install dependencies
pnpm install

# Build the project
pnpm build

# Run type checking
pnpm typecheck

# Run tests
pnpm test

# Development mode (watch)
pnpm dev

Skill Structure

Skills should be organized in the skills directory (default: .claude/skills/):

.claude/skills/
├── canvas-design/
│   ├── SKILL.md          # Skill definition with frontmatter
│   ├── generate.py       # Skill implementation
│   └── templates/        # Additional resources
└── another-skill/
    └── SKILL.md

SKILL.md Format:

---
name: canvas-design
description: Create beautiful visual art in .png and .pdf documents
license: user
---

# Canvas Design Skill

Instructions for the AI on how to use this skill...

Architecture

  • src/tools/: MCP tool implementations (GetSkillTool, UseSkillTool)
  • src/services/: Business logic (SkillService, SandboxService)
  • src/commands/: CLI commands (mcp-serve, use-skill, http-serve)
  • src/server/: MCP server setup and configuration
  • src/transports/: MCP transport handlers (stdio)
  • Dockerfile: Docker image with Python and Node.js tooling

License

MIT