Skill and agent recommendation system for Claude Code — knowledge graph, wiki, and intake quality gates
Project description
ctx — Skill, Agent, MCP & Harness Recommendations
ctx watches what you are building, walks a 102,696-node graph, and recommends a small, top-scored bundle of skills, agents, and MCP servers for the current task. If you use your own local/API model instead of Claude Code, ctx has a separate harness catalog flow: tell it the model and goal, review the recommended harness, then install with dry-run/update/uninstall controls.
Current shipped snapshot:
- 91,432 skills: 1,969 curated/imported skills plus 89,463 body-backed Skills.sh skills.
- 464 agents, 10,787 MCP servers, and 13 cataloged harnesses.
- 2.9M graph edges across semantic similarity, tags, slug tokens, source overlap, direct links, quality, usage, type affinity, and graph structure.
- 89,463 hydrated
SKILL.mdbodies in the shipped LLM-wiki; long entries are converted through the micro-skill gate instead of loading raw long prompts. - Entity updates for skills, agents, MCPs, and harnesses print benefits/risks and skip replacement unless you explicitly approve the update.
Why it exists
- Discovery — with 91K+ skill nodes, 460+ agents, 10K+ MCP servers, and 13 cataloged harnesses, you can't possibly know which exist or which apply to your current work.
- Context budget — loading everything wastes tokens and degrades quality. You need the right 10–15 per session.
- Skill rot — skills you installed months ago and never used are cluttering context. Stale ones should be flagged automatically.
Install
pip install claude-ctx
ctx-init # terminal wizard: hooks, graph, model, harness goal
ctx-init --wizard # force the same wizard from scripts/tests
ctx-init --model-mode skip # non-interactive setup for automation
ctx-init --model-mode custom --model openai/gpt-5.5 --goal "build a CAD agent"
Optional extras: pip install "claude-ctx[embeddings]" for the semantic backend, pip install "claude-ctx[dev]" for the test toolchain.
Pre-built knowledge graph (optional)
A pre-built knowledge graph of 102,696 nodes and 2.9M edges ships as a tarball. The same tarball includes external-catalogs/skills-sh/catalog.json, 89,463 body-backed Skills.sh skill pages under entities/skills/skills-sh-*.md, 89,463 hydrated installable Skills.sh SKILL.md files under converted/skills-sh-*/, and 13 cataloged harness pages under entities/harnesses/. Extract to get a ready-to-use ~/.claude/skill-wiki/:
# after `git clone` — or download graph/wiki-graph.tar.gz from the GitHub release
mkdir -p ~/.claude/skill-wiki
tar xzf graph/wiki-graph.tar.gz -C ~/.claude/skill-wiki/
Windows / Git-Bash / MSYS: pass
--force-localsotardoesn't read thec:in the path as a remote host:tar --force-local xzf graph/wiki-graph.tar.gz -C ~/.claude/skill-wiki/. Linux/macOS users can ignore.
Use
After install, the ctx hooks integrate automatically with Claude Code's PostToolUse + Stop events. Typical flow:
ctx-scan-repo --repo . # scan current repo and stack signals
ctx-scan-repo --repo . --recommend # include skill/agent/MCP recommendations
ctx-agent-add --agent-path ./code-reviewer.md --name code-reviewer
ctx-harness-add --repo https://github.com/earthtojake/text-to-cad --tag cad
ctx-harness-install text-to-cad --dry-run # inspect before cloning/running anything
ctx-harness-install text-to-cad --update --dry-run
ctx-harness-install text-to-cad --uninstall --dry-run
ctx-skill-quality list # four-signal quality score for every skill
ctx-skill-quality explain python-patterns # drill into a single skill
ctx-skill-health dashboard # structural health + drift detection
ctx-toolbox run --event pre-commit # run a council on the current diff
ctx-monitor serve # local dashboard: http://127.0.0.1:8765/
The ctx-monitor dashboard shows currently loaded skills, agents, MCP servers, and installed harness records. It provides load/unload buttons where ctx owns the live action, a cytoscape graph view (/graph?slug=…), the LLM-wiki entity browser (/wiki/<slug>), a filterable skills grid, a session timeline, an audit log viewer, and a live SSE event stream. Installed harness records appear in /loaded; cataloged harnesses appear in /wiki and /graph. Harness install/update/uninstall actions stay in ctx-harness-install.
When ctx-skill-add, ctx-agent-add, ctx-mcp-add, or ctx-harness-add
finds an existing entity, ctx prints a benefits/risks update review and skips
replacement by default. Re-run with --update-existing to apply the catalog or
local asset update after review.
Step-by-step entity onboarding: https://stevesolun.github.io/ctx/entity-onboarding/
Full docs, architecture, and every module: https://stevesolun.github.io/ctx/
License
MIT — see LICENSE.
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 claude_ctx-0.7.5.tar.gz.
File metadata
- Download URL: claude_ctx-0.7.5.tar.gz
- Upload date:
- Size: 501.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a925472f853a4736c06deffa5300395e3199edab4e2dc2065689de0954c14e2
|
|
| MD5 |
bf8bf58dca572d857e15e5b18f96548c
|
|
| BLAKE2b-256 |
6208dd64d82190a7758772b1e08dacaa236b2a27344057dae3f44a4262a34f81
|
Provenance
The following attestation bundles were made for claude_ctx-0.7.5.tar.gz:
Publisher:
publish.yml on stevesolun/ctx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_ctx-0.7.5.tar.gz -
Subject digest:
3a925472f853a4736c06deffa5300395e3199edab4e2dc2065689de0954c14e2 - Sigstore transparency entry: 1439788674
- Sigstore integration time:
-
Permalink:
stevesolun/ctx@4f0c3de24d2371e7419876f5d1f44b62984343a5 -
Branch / Tag:
refs/tags/v0.7.5 - Owner: https://github.com/stevesolun
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4f0c3de24d2371e7419876f5d1f44b62984343a5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file claude_ctx-0.7.5-py3-none-any.whl.
File metadata
- Download URL: claude_ctx-0.7.5-py3-none-any.whl
- Upload date:
- Size: 572.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcd9ec18d1d7b6e1629fe0e8a4917d71911b10957d572a396cd3ce1705351357
|
|
| MD5 |
3bb1c850834b617d2fbec0205be7687a
|
|
| BLAKE2b-256 |
7eabd111afcc7a975107bbea51e60fa12529c7a4c7f67f03f50aaf6454967636
|
Provenance
The following attestation bundles were made for claude_ctx-0.7.5-py3-none-any.whl:
Publisher:
publish.yml on stevesolun/ctx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_ctx-0.7.5-py3-none-any.whl -
Subject digest:
fcd9ec18d1d7b6e1629fe0e8a4917d71911b10957d572a396cd3ce1705351357 - Sigstore transparency entry: 1439788680
- Sigstore integration time:
-
Permalink:
stevesolun/ctx@4f0c3de24d2371e7419876f5d1f44b62984343a5 -
Branch / Tag:
refs/tags/v0.7.5 - Owner: https://github.com/stevesolun
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4f0c3de24d2371e7419876f5d1f44b62984343a5 -
Trigger Event:
push
-
Statement type: