This adapter is out of the supported scope. pactkit-copilot was published
through 4.1.0 and that release still installs and works
(pip install pactkit-copilot); it receives no further updates. It was never part
of the default install — pip install "pactkit[all]" does not pull it, and there
is no pactkit[copilot] extra — it is skipped by the batch deploy (as of
4.1.1, pactkit init deploys the three supported formats, not this one), and it
is not covered by release acceptance. Naming it explicitly still works:
pactkit init --format copilot deploys it as before.
PactKit supports Claude Code, Codex and OpenCode. The page below is
kept because the adapter still exists and these facts are still true.
Overview
GitHub Copilot integration is available since PactKit v2.9.4 via the pactkit-copilot adapter package.
Copilot works differently from other adapters. Claude Code, OpenCode, and Codex CLI deploy to a user-level directory once (~/.claude/, ~/.config/opencode/, ~/.codex/) and all projects share the same configuration. Copilot deploys to a project-level .github/ directory — each new project requires its own pactkit init.
Why project-level?
GitHub Copilot loads configuration from the project's .github/ directory. There is no global user-level config directory like ~/.claude/. This means:
- Skills, agents, and prompts must live inside each project
- Rules cannot use
@include— they must be inlined into command prompts - Each project is self-contained and version-controlled
Deployment Model Comparison
| Claude Code | OpenCode | Codex CLI | Copilot | |
|---|---|---|---|---|
| Deploy target | ~/.claude/ (user) | ~/.config/opencode/ (user) | ~/.codex/ (user) | .github/ (project) |
| First-time setup | pactkit init once | pactkit init once | pactkit init once | pactkit init per project |
| Shared across projects | Yes | Yes | Yes | No — each project owns its config |
| Rules loading | @import | instructions + @reference | Inline in skills | Inline in prompts |
| Agent model | Multi-agent (9 roles) | Multi-agent | Single-agent | Multi-agent (individual files) |
| Sprint command | Full orchestration | Full orchestration | Not available | Not available |
Install
pip install pactkit pactkit-copilotUnlike other adapters, pactkit-copilot is a separate package (not bundled in core) because Copilot's project-level deployment model is fundamentally different from the user-level model used by other IDEs.
Usage: Two-Step Bootstrap
Copilot projects require a two-step initialization — first in the terminal, then in the IDE:
Step 1: Terminal — Deploy infrastructure
cd your-project
pactkit init --format copilotThis creates the .github/ structure:
| Path | Contents |
|---|---|
.github/skills/{name}/SKILL.md | 10 skills (3 scripted + 7 prompt-only) |
.github/agents/{name}.md | 9 agent definitions (individual files) |
.github/prompts/{name}.prompt.md | 10 slash commands (PDCA entry points) |
.github/copilot-instructions.md | Project-level instructions with PDCA routing |
.github/copilot-instructions.local.md | Your custom overrides (never overwritten) |
.github/pactkit.yaml | Project config |
Step 2: IDE — Initialize PDCA
Open the project in your Copilot-enabled IDE, then use:
/project-initThis creates the governance structure (docs/specs/, docs/product/sprint_board.md, etc.), same as other IDEs.
Do not skip Step 1. Unlike other IDEs where /project-init works immediately after a one-time pactkit init, Copilot requires the .github/ infrastructure to be deployed first via pactkit init --format copilot in every new project.
Update
cd your-project
pip install --upgrade pactkit pactkit-copilot
pactkit updateUpdate regenerates all managed files in .github/ while preserving:
.github/copilot-instructions.local.md(your custom instructions).github/pactkit.yaml(your project config)
MCP Server Setup
Copilot supports MCP servers via .vscode/mcp.json. PactKit recommends 5 verified servers (Playwright, Chrome DevTools, Memory, Draw.io, Context7) for browser testing, persistent memory, and documentation lookup.
See MCP Integration — GitHub Copilot Configuration for the full setup guide with verified npm packages.
Key Differences from Other IDEs
No @include for Rules
Copilot does not support @include or @import directives. PactKit handles this by inlining rules directly into each command prompt file (.github/prompts/*.prompt.md).
Two strategies are available (configured in pactkit.yaml):
| Strategy | copilot-instructions.md | Command prompts | Token cost |
|---|---|---|---|
minimal-core (default) | Routing table only | Full rules inlined per command | Lower per-turn |
full-inline | All core rules merged | Additional rules per command | Higher baseline |
# pactkit.yaml
copilot_rules_strategy: minimal-core # or full-inlineSlash Commands as .prompt.md
Copilot uses .prompt.md files in .github/prompts/ for slash commands. Each file becomes a /command-name in the Copilot chat:
.github/prompts/
project-plan.prompt.md → /project-plan
project-act.prompt.md → /project-act
project-check.prompt.md → /project-check
project-done.prompt.md → /project-done
...Multi-Agent via Individual Files
Unlike Codex CLI (single AGENTS.md), Copilot supports multi-agent via individual files in .github/agents/:
.github/agents/
senior-developer.md
system-architect.md
qa-engineer.md
repo-maintainer.md
...Each agent file includes Copilot-compatible frontmatter (name, description, tools).
Brand Replacement
All Claude/Anthropic references are automatically replaced:
| Original | Replaced |
|---|---|
| Claude Code | GitHub Copilot |
| Anthropic | GitHub |
claude-sonnet-* | capable-model |
~/.claude/ | .github/ |
Excluded Commands
/project-sprint is excluded from Copilot deployment — it requires multi-agent orchestration capabilities that Copilot does not fully support.
Version Control
The .github/ directory is meant to be committed and shared with your team:
git add .github/
git commit -m "feat: add PactKit Copilot configuration"This means teammates get the full PactKit governance structure without running pactkit init themselves — they only need to run /project-init in their IDE.
Troubleshooting
Commands not appearing in Copilot
Make sure .github/prompts/ exists and contains .prompt.md files. Run pactkit init --format copilot to regenerate.
"Unknown format: copilot" error
You need the separate adapter package:
pip install pactkit-copilotRules not loading
Copilot doesn't support @include. Check that copilot_rules_strategy in pactkit.yaml is set correctly, and that command prompt files contain inlined rules sections.