Skip to main content

Agent-agnostic registry for skill discovery and contribution

Project description

I Know Kung Fu

For your agents.

Agent-agnostic registry for skill discovery and contribution. Formerly known as agent-skills.

CI License: MIT Python 3.10+


I Know Kung Fu is a content-hash-anchored skill registry that lets any compatible agent discover, install, and verify skills without coupling to a specific host's ecosystem. Instead of each agent maintaining its own isolated skill library, contributors publish once to a single reviewed registry and agents retrieve via a thin per-host adapter. Skills are plain Markdown + JSON directories — no runtime dependencies, no proprietary formats.


Names you'll see

Where Name
Brand (docs, marketing) I Know Kung Fu
PyPI package iknowkungfu
Primary CLI command kfu
Legacy CLI alias (back-compat) agent-skills
MCP server binary iknowkungfu-mcp

All five resolve to the same project. The CLI alias agent-skills is kept so existing scripts keep working; new automation should use kfu.


Install

pip install iknowkungfu    # or: uv tool install iknowkungfu

The PyPI namespace is claimed. Until v0.1.2 ships, install from source:

git clone https://github.com/samuelgudi/iknowkungfu
pip install -e iknowkungfu/

Quickstart

kfu update                          # refresh registry cache
kfu search <query>                  # find skills
kfu install <author>/<skill>        # install for detected host
kfu list                            # show installed skills
kfu verify <author>/<skill>         # check installed skill against registry

For contributors

kfu init <local-dir>     # scaffold meta.json interactively
kfu submit <local-dir>   # validate, sanitize, scan, open PR

Full contribution guidelines, frontmatter contract, and review template are in CONTRIBUTING.md.


How it works

  • Skills live as <author>/<slug>/ directories with SKILL.md (the instructions body) and meta.json (machine metadata). The generated registry.json is the content-hash-anchored manifest that clients query.
  • Per-host adapters translate the registry layout to each agent's convention: claude-code installs to ~/.claude/skills/<author>-<slug>/; hermes installs to ~/.hermes/skills/<category>/<slug>/. Adapters are thin — all logic lives in the registry client.
  • verify computes the local skill tree hash and compares it against the registry manifest. Yanked versions are hard-refused at install time with no override.

MCP server — for AI agents

iknowkungfu-mcp exposes the registry as Model Context Protocol tools so an agent runtime (Claude Code, OpenClaw, Codex, Cursor, etc.) can search and install skills mid-task without leaving the agent loop.

Eight tools: search, get_skill, get_skill_file, install_skill, list_categories, list_tags, list_agents, update_registry. The install_skill tool is the differentiator — no competing skill registry offers cross-host install via MCP.

Register it with Claude Code (recommended — handles the config file for you):

claude mcp add iknowkungfu iknowkungfu-mcp

Or edit ~/.claude.json (user scope) directly:

{
  "mcpServers": {
    "iknowkungfu": { "command": "iknowkungfu-mcp" }
  }
}

Then in a session:

> Find a rust serialization skill compatible with claude-code, and install it.

The agent will call search, inspect candidates with get_skill, then install_skill to write the chosen skill into ~/.claude/skills/.

Query language

The search tool (and the CLI's kfu search) accepts a Lucene-style DSL:

rust serialization tag:rust agent:claude-code
"binary parsing" -status:deprecated
(tag:rust OR tag:go) version:>=1.0
NOT requires:env_var:*

Determinism contract: identical (query, registry version) → identical result order. BM25 ranked, deterministically tie-broken, SQLite FTS5 backed.

Full reference: docs/query-language.md. MCP integration per-host: docs/mcp-integration.md.


Project layout

iknowkungfu/
├── registry.json            # generated manifest (never hand-edit)
├── yanks.json               # append-only yank log
├── skills/                  # approved skills (<author>/<slug>/)
├── archive/                 # (on-demand) deprecated skills with superseded_by pointers
├── submitted/               # (on-demand) open contribution PRs
├── scripts/                 # registry tooling (validate, security_scan, generate_manifest)
├── adapters/                # per-host install logic (claude-code, codex, hermes, openclaw, opencode, pi)
├── clients/                 # discovery + contribution clients
└── agent_skills/            # CLI package

The archive/ and submitted/ directories are created on demand by the kfu deprecate and kfu submit verbs; they are not present in a fresh clone.


Documentation


License

MIT


Acknowledgments

The design spec is at v4, incorporating review rounds from MILO, Gemini, and a real-skill walkthrough that hardened the submission pipeline, yank semantics, and frontmatter contract.

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

iknowkungfu-0.1.2.tar.gz (108.1 kB view details)

Uploaded Source

Built Distribution

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

iknowkungfu-0.1.2-py3-none-any.whl (74.1 kB view details)

Uploaded Python 3

File details

Details for the file iknowkungfu-0.1.2.tar.gz.

File metadata

  • Download URL: iknowkungfu-0.1.2.tar.gz
  • Upload date:
  • Size: 108.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for iknowkungfu-0.1.2.tar.gz
Algorithm Hash digest
SHA256 52dc0bccfc68710f9288bbe53320675eec226c4bfb45d73f8be9bb3ae12e9433
MD5 eff346b0cc4d9f05e15b45736433aa0f
BLAKE2b-256 25c04a2bcee5bdc153671fdee0cbd6a63de1a2d983f4f7ddffdd5a84394b0f26

See more details on using hashes here.

File details

Details for the file iknowkungfu-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: iknowkungfu-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 74.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for iknowkungfu-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c2831bd969f20442c74867f7770bc3d0466e8cf0651b2c20e4443a0f67e6bd52
MD5 fba771b93e0d89f96799e2720606f621
BLAKE2b-256 f7295f9a32e18ccc670bd9101c8c6dd4e3e63d5c0c1d27a488e3971a1ada14f5

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