Using context-kit with GitHub Copilot¶
context-kit is a plugin marketplace that GitHub Copilot CLI installs from
directly — the same plugins Claude Code and APM use, from one shared source.
No manual copying of skill folders.
GitHub Copilot CLI installs via copilot plugin; Claude Code installs via
/plugin and APM via apm install. The retrieval SKILL.md bodies, their
references/, the agents, and the commands are identical across hosts.
Install for GitHub Copilot¶
Register this marketplace, then install the plugins you want:
copilot plugin marketplace add mbeacom/context-kit
copilot plugin install code-search@context-kit # auto-installs retrieval-core
copilot plugin install local-rag@context-kit
copilot plugin install obsidian@context-kit
copilot plugin install plan-execute@context-kit
copilot plugin install context-steering@context-kit
copilot plugin install verify@context-kit # auto-installs retrieval-core
copilot plugin install runtime-evidence@context-kit # pulls verify, then retrieval-core
copilot plugin install context-handoff@context-kit # pulls verify, then retrieval-core
copilot plugin install memory@context-kit # pulls handoff, verify, retrieval-core
copilot plugin install plugin-forge@context-kit
runtime-evidence and context-handoff depend on verify; verify
transitively pulls retrieval-core. memory depends on context-handoff.
Manage them with copilot plugin list, copilot plugin update <name>, and
copilot plugin uninstall <name>.
What you get¶
| Repository asset | GitHub Copilot | Claude Code |
|---|---|---|
plugins/*/skills/<name>/SKILL.md (+ references/) |
Installed via copilot plugin install |
Installed via /plugin install |
plugins/retrieval-core/agents/retrieval-strategist.md |
Installed with the plugin | Installed as a subagent |
plugins/local-rag/bin/rag |
Bootstrap manually — see below | Auto-bootstrapped by a Claude SessionStart hook |
plugins/memory/scripts/memory-provider.py |
Run explicitly; Copilot does not run Claude hooks | Explicit commands plus opt-in Claude hooks |
.claude-plugin/* manifests |
Used to resolve the marketplace | Marketplace packaging |
Copilot's discovery-critical skill frontmatter is name and description, which
this repo's skills keep compatible.
Using the skills¶
Once installed, ask Copilot naturally, for example:
- "Use the retrieval strategy to find where retry backoff is handled."
- "Use code-search to find structural React
useEffectcleanup issues." - "Use local-rag to query my notes for billing open questions."
- "Use the Obsidian RAG bridge to search notes linked to Project X."
- "Analyze the prospective impact of changing this schema."
- "Collect bounded runtime evidence for this unable-to-check claim."
- "Write a context handoff for the next session."
- "Recall why this project changed its retry policy, then verify current evidence."
Running local-rag outside Claude Code¶
local-rag's rag CLI runs on a uv-managed venv. Claude Code bootstraps it
automatically via a SessionStart hook; GitHub Copilot does not run Claude hooks,
so bootstrap it once yourself from a clone of this repo:
export CONTEXT_KIT_DATA="$HOME/.local/share/context-kit"
bash plugins/local-rag/scripts/bootstrap.sh
export PATH="$PWD/plugins/local-rag/bin:$PATH"
ollama pull nomic-embed-text
rag index /path/to/vault --name notes
rag query "open questions about billing" --name notes --k 8
rag query "open questions about billing" --name notes --k 8 --hybrid
Supported neutral environment variables:
| Variable | Purpose | Claude fallback |
|---|---|---|
CONTEXT_KIT_DATA |
venv and index storage for local-rag |
CLAUDE_PLUGIN_DATA |
CONTEXT_KIT_EMBED_MODEL |
ollama embedding model | CLAUDE_PLUGIN_OPTION_EMBED_MODEL |
CONTEXT_KIT_OLLAMA_HOST |
ollama base URL | CLAUDE_PLUGIN_OPTION_OLLAMA_HOST |
CONTEXT_KIT_OBSIDIAN_VAULT |
vault path used by examples/fallbacks | CLAUDE_PLUGIN_OPTION_VAULT_PATH |
CONTEXT_KIT_RUNTIME_EVIDENCE_CONFIG |
user-owned exact-ID JSON command allowlist | — |
CONTEXT_KIT_RUNTIME_EVIDENCE_ROOT |
installed runtime-evidence root | CLAUDE_PLUGIN_ROOT |
CONTEXT_KIT_HANDOFF_PATH |
handoff artifact override | — |
CONTEXT_KIT_MEMORY_PROVIDER |
none or optional mempalace provider |
CLAUDE_PLUGIN_OPTION_PROVIDER |
CONTEXT_KIT_MEMORY_HOME |
reviewed records and project-isolated provider data | CLAUDE_PLUGIN_OPTION_MEMORY_HOME |
CONTEXT_KIT_MEMORY_PROJECT |
explicit durable-memory project scope | CLAUDE_PLUGIN_OPTION_PROJECT |
CONTEXT_KIT_MEMORY_AUTO_CAPTURE |
opt-in Claude lifecycle forwarding | CLAUDE_PLUGIN_OPTION_AUTO_CAPTURE |
CONTEXT_KIT_MEMORY_ROOT |
installed memory plugin root | CLAUDE_PLUGIN_ROOT |
The Claude-specific variables remain supported so existing plugin installs keep
working. The CONTEXT_KIT_* names are preferred for portable docs and
shell profiles shared across agents. The former PRODUCTIVITY_SKILLS_* names
(from before the marketplace was renamed to context-kit) are still honored as a
deprecated alias — resolution order is CONTEXT_KIT_* → PRODUCTIVITY_SKILLS_* →
the Claude fallback — but will be dropped in a future release; migrate when convenient.
Tooling expectations¶
Neither host installs the underlying CLI tools for you. Install the same tools the skills expect:
- Required for
code-search:rg(ripgrep). - Optional but useful:
fd,ast-grep/sg,semgrep,jq,yq,gron,duckdb,sqlite-utils,rga,pandoc,pdftotext,difftastic,tokei,scc, andrtk. - Required for
local-rag:uv,ollama, and an embedding model such asnomic-embed-text. SQLite FTS5 is required only for opt-in--hybrid; the default semantic mode remains available without it. - Required for
runtime-evidenceandcontext-handoff: Python 3. Their runner and validator use only the standard library. The runtime runner requires POSIX and refuses Windows before execution; the handoff validator is cross-platform. Copilot does not provide universal host-level command enforcement; runtime collection remains bound to the plugin's reviewed exact-ID allowlist. - Optional for
obsidian-rag-bridge: the officialobsidianCLI with Obsidian running; otherwise use therg/fdfallback over vault files. - Required for local
memoryrecords: Python 3. Optional provider recall uses a separately installedmempalaceCLI. Copilot does not run the plugin's Claude lifecycle hooks, so capture remains explicit unless a native host integration is configured separately.
Run plugins/code-search/scripts/check-tools.sh from a clone of this repository to
see what is already installed and what brew install ... command would fill the gaps.
Authoring portable skills¶
When updating this repo, keep the reusable retrieval instructions agent-neutral:
- Put cross-agent workflow knowledge in
SKILL.mdandreferences/. - Keep Claude marketplace mechanics in
.claude-plugin/, hooks, and Claude-only docs. - Prefer
CONTEXT_KIT_*in portable examples, withCLAUDE_PLUGIN_*documented as the Claude fallback. - Mention when a behavior is installed automatically by Claude (for example, the
local-ragbootstrap hook) but must be run manually for GitHub Copilot. - Keep command output compact when possible (
rtkis optional and safe to omit).