Skip to main content

Project-scoped declarative skill manager for agent skills

Project description

Skill Manager

Project-scoped declarative skill manager for coding agents that load skills from ./.agents/skills/ (and optionally ~/.agents/skills/).

One source, many projects, slim globals. Each skill lives once in a cached Source. Projects get symlinks (Links), not copies. Keep agent-global skills minimal; declare per project what you actually need.

Compatible with any agent that discovers skill directories containing SKILL.md under those paths (pi is one example).

Today skill-manager only writes project Links under ./.agents/skills/. Managing ~/.agents/skills/ is on the roadmap.

Features

  • Declare and sync project skills — write .skill-manager.json, run skill-manager sync
  • Inspect source and link statusskill-manager list (linked / external / broken / unlinked)
  • Enable / disable interactivelyskill-manager enable / disable
  • Manage source cacheskill-manager source list|add|remove|update

Install

uv tool install cnife-skill-manager
# or: pipx install cnife-skill-manager

# from source (dev):
uv tool install .
# or run in-place:
uv run skill-manager

Configure

Create ./.skill-manager.json in your project:

{
  "skills": [
    {"name": "read", "repo": "tw93/Waza", "path": "skills/read"},
    {"name": "kami", "repo": "tw93/Kami", "path": "."}
  ]
}
  • name: symlink name under ./.agents/skills/ (single path component; duplicates error)
  • repo: GitHub owner/repo (both parts must be safe slug components)
  • path: skill directory inside the repo (. for repo-root skills; must contain SKILL.md; path traversal is rejected)

Usage

skill-manager sync      # clone/fetch sources, link declared skills
skill-manager list      # show sources and skill status
skill-manager enable    # interactively add a skill from the cache, then sync
skill-manager disable   # interactively remove a skill and its link

Source repository management

skill-manager source list              # list cached repos and HEAD status
skill-manager source add <owner/repo>  # add and clone a new source
skill-manager source remove <repo>     # remove source (cache + config)
skill-manager source update [repo]     # update one or all sources

sync is idempotent and never overwrites an existing non-tool symlink (it skips with a notice). Sources are derived from the declared skills' repo fields.

Paths (XDG)

What Path
Global config $XDG_CONFIG_HOME/skill-manager/config.json (default ~/.config/skill-manager/config.json)
Source cache $XDG_CACHE_HOME/skill-manager/repos/ (default ~/.cache/skill-manager/repos/)
Project skills ./.agents/skills/

Roadmap

  • Global skills — manage Links under ~/.agents/skills/ (same model as project Links)
  • Non-interactive enable/disable — CLI flags for scripts and CI
  • Broader sources — arbitrary Git URLs; local git repos or folders as Sources
  • Source inspect — list skill paths in a Source before enabling
  • Hidden-dir scan policy — skip skills under hidden directories by default; --all to include them
  • Pinned versions — pin a Source to a commit or tag in the project declaration

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

cnife_skill_manager-0.1.0.tar.gz (38.6 kB view details)

Uploaded Source

Built Distribution

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

cnife_skill_manager-0.1.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file cnife_skill_manager-0.1.0.tar.gz.

File metadata

  • Download URL: cnife_skill_manager-0.1.0.tar.gz
  • Upload date:
  • Size: 38.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for cnife_skill_manager-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c0b10bfef1c2c8bd779839a56de414767afed6e436f89a05a47d462e936da9f5
MD5 50a8fae121bf19b79b1cc54c136b9310
BLAKE2b-256 d44968c1b3ff92e7e5d564fa948718f113380a81efa137e6c6f10c6e56dd0a4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cnife_skill_manager-0.1.0.tar.gz:

Publisher: publish.yml on CNife/skill-manager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cnife_skill_manager-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cnife_skill_manager-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01abb148a8e88cabcdd90bb6e8266bc1e17d3689ca033be8a4ae9cc466679312
MD5 9654e04595cbc9135524b552aa2c0a64
BLAKE2b-256 a69d9c13ec5dcd133175ef96d1d86280b0290990c1780f764f79314334fc9f9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cnife_skill_manager-0.1.0-py3-none-any.whl:

Publisher: publish.yml on CNife/skill-manager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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