skify Self-Hosted Agent Skills Registry Deploy your own private skill management platform for AI coding agents
개요
skify Self-Hosted Agent Skills Registry Deploy your own private skill management platform for AI coding agents is a private skill registry you can deploy in minutes. Host your own skill packages for AI coding agents — keep proprietary workflows private, ensure team consistency, and maintain full control. AI coding agents need domain-specific knowledge. Skills provide reusable instructions, templates, and workflows — but public repositories aren't always an option. Free tier, global edge, zero server management. The script will: 1. Create D1 database and R2 storage 2. Deploy the Worker 3. Generate and display your API token Full control, runs anywhere, air-gapped support. After deployment, point the CLI to your registry: If you run team profile (ALLOW_ANONYMOUS_READ=false), step 2 should include a read/admin token:
README
skify
Self-Hosted Agent Skills Registry
Deploy your own private skill management platform for AI coding agents
skify is a private skill registry you can deploy in minutes. Host your own skill packages for AI coding agents — keep proprietary workflows private, ensure team consistency, and maintain full control.
# Deploy to Cloudflare (personal profile, default)
cd deploy/cloudflare && bash deploy.sh all personal
# Or self-host with Docker (team profile)
cd deploy/docker && bash deploy.sh team
Why skify?
AI coding agents need domain-specific knowledge. Skills provide reusable instructions, templates, and workflows — but public repositories aren’t always an option.
skify gives you:
| 🔒 Private by default | Your skills stay in your infrastructure |
| ⚡ One-click deploy | Cloudflare Workers (free) or Docker |
| 📦 Full registry | Publish, version, search, and install skills |
| 🛠️ CLI included | npx skify add/publish/sync |
| 🌐 Web UI | Browse and search skills visually |
Table of Contents
Quick Deploy
Option 1: Cloudflare Workers (Recommended)
Free tier, global edge, zero server management.
cd deploy/cloudflare
bash deploy.sh all personal
# or strict team profile:
# bash deploy.sh all team
The script will:
- Create D1 database and R2 storage
- Deploy the Worker
- Generate and display your API token
✓ Deployed to https://skify-api.your-account.workers.dev
✓ API Token: sk_xxxxxxxxxxxx
Option 2: Docker (Self-Hosted)
Full control, runs anywhere, air-gapped support.
cd deploy/docker
bash deploy.sh personal
# or strict team profile:
# bash deploy.sh team
Or with docker-compose:
cd deploy/docker
docker-compose up -d
Configure CLI
After deployment, point the CLI to your registry:
skify config set registry https://your-registry-url
skify config set token
Post-Deploy Checklist (1 minute)
# 1) API health
curl -sS https://your-registry-url/api/health
# expected: {"status":"ok"}
# 2) list skills (default onboarding mode)
curl -sS https://your-registry-url/api/skills
# 3) CLI connectivity
skify config set registry https://your-registry-url
skify config set token
skify browse
If you run team profile (ALLOW_ANONYMOUS_READ=false), step 2 should include a read/admin token:
curl -sS https://your-registry-url/api/skills \
-H "Authorization: Bearer "
RBAC Tokens
skify supports role-based API tokens:
read: browse/search/download/installpublish: includesread, plus publish/update skill contentadmin: includespublish, plus delete/sync/token management
Access behavior:
personalprofile: anonymous read enabled (smooth onboarding)teamprofile: anonymous read disabled (ALLOW_ANONYMOUS_READ=false)
Quick start (personal):
# set registry/admin token for CLI
skify config set registry https://your-registry-url
skify config set token
# publish then browse immediately (web/cli read works without extra token)
skify publish ./my-skill
Strict mode (team):
# deploy with team profile
cd deploy/cloudflare && bash deploy.sh all team
# or
cd deploy/docker && bash deploy.sh team
# create a read-only token for users/services
skify token create team-read --permissions read
# list existing tokens (admin token required)
skify token list
# create publish token
skify token create ci-publisher --permissions publish
# create read token for Web UI
skify token create web-read --permissions read
# revoke token by id
skify token revoke
CLI Usage
Install CLI
# Run directly with npx
npx skify
# Or install globally
npm install -g @skify/cli
Commands
| Command | Description |
|---|---|
skify add |
Install a skill |
skify remove |
Remove a skill |
skify list |
List installed skills |
skify update [name] |
Update skills |
skify sync |
Generate AGENTS.md |
skify publish |
Publish skill to registry |
skify search |
Search for skills |
skify read |
Output skill content |
skify token ... |
Manage registry RBAC tokens |
skify config |
Manage configuration |
Examples
# Publish a skill to your registry
skify publish ./my-skill
# Install from your registry
skify add my-skill
# Install from GitHub (public or private with token)
skify add owner/repo/skill-name
skify add owner/repo/skill-name --token ghp_xxx
# Install to specific agent directory
skify add my-skill --agent cursor # .cursor/skills/
skify add my-skill --agent claude # .claude/skills/
# Generate AGENTS.md for AI agents
skify sync
How It Works
┌─────────────────────────────────────────────────────────────────────┐
│ 1. DEPLOY │
│ │
│ bash deploy.sh ──► Your Private Registry │
│ (Cloudflare or Docker) │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ 2. PUBLISH │
│ │
│ skify publish ./my-skill ──► Registry stores skill │
│ with version tracking │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ 3. INSTALL │
│ │
│ skify add my-skill ──► Downloads to .agent/skills/ │
│ skify sync ──► Generates AGENTS.md │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ 4. USE │
│ │
│ AI Agent reads AGENTS.md │
│ ↓ │
│ Sees available skills │
│ ↓ │
│ Runs: npx skify read my-skill │
│ ↓ │
│ Receives instructions and executes │
└─────────────────────────────────────────────────────────────────────┘
Project Structure After Install
your-project/
├── .agent/
│ ├── skills/
│ │ ├── my-skill/
│ │ │ ├── SKILL.md
│ │ │ └── templates/
│ │ └── another-skill/
│ │ └── SKILL.md
│ └── skify.lock.json
├── AGENTS.md # Auto-generated skill manifest
└── ...
AGENTS.md Format
Invoke skills: `npx skify read `
my-skill
What this skill does
Creating Skills
Skill Structure
my-skill/
├── SKILL.md # Required: Instructions for the agent
├── templates/ # Optional: Template files
├── examples/ # Optional: Example code
└── resources/ # Optional: Other resources
SKILL.md Format
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
---
# My Skill
Instructions for the AI agent.
## When to Use
Describe when this skill applies.
## How to Use
Step-by-step instructions.
Publish to Your Registry
# Set up registry (one time)
skify config set registry https://your-registry
skify config set token
# Publish
cd my-skill
skify publish .
# Version updates
# Edit SKILL.md, bump version, publish again
skify publish .
Architecture
┌─────────────────────────────────────────────────────────────────────┐
│ skify Registry │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ REST API │ │ Storage │ │ Database │ │
│ │ │ │ │ │ │ │
│ │ - publish │ │ Cloudflare: │ │ Cloudflare: │ │
│ │ - download │ │ R2 │ │ D1 │ │
│ │ - search │ │ │ │ │ │
│ │ - list │ │ Docker: │ │ Docker: │ │
│ │ │ │ Filesystem│ │ SQLite │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ skify CLI │
│ │
│ @skify/cli │
│ ├── add/remove/update # Manage installed skills │
│ ├── publish # Upload to registry │
│ ├── search/list # Discover skills │
│ ├── sync # Generate AGENTS.md │
│ └── read # Output skill for agent │
│ │
│ @skify/core │
│ ├── GitHub API # Fetch from GitHub repos │
│ └── Parser # Parse SKILL.md files │
└─────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ skify Web UI │
│ │
│ Browse, search, and preview skills in your browser │
│ Deploy alongside registry or standalone │
└─────────────────────────────────────────────────────────────────────┘
Deployment Comparison
| Cloudflare | Docker | |
|---|---|---|
| Setup | One script | One script |
| Cost | Free tier (100k req/day) | Your infrastructure |
| Scaling | Automatic, global edge | Manual |
| Storage | R2 (S3-compatible) | Filesystem |
| Database | D1 (SQLite) | SQLite |
| Best for | Most users | Air-gapped, on-premise |
Development
Prerequisites
- Node.js >= 20.6.0
- pnpm >= 9.0.0
Setup
git clone https://github.com/lynnzc/skify.git
cd skify
pnpm install
pnpm build
Project Structure
skify/
├── packages/
│ ├── core/ # Shared library
│ ├── cli/ # CLI tool
│ ├── web/ # Web UI
│ └── worker/ # Cloudflare Worker
├── deploy/
│ ├── cloudflare/ # CF deployment script
│ └── docker/ # Docker deployment
└── scripts/
Local Development
# CLI
cd packages/cli && npm link
skify --help
# Web UI
pnpm --filter @skify/web dev
# http://localhost:5173
# Worker (local)
pnpm --filter @skify/worker dev
Compatible Agents
Works with any AI coding agent that can read markdown and run shell commands:
- Cursor
- Claude Code
- GitHub Copilot
- Codex
- Windsurf
- And more…
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a Pull Request
License
Apache License 2.0 — see LICENSE
추천 도구
다른 키워드를 입력하거나 필터를 제거해 보세요.
설치
npx skillfish add lynnzc/skify