chrisvoncsefalvay/skillman
A skills manager for Claude
Deep Analysis
管理GitHub仓库中Claude技能的Python CLI工具,处理安装、版本控制和跨作用域同步
Core Features
Technical Implementation
- 清单管理 - skills.toml声明式配置
- 版本控制 - tag/SHA/latest多种版本指定
- 状态追踪 - synced/outdated/orphaned/missing
- 安全警告 - 安装前提示风险
- 双作用域 - local和user分离
- 从GitHub仓库安装技能
- 管理技能版本
- 同步项目和用户级技能
- 验证技能有效性
- 批量更新技能
- 需要Python 3.8+
- 仅支持GitHub仓库
- skills.toml学习成本
- 文档全英文
- 安全检查可跳过
skillman: a CLI for managing Claude skills
A Python CLI for managing Claude skills from GitHub repositories. Handles installation, versioning, and synchronisation of skills across user and project scopes -- mostly gracefully.
Installation
Via pip (from PyPI)
Once published to PyPI:
pip install skillman
Via uv (recommended)
The uv tool is a fast, all-in-one Python package installer and tool runner:
uv tool install skillman
Or run directly without installing:
uv run --with skillman skillman init
Via pipx
pipx install skillman
From source (development)
Clone the repository and install in development mode:
git clone https://github.com/chrisvoncsefalvay/skillman.git
cd skillman
pip install -e .
Or with development dependencies:
pip install -e ".[dev]"
Quick start
Create an empty manifest in your project:
skillman init
List installed skills:
skillman list
Commands
skillman init
Create empty skills.toml in current directory.
skillman add [options]
Add and install a skill from GitHub.
By default, the tool displays a security warning before installation to help you make informed decisions about which skills to install.
Options:
-s, --scope <local|user>: Installation scope (default: local)--no-verify: Skip skill validation--force: Overwrite existing skill--dangerously-skip-permissions: Skip security warning (not recommended)
Skill specification format:
- Single skill repo:
username/reponame[@version] - Skill in repository folder:
username/reponame/foldername[@version] - Nested skill (multi-tier):
username/reponame/folder1/folder2/...[@version] - Version:
@1.2.3(tag),@abc1234(SHA),@latestor omitted (latest)
Supports arbitrary nesting levels. The tool will look for SKILL.md in the specified path.
Example:
skillman add anthropics/skills/canvas-design
skillman add anthropics/skills/document-skills/docx
skillman add myorg/repo/custom-skill@1.2.3
skillman remove [options]
Remove skill from manifest and filesystem.
Options:
-s, --scope <local|user>: Only remove from specified scope--keep-files: Remove only from manifest, keep installed files
skillman verify
Check if skill exists at source and has valid structure.
skillman list [options]
List installed skills with status.
Options:
-s, --scope <local|user>: Show only specified scope
Status values:
- synced: Installed and matches manifest version
- outdated: Installed version differs from manifest
- orphaned: Installed but not in manifest
- missing: In manifest but not installed
skillman show
Display detailed skill information.
skillman update [|--all] [--dry-run]
Update installed skills to versions specified in manifest.
Options:
--all: Update all skills--dry-run: Show what would happen
Examples:
skillman update canvas-design
skillman update --all
skillman update --dry-run
skillman fetch [--dry-run]
Fetch and update all skills (alias for update --all).
skillman sync [options]
Synchronise skills between manifest and installed.
Options:
--up: Update skills to latest matching manifest constraints--down: Add installed-but-unlisted skills to manifest-y, --yes: Don't prompt for confirmation--dry-run: Show what would happen
skillman clean [options]
Remove orphaned skills (installed but not in manifest).
Options:
-s, --scope <local|user>: Clean only specified scope--dry-run: Show what would happen-y, --yes: Don't prompt for confirmation
skillman config [args]
Manage configuration.
Subcommands:
get <key>: Get configuration valueset <key> <value>: Set configuration valuelist: List all configuration values
Configuration keys:
default-scope: Default installation scope (local or user)github-token: GitHub token for private repositories
Configuration file location: ~/.skillman/config.toml
Example:
skillman config set github-token your-token-here
skillman config get default-scope
skillman config list
Installation paths
Skills are installed to:
- User scope:
~/.claude/skills/user/ - Project scope:
./.claude/skills/
Manifest file
Skills are declared in skills.toml:
[tool.skillman]
version = "1.0.0"
[[skills]]
name = "canvas"
source = "anthropics/skills/canvas-design"
version = "latest"
scope = "user"
aliases = ["design"]
[[skills]]
name = "custom"
source = "myorg/repo/custom-skill"
version = "1.0.0"
scope = "local"
Security considerations
Skills can execute code and access system resources. Before installing a skill, you should:
-
Install only from trusted sources: Only install skills from repositories you trust or that have been recommended by reliable sources.
-
Review skill functionality: Use
skillman verifyto examine what a skill does before installing it. -
Understand permissions: Skills can:
- Read, create, and modify files on your system
- Execute system commands
- Access and manipulate data
-
Permission warnings: By default, skillman displays a security warning and asks for confirmation before installing any skill. This helps you make informed decisions.
-
Skipping warnings: The
--dangerously-skip-permissionsflag allows skipping the security warning. This is not recommended except for trusted, well-known skills.
For detailed information about skill security and permissions, see:
Using Skills in Claude - Security
Skill metadata extraction
Skillman automatically extracts metadata from SKILL.md front matter in YAML format:
---
title: My Skill
description: What this skill does
license: MIT
author: Author Name
version: 1.0.0
tags:
- documentation
- productivity
---
# Skill content...
Extracted metadata is displayed when:
- Verifying a skill:
skillman verify username/repo/skill - Showing skill details:
skillman show skillname
If no YAML front matter is present, the first non-header paragraph from the markdown is used as the description.
Lock file
skills.lock is automatically generated and maintains exact commit SHAs for reproducible installations. This file should be committed to version control.
Configuration
Create ~/.skillman/config.toml for global configuration:
default-scope = "local"
github-token = "your-github-token"
Or use the skillman config command:
skillman config set github-token your-token
Development
Install development dependencies:
pip install -e ".[dev]"
Run tests:
pytest
Format code:
black skillman
Type check:
mypy skillman
Requirements
- Python 3.8+
- click: CLI framework
- rich: Formatted output
- GitPython: Git operations
- tomli/tomli_w: TOML parsing
- requests: HTTP operations
Architecture
The tool is structured as follows:
cli.py: Click-based CLI commandsmodels.py: Data models (Skill, Manifest, LockFile)config.py: Configuration managementgithub.py: GitHub operations and skill validationinstaller.py: Skill installation and managementutils.py: Utility functions for manifest and lock file handling
All output uses the Rich library for ASCII-compatible formatting (no Unicode box-drawing or emoji).
Error handling
The tool provides (mostly) clear error messages for:
- Network failures (with retry suggestions)
- Validation failures (showing what's wrong with the skill structure)
- Conflict warnings (these are only warnings as Claude should determine how to actually resolve them)
- Sync failures (showing which skills succeeded and which failed)
License
MIT
Made with ❤️ in the Mile High City 🏔️ by Chris von Csefalvay and 🐶 Oliver.
Related Skills
wshobson/agents
wshobsonIntelligent automation and multi-agent orchestration for Claude Code
The most comprehensive Claude Code plugin ecosystem, covering full-stack development scenarios with a three-tier model strategy balancing performance and cost.
ComposioHQ/awesome-claude-skills
ComposioHQA curated list of awesome Claude Skills, resources, and tools for customizing Claude AI workflows
The most comprehensive Claude Skills resource list; connect-apps is a killer feature.
code-yeongyu/oh-my-opencode
code-yeongyuThe Best Agent Harness. Meet Sisyphus: The Batteries-Included Agent that codes like you.
Powerful multi-agent coding tool, but note OAuth limitations.
nextlevelbuilder/ui-ux-pro-max-skill
nextlevelbuilderAn AI SKILL that provide design intelligence for building professional UI/UX multiple platforms
Essential for designers; comprehensive UI/UX knowledge base.
thedotmack/claude-mem
thedotmackA Claude Code plugin that automatically captures everything Claude does during your coding sessions, compresses it with AI (using Claude's agent-sdk), and injects relevant context back into future sessions.
A practical solution for Claude's memory issues.
OthmanAdi/planning-with-files
OthmanAdiClaude Code skill implementing Manus-style persistent markdown planning — the workflow pattern behind the $2B acquisition.
Context engineering best practices; an open-source implementation of Manus mode.

