Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taken_cli-0.1.0rc1.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

taken_cli-0.1.0rc1-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

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

Hashes for taken_cli-0.1.0rc1.tar.gz
Algorithm Hash digest
SHA256 442e368ec5f1855343189c285ae2688d2f95b86ccd72d421fee90c6cf192dad0
MD5 afd6609cb137aa761163c154fec453df
BLAKE2b-256 31ba30ffbdac72e38b7b98fe2a44354d99f0455d0d5fbcd2c0159f37c3d6cf70

See more details on using hashes here.

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

Hashes for taken_cli-0.1.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 f0200bb2dc1e2f656bdc0d82c607ad7d20d6fe199d2914d8f2bcfb15a7a033d1
MD5 beb361a906e1e02f927d8cf6317dd108
BLAKE2b-256 307748db9f3ef7ec4ab763374c4bb16d749c393816349c6bed2f8e3aec2be8c3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page