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-cli
pipx install taken-cli

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.1.tar.gz (20.1 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.1-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

Details for the file taken_cli-0.1.1.tar.gz.

File metadata

  • Download URL: taken_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","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.1.tar.gz
Algorithm Hash digest
SHA256 93932ab4eaaec2f1f5da49fd3d8bb4509d03a223d592b00d4a4852c9f01bc920
MD5 2af0a994d5742cf9dfe17a8ed556606b
BLAKE2b-256 3e07ded5b14a3d3407c899b500f3858bdb83731d259e6cdf955eab40cb2be542

See more details on using hashes here.

File details

Details for the file taken_cli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: taken_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 39b799c2c0caa73c1f88e2b3a32241ba5b2ac295e2136de30468df3734277ec5
MD5 6483c8cc3b10ff74582f5f99e8833ddc
BLAKE2b-256 d564be823dd44f1af3f12cc4e1c23820b9ba94f2f57b2bb9d36f2c6d1ce21730

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