Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/stevesolun/ctx/docsnpx skills add stevesolun/ctx --skill docsgit clone --depth 1 https://github.com/stevesolun/ctxWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00072 | $0.02185 |
| Opus 5 | $0.00036 | $0.01092 |
| Sonnet 5 | $0.00014 | $0.00437 |
| Haiku 4.5 | $0.00007 | $0.00218 |
Grade A, and why
skill-router scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 305 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill Router
Scan a repo. Know what the current work needs. Recommend only that. Keep the wiki and graph as the durable catalog behind the decision.
Scope
The router manages runtime recommendations for:
- skills
- agents
- MCP servers
Harnesses are separate catalog entities. They are recommended when a user wants to run ctx with a non-Claude-Code host, local model, API model, or external loop adapter. Once attached, the harness calls the same skills/agents/MCP recommendation engine.
Problem
Every loaded helper costs tokens, attention, and operational surface area. Most sessions need a small top-scored bundle from the shipped graph, not every entity ctx knows about. Loading too much:
- wastes context on irrelevant instructions,
- causes misfires when a helper matches the wrong task,
- slows the agent loop, and
- creates conflicting instructions.
Architecture
ctx/
|-- src/scan_repo.py # Repo scanner -> stack profile
|-- src/ctx/core/resolve/resolve_skills.py # Profile -> load/unload manifest
|-- src/ctx/core/resolve/recommendations.py # Shared scoring/ranking engine
|-- src/ctx/adapters/ # Host adapters + generic tools
|-- src/harness_install.py # Custom-model harness install flow
`-- graph/wiki-graph-runtime.tar.gz # Shipped graph/wiki runtime
The router has three halves:
- Scanner - analyzes a repo and produces stack/task evidence.
- Resolver - scores graph/wiki entities and emits a capped manifest.
- Wiki/graph - persistent catalog of entities, usage, quality, and links.
Startup Flow
- Read the shipped graph/wiki metadata and local user overrides.
- Run
ctx-scan-repo --repo . --recommendfor the active repo. - Resolve a load/unload manifest with the shared recommendation engine.
- Present changes with reasons and require confirmation unless the user enabled automatic mode.
- Record usage/quality changes after the user accepts or rejects suggestions.
What ships with it
56 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/javascripts/catalog.js 2.5 KB runs code
- assets/javascripts/repo-stats-refresh.js 3.2 KB runs code
- backup-hook-install.md 9.2 KB
- catalog.md 10 KB
- ctx-fit/ARCHITECTURE_CANDIDATES.md 13 KB
- ctx-fit/ARCHITECTURE_GAP_ANALYSIS.md 11 KB
- ctx-fit/CTX_AUDIT.md 12 KB
- ctx-fit/CURRENT_STATE.md 16 KB
- ctx-fit/DECISIONS.md 16 KB
- ctx-fit/GOOD_FIRST_ISSUES.md 21 KB
- ctx-fit/IMPLEMENTATION_TRACKER.md 697 B
- ctx-fit/MAP.md 7.8 KB
- ctx-fit/milestones/M1_SPIKE_FRICTION_LOG.md 5.5 KB
- ctx-fit/milestones/MILESTONE_00_AUDIT.md 5.1 KB
- ctx-fit/planned_tasks.md 18 KB
- ctx-fit/PRD.md 9.7 KB
- ctx-fit/STATE.md 61 KB
- dashboard.md 25 KB
- enterprise-readiness-review.md 8.7 KB
- entity-onboarding.md 18 KB
- harness/attaching-to-hosts.md 16 KB
- harness/clean-host-contract.md 4.5 KB
- harness/loopflow-adapter-demo.md 11 KB
- huggingface-publish.md 3.3 KB
- index.md 22 KB
- knowledge-graph.md 23 KB
- marketplace-registry.md 4.0 KB
- memory-anchor.md 2.7 KB
- plans/ctx-agent-reviewer-workbench.md 12 KB
- plans/unified-capability-engine.md 59 KB
- qa/dashboard-user-story-status.csv 26 KB
- qa/feature-user-story-status.csv 93 KB
- research/context-engineering-guidance-audit.md 10 KB
- services/macos/com.claude.backup.watchdog.plist 1.7 KB
- services/systemd/claude-backup-watchdog.service 1.3 KB
- skill-lifecycle-and-dashboard.md 6.2 KB
- skill-quality-install.md 6.2 KB
- skill-router/index.md 2.5 KB
- skill-stack-matrix.md 5.5 KB
- skills-health.md 3.5 KB
- stack-signatures.md 6.2 KB
- telemetry.md 25 KB
- threat-model.md 15 KB
- toolbox/behavior-miner.md 2.6 KB
- toolbox/configuration.md 4.0 KB
- toolbox/council-runner.md 2.4 KB
- toolbox/hooks.md 2.6 KB
- toolbox/index.md 3.0 KB
- toolbox/intent-interview.md 3.0 KB
- toolbox/starters.md 3.0 KB
- toolbox/templates/docs-review.json 599 B
- toolbox/templates/fresh-repo-init.json 533 B
- toolbox/templates/refactor-safety.json 634 B
- toolbox/templates/security-sweep.json 636 B
- toolbox/templates/ship-it.json 676 B
- toolbox/verdicts.md 4.0 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 305 lines · 72 tokens per session scan A 7b5e50e5ca34
skill-router is a skill published in the GitHub repository stevesolun/ctx (581 stars, last pushed 8d ago), licensed MIT. It adds 72 tokens to every session and 2,185 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
agent-code-analyzer
Agent skill for code-analyzer - invoke with $agent-code-analyzer.
foundry-config-setup
Resolve missing setup caused by a hardcoded Foundry project endpoint or model in a sample. Use when a sample fails because it uses a placeholder/hardcoded projectendpoint (for example "https://your-project.services.ai.azure.com") or a hardcoded model instead of reading them from the environment.
haiku
When writing a haiku for this bot, follow these conventions.
deploy-docker-compose
Run the Omnigent server as a Docker compose stack (server + Postgres) on any Docker host — your laptop, a VPS, EC2 by hand, or as the base layer of any container-platform deploy. Invoke when the user wants to build the image, bring up the compose stack, debug the stack on a host they already have, or extend the stack…
azure-mgmt-botservice-dotnet
Azure Resource Manager SDK for Bot Service in .NET. Management plane operations for creating and managing Azure Bot resources, channels (Teams, DirectLine, Slack), and connection settings. Triggers: "Bot Service", "BotResource", "Azure Bot", "DirectLine channel", "Teams channel", "bot management .NET", "create bot".
dogfood
Systematically explore and test a mobile app on iOS/Android with agent-device to find bugs, UX issues, and other problems. Use when asked to dogfood, QA, exploratory test, find issues, bug hunt, or test this app on mobile.