PactKit

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 CodeOpenCodeCodex CLICopilot
Deploy target~/.claude/ (user)~/.config/opencode/ (user)~/.codex/ (user).github/ (project)
First-time setuppactkit init oncepactkit init oncepactkit init oncepactkit init per project
Shared across projectsYesYesYesNo — each project owns its config
Rules loading@importinstructions + @referenceInline in skillsInline in prompts
Agent modelMulti-agent (9 roles)Multi-agentSingle-agentMulti-agent (individual files)
Sprint commandFull orchestrationFull orchestrationNot availableNot available

Install

pip install pactkit pactkit-copilot

Unlike 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 copilot

This creates the .github/ structure:

PathContents
.github/skills/{name}/SKILL.md10 skills (3 scripted + 7 prompt-only)
.github/agents/{name}.md9 agent definitions (individual files)
.github/prompts/{name}.prompt.md10 slash commands (PDCA entry points)
.github/copilot-instructions.mdProject-level instructions with PDCA routing
.github/copilot-instructions.local.mdYour custom overrides (never overwritten)
.github/pactkit.yamlProject config

Step 2: IDE — Initialize PDCA

Open the project in your Copilot-enabled IDE, then use:

/project-init

This 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 update

Update 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):

Strategycopilot-instructions.mdCommand promptsToken cost
minimal-core (default)Routing table onlyFull rules inlined per commandLower per-turn
full-inlineAll core rules mergedAdditional rules per commandHigher baseline
# pactkit.yaml
copilot_rules_strategy: minimal-core  # or full-inline

Slash 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:

OriginalReplaced
Claude CodeGitHub Copilot
AnthropicGitHub
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-copilot

Rules 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.

On this page