ctx is a Python CLI and library that recommends a small, relevant set of skills, agents, and MCP servers for a repository or task. It can use your organization's local/private knowledge or the shipped graph.
$ npx -y skills add stevesolun/ctx --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: stevesolun/ctx
What's inside
ctx is a Python CLI and library that recommends a small, relevant set of skills, agents, and MCP servers for a repository or task. It can use your organization's local/private knowledge or the shipped graph. Harness selection for custom, API, and local models is a separate workflow. Recommendations do not install or load tools without an operator action or approval.
Release status: v1.0.20
is the current GitHub and PyPI release;
this source tree declares 1.0.21 for unreleased work.
Requires CPython 3.11 or newer. Linux and macOS are the tested host platforms; other POSIX systems are best-effort. Native Windows and PowerShell are not supported. On a Windows machine, run ctx inside WSL2 as a Linux installation.
pip install claude-ctx
From the repository you want to analyze, install the runtime graph and request recommendations:
ctx-init --graph --model-mode skip
ctx-scan-repo --repo . --recommend
ctx-init --graph uses the bundled runtime artifact in a source checkout or
downloads the matching release asset for a package install. The full packed
wiki is optional; see the knowledge graph guide.
Every clean graph install seeds nine project-owned, MIT-licensed, no-key
fallbacks: ctx-python-testing, ctx-python-state-protocols,
ctx-python-input-boundaries, ctx-python-api-compatibility,
ctx-javascript-testing, ctx-rust-patterns, ctx-typescript, the
ctx-python-reviewer agent, and the local ctx-core MCP server.
ctx preserves unrelated skill, agent, MCP, and converted-skill content.
Runtime-managed harness pages are refreshed from the installed artifact.
Installation fails closed if a reserved ctx-* identity, body, overlay, or
parent path is unexpected.
These controls are available in release 1.0.20 and the current source tree.
Telemetry is enabled by default in local_redacted mode. Events are written to
~/.ctx/telemetry/events.jsonl, metrics are written to
~/.ctx/telemetry/metrics.jsonl, and raw prompts and queries are removed or
hashed. Continuous log, trace, and metric exporters are disabled by default.
A network export requires an explicit ctx-telemetry-export command or an
operator-enabled exporter configuration. Local JSONL may retain a raw
session_id for compatibility, so treat the spool as sensitive. Review the
enterprise telemetry guide before
enabling export.
ctx-telemetry-export --dry-run --json
The dry run inspects the local spool without exporting it.
| Task | CLI | Guide |
|---|---|---|
| Initialize ctx and install graph data | ctx-init | Knowledge graph |
| Scan a repository and get recommendations | ctx-scan-repo, ctx-recommend | Entity onboarding |
| Connect an MCP, Python, or CLI host | ctx-mcp-server, ctx | Host integration |
| Inspect the local runtime | ctx-monitor serve | Dashboard |
| Review or export telemetry | ctx-telemetry-export, ctx-telemetry-retention | Telemetry |
See the full documentation for configuration, APIs, entity lifecycle, and operational details.
| Tracker ID | User outcome |
|---|---|
CLI-002 | Scan a repository and receive a bounded skill, agent, and MCP recommendation set. |
CLI-026 | Review a custom-model harness recommendation with ctx-harness-install --dry-run before installation. |
API-011 | Manage local entities through the dashboard's validated API. |
Release readiness is tracked in qa/feature_status.csv.
The docs/qa/feature-user-story-status.csv,
docs/qa/dashboard-user-story-status.csv,
and qa/tool-selection-token-history/tracker.csv
files are supporting detail ledgers.
The inventory badge reports pytest collection, not a blanket passing claim. The CI badge links to the change-classified GitHub Actions workflow; individual jobs run the lanes required for a change.
The shipped artifact contract is a 79,958-node graph covering 68,494 skill entity pages, 467 agents, 10,790 MCP servers, and 207 harnesses.
MIT. See LICENSE.
.claude/
skills/
ctx-dispatch/
SKILL.md
ctx-verify/
SKILL.md
.codegraph/
.gitignore
.dedup-allowlist.txt
.gitattributes
.githooks/
post-checkout
post-commit
post-merge
pre-commit
pre-push
.github/
CODEOWNERS
codeql/
codeql-config.yml
dependabot.yml
ISSUE_TEMPLATE/
bug_report.md
feature_request.md
pip-audit-ignore.txt
pull_request_template.md
requirements-no-test-policy.txt
workflows/
clean-host-contract.yml
codeql.yml
dependency-audit.yml
docs.yml
huggingface-sync.yml
m5-local-fast.yml
publish.yml
test.yml
xdist-experiment.yml
.gitignore
.no-mistakes.yaml
AGENTS.md
benchmarks/
ctx_ab/
descriptive-metrics-v1.json
holdout-protocol-v1.json
README.md
scenarios.yaml
CHANGELOG.md
CLAUDE.md
CONTRIBUTING.md
docs/
assets/
javascripts/
catalog.js
repo-stats-refresh.js
backup-hook-install.md
catalog.md
dashboard.md
enterprise-readiness-review.md
entity-onboarding.md
harness/
attaching-to-hosts.md
clean-host-contract.md
loopflow-adapter-demo.md
huggingface-publish.md
index.md
knowledge-graph.md
marketplace-registry.md
memory-anchor.md
plans/
ctx-agent-reviewer-workbench.md
qa/
dashboard-user-story-status.csv
feature-user-story-status.csv
services/
macos/
com.claude.backup.watchdog.plist
systemd/
claude-backup-watchdog.service
skill-lifecycle-and-dashboard.md
skill-quality-install.md
skill-router/
index.md
skill-stack-matrix.md
SKILL.md
skills-health.md
stack-signatures.md
telemetry.md
threat-model.md
toolbox/
behavior-miner.md
configuration.md
council-runner.md
hooks.md
index.md
intent-interview.md
starters.md
templates/
docs-review.json
fresh-repo-init.json
refactor-safety.json
security-sweep.json
ship-it.json
verdicts.md
graph/
communities.json
entity-overlays.jsonl
README.md
sample-top60.html
skills-sh-catalog.json.gz
skillspector-audit.jsonl.gz
viz-ai-agents.html
viz-overview.html
viz-python.html
viz-security.html
wiki-graph-runtime.tar.gz
wiki-graph-stats.json
wiki-graph.tar.gz
hooks/
backup_on_change.py
quality_on_session_end.py
imported-skills/
academic-research-skills/
ATTRIBUTION.md
MANIFEST.json
metadata.json
README.md
UPSTREAM_REVISION
agents-md/
ATTRIBUTION.md
MANIFEST.json
README.md
skills/
agents-md-protocol/
SKILL.md
UPSTREAM_REVISION
designdotmd/
ATTRIBUTION.md
build_manifest.py
designs/
designs-listing.json
3d-sculpt.md
3d-sculpt.meta.json
ai-labs.md
ai-labs.meta.json
airline-altitude.md
airline-altitude.meta.json
airport-departures.md
airport-departures.meta.json
analytics-crisp.md
analytics-crisp.meta.json
aqua-mint.md
aqua-mint.meta.json
arcade-neon-pop.md
arcade-neon-pop.meta.json
architect-blueprint.md
architect-blueprint.meta.json
arctic.md
arctic.meta.json
atelier-noir.md
atelier-noir.meta.json
bakery-flour.md
bakery-flour.meta.json
barbershop-pole.md
barbershop-pole.meta.json
battle-royale.md
battle-royale.meta.json
bauhaus.md
bauhaus.meta.json
board-game-tavern.md
board-game-tavern.meta.json
botanical-apothecary.md
botanical-apothecary.meta.json
botanical.md
botanical.meta.json
broadsheet-01.md
broadsheet-01.meta.json
brutalist-office.md
brutalist-office.meta.json
cafe-racer.md
cafe-racer.meta.json
campaign-rally.md
campaign-rally.meta.json
campus-collegiate.md
campus-collegiate.meta.json
candy-shop.md
candy-shop.meta.json
candy-tap.md
candy-tap.meta.json
ceramics-kiln.md
ceramics-kiln.meta.json
chapel-stained.md
chapel-stained.meta.json
chat-app-plum.md
chat-app-plum.meta.json
civic-register.md
civic-register.meta.json
classroom-paper.md
classroom-paper.meta.json
climate-atlas.md
climate-atlas.meta.json
clinic-sage.md
clinic-sage.meta.json
clinical.md
clinical.meta.json
cobalt-product.md
cobalt-product.meta.json
coffee-roast.md
coffee-roast.meta.json
comic-ink.md
comic-ink.meta.json
concrete-lemon.md
concrete-lemon.meta.json
coworking-loft.md
coworking-loft.meta.json
criterion-letterbox.md
criterion-letterbox.meta.json
crypto-violet.md
crypto-violet.meta.json
cyber-matrix.md
cyber-matrix.meta.json
cyberpunk-city.md
cyberpunk-city.meta.json
dating-blush.md
dating-blush.meta.json
daw-waveform.md
daw-waveform.meta.json
defi-chrome.md
defi-chrome.meta.json
denim-workwear.md
denim-workwear.meta.json
desert-rose.md
desert-rose.meta.json
devops-graphite.md
devops-graphite.meta.json
dispatch-mono.md
dispatch-mono.meta.json
dungeon-crawl.md
dungeon-crawl.meta.json
ev-silver.md
ev-silver.meta.json
exchange-tick.md
exchange-tick.meta.json
farmers-market.md
farmers-market.meta.json
farmsim-harvest.md
farmsim-harvest.meta.json
festival-fluoro.md
festival-fluoro.meta.json
field-notes.md
field-notes.meta.json
film-photography.md
film-photography.meta.json
florist-bouquet.md
florist-bouquet.meta.json
forest-floor.md
forest-floor.meta.json
forest-trail.md
forest-trail.meta.json
forum-usenet.md
forum-usenet.meta.json
gallery-avant.md
gallery-avant.meta.json
gallery-white.md
gallery-white.meta.json
glassline.md
glassline.meta.json
graphite.md
graphite.meta.json
gym-kettlebell.md
gym-kettlebell.meta.json
hackerspace.md
hackerspace.meta.json
heritage.md
heritage.meta.json
horology-chronograph.md
horology-chronograph.meta.json
hotel-riviera.md
hotel-riviera.meta.json
indie-festival.md
indie-festival.meta.json
iot-home.md
iot-home.meta.json
jazz-club.md
jazz-club.meta.json
kids-crayon.md
kids-crayon.meta.json
kraft-paper.md
kraft-paper.meta.json
law-chambers.md
law-chambers.meta.json
linen.md
linen.meta.json
luxe-commerce.md
luxe-commerce.meta.json
magazine-rouge.md
magazine-rouge.meta.json
matcha.md
matcha.meta.json
meditation-zen.md
meditation-zen.meta.json
midjourney-dream.md
midjourney-dream.meta.json
mint-receipt.md
mint-receipt.meta.json
motorsport-livery.md
motorsport-livery.meta.json
museum-plaque.md
museum-plaque.meta.json
mutual-aid.md
mutual-aid.meta.json
national-park.md
national-park.meta.json
natural-wine.md
natural-wine.meta.json
neobank-mint.md
neobank-mint.meta.json
neon-arcade.md
neon-arcade.meta.json
newsletter-sunday.md
newsletter-sunday.meta.json
nightclub-strobe.md
nightclub-strobe.meta.json
notion-beige.md
notion-beige.meta.json
observatory.md
observatory.meta.json
obsidian.md
obsidian.meta.json
ocean-depth.md
ocean-depth.meta.json
old-money.md
old-money.meta.json
oss-terminal.md
oss-terminal.meta.json
paper-white.md
paper-white.meta.json
pastel-candy.md
pastel-candy.meta.json
payday-punch.md
payday-punch.meta.json
pet-pawprint.md
pet-pawprint.meta.json
pharma-clean.md
pharma-clean.meta.json
pixel-quest.md
pixel-quest.meta.json
podcast-studio.md
podcast-studio.meta.json
poker-felt.md
poker-felt.meta.json
portfolio-studio.md
portfolio-studio.meta.json
quantum-lab.md
quantum-lab.meta.json
rave-poster.md
rave-poster.meta.json
realty-open-house.md
realty-open-house.meta.json
record-sleeve.md
record-sleeve.meta.json
remote-hub.md
remote-hub.meta.json
risograph.md
risograph.meta.json
roblox-bubble.md
roblox-bubble.meta.json
robotics-lab.md
robotics-lab.meta.json
running-kilometer.md
running-kilometer.meta.json
scandi-pine.md
scandi-pine.meta.json
science-journal.md
science-journal.meta.json
skate-deck.md
skate-deck.meta.json
ski-alpine.md
ski-alpine.meta.json
skincare-matte.md
skincare-matte.meta.json
social-dusk.md
social-dusk.meta.json
solarpunk.md
solarpunk.meta.json
spa-onsen.md
spa-onsen.meta.json
space-mission.md
space-mission.meta.json
spatial-glass.md
spatial-glass.meta.json
speakeasy.md
speakeasy.meta.json
speedrun-clock.md
speedrun-clock.meta.json
sports-hud.md
sports-hud.meta.json
storybook-paper.md
storybook-paper.meta.json
street-food.md
street-food.meta.json
... 784 moreFAQ
stevesolun-ctx is a Claude Code plugin with 16 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes ctx-dispatch, ctx-verify, agents-md-protocol. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.