github/skillz-integration
Run and integrate Skillz MCP server with Docker for skill execution.
npx skills add https://github.com/github/gh-aw --skill skillz-integration
Skillz is an MCP server that turns Claude-style skills (SKILL.md plus optional resources) into callable tools for MCP clients. It discovers skills, exposes instructions/resources, and runs bundled helper scripts.
Repository: https://github.com/intellectronica/skillz
> ⚠️ Experimental proof-of-concept. Potentially unsafe. Treat skills like untrusted code and run in sandboxes/containers. Use at your own risk.
To use Skillz with GitHub Agentic Workflows, add it as an MCP server in your workflow frontmatter:
on: issues
engine: copilot
mcp-servers:
skillz:
container: "intellectronica/skillz"
args:
- "-v"
- "/path/to/skills:/skillz"
- "/skillz"
# Your workflow with skills
Use skills from the skillz server to accomplish tasks.
Key points:
/path/to/skills with the actual path to your skills directory/skillz inside the container/skillz as the argument to tell skillz where to find skillsSkillz looks for skills inside the root directory you provide (defaults to ~/.skillz). Each skill lives in its own folder or zip archive that includes a SKILL.md file with YAML front matter.
skills/
├── summarize-docs/
│ ├── SKILL.md
│ ├── summarize.py
│ └── prompts/example.txt
├── translate.zip
└── web-search/
└── SKILL.md
Each skill folder must contain:
SKILL.md - Required file with YAML frontmatter describing the skillExample SKILL.md:
name: summarize-docs
description: Summarize documentation files
# Document Summarization Skill
This skill helps summarize long documentation files.
Use the provided `summarize.py` script to process documents.
Skills can be packaged as .zip archives:
translate.zip
├── SKILL.md
└── helpers/
└── translate.js
Or with a top-level directory:
data-cleaner.zip
└── data-cleaner/
├── SKILL.md
└── clean.py
For compatibility with Claude Code, use a flat directory structure where every immediate subdirectory is a single skill:
skills/
├── hello-world/
│ ├── SKILL.md
│ └── run.sh
└── summarize-text/
├── SKILL.md
└── run.py
Limitations: No nested directories, no .zip files.
Skillz supports nested directories and .zip files:
skills/
├── text-tools/
│ └── summarize-text/
│ ├── SKILL.md
│ └── run.py
└── image-processing.zip
Note: This layout is NOT compatible with Claude Code.
When using Docker, you can pass environment variables to skills:
mcp-servers:
skillz:
container: "intellectronica/skillz"
args:
- "-v"
- "/path/to/skills:/skillz"
- "/skillz"
env:
API_KEY: "${{ secrets.SKILL_API_KEY }}"
Enable verbose logging for debugging:
mcp-servers:
skillz:
container: "intellectronica/skillz"
args:
- "-v"
- "/path/to/skills:/skillz"
- "/skillz"
- "--verbose"
Take github/skillz-integration from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.