Personal dotfile-style CLI for managing AI agent skills
Project description
taken
"A very particular set of skills, acquired over a very long career."
taken is a personal dotfile-style CLI for managing AI agent skills (SKILL.md files). Think chezmoi, but for agent skills — your skills live in ~/.taken/, are git-backed, and can be linked into any project on demand.
Fully compatible with the skills.sh ecosystem (Claude Code, Cursor, OpenAI Codex, and 40+ agents).
Install
uv tool install taken
pip install taken
Quick Start
1. Initialize
taken init
Sets up ~/.taken/, prompts for your namespace, creates config and registry.
2. Create a personal skill
taken add my-skill
Scaffolds ~/.taken/skills/<you>/my-skill/SKILL.md and opens it in your editor.
3. Adopt an existing skill from a project
taken add ./agents/my-skill/
Copies the skill folder into ~/.taken/ and registers it, detecting provenance from skills.sh lock files automatically.
4. Install a skill from GitHub
taken install vercel-labs/agent-skills
taken install vercel-labs/agent-skills/react-best-practices
taken install https://github.com/vercel-labs/agent-skills
Interactive fuzzy picker when multiple skills are found. Use --skill to install specific ones non-interactively, --ref to pin to a branch/tag/SHA, --pin to lock the version.
5. Use a skill in a project
taken use
Fuzzy-picks from your registry and copies the skill into .agents/skills/ in the current project. Records state in .taken.yaml (committed to git — no taken dependency needed for teammates).
6. Push edits back to registry
taken save
If you refined a skill while working in a project, save promotes those edits back to ~/.taken/ so they propagate to future projects.
7. Update project skills
taken update
Re-copies the latest registry version into the project. Warns before overwriting if local edits are detected.
Commands
| Command | Description |
|---|---|
taken init |
First-time setup — creates ~/.taken/, prompts for namespace |
taken add <skill-name> |
Create a new personal skill, opens in editor |
taken add <path> |
Adopt an existing skill folder into taken management |
taken install <source> |
Install a skill from GitHub |
taken use [namespace/skill] |
Copy a skill from registry into the current project |
taken save [namespace/skill] |
Push project edits back to registry |
taken update [namespace/skill] |
Re-copy latest registry version into project |
taken list |
Show all skills in the registry |
taken remove <namespace/skill> |
Remove a skill from registry |
How It Works
Skills live in ~/.taken/skills/<namespace>/<skill-name>/. The registry at ~/.taken/registry.yaml is the single source of truth for provenance — tracking whether a skill was created personally, adopted from a project, or installed from GitHub.
When you run taken use, the skill is copied (never symlinked) into .agents/skills/ and tracked in .taken.yaml at the project root. This file is committed to git, making the project self-contained — teammates don't need taken installed to use the skills.
Storage Layout
~/.taken/
config.yaml # username, preferences
registry.yaml # all skills + metadata
skills/
you/
my-skill/
SKILL.md
vercel-labs/
react-best-practices/
SKILL.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file taken_cli-0.1.0rc1.tar.gz.
File metadata
- Download URL: taken_cli-0.1.0rc1.tar.gz
- Upload date:
- Size: 18.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
442e368ec5f1855343189c285ae2688d2f95b86ccd72d421fee90c6cf192dad0
|
|
| MD5 |
afd6609cb137aa761163c154fec453df
|
|
| BLAKE2b-256 |
31ba30ffbdac72e38b7b98fe2a44354d99f0455d0d5fbcd2c0159f37c3d6cf70
|
File details
Details for the file taken_cli-0.1.0rc1-py3-none-any.whl.
File metadata
- Download URL: taken_cli-0.1.0rc1-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0200bb2dc1e2f656bdc0d82c607ad7d20d6fe199d2914d8f2bcfb15a7a033d1
|
|
| MD5 |
beb361a906e1e02f927d8cf6317dd108
|
|
| BLAKE2b-256 |
307748db9f3ef7ec4ab763374c4bb16d749c393816349c6bed2f8e3aec2be8c3
|