GitHub Copilot
This guide covers using Flow with GitHub Copilot. You will learn:
- How to install the Flow harness for Copilot
- Where Flow writes its files in a Copilot project
- How to invoke Flow's skills
Overview
GitHub Copilot has no native skills concept, so Flow adapts to the mechanism Copilot does provide: custom agents and prompt files. The harness docs index becomes a managed block in .github/copilot-instructions.md, and every Flow skill is installed as a custom agent paired with a prompt file.
This page covers only the Copilot specifics. If you have not added the Flow package to your project yet, start with the Installation guide.
Installing for Copilot
Run the harness installer and select GitHub Copilot at the agent prompt:
node ace flow:install
Flow detects Copilot automatically when a .github/copilot-instructions.md file or a .github/agents directory is present, so it is usually pre-selected. To target it directly and skip the agent prompt, pass the --agent flag:
node ace flow:install --agent=copilot
Where Flow writes its files
Installing for Copilot adds the following to your project:
.flow/docs/holds the harness docs. This location is the same for every agent..github/copilot-instructions.mdgains the managed harness block: the docs index and the project facts. Flow upserts this block between comment markers and leaves the rest of the file untouched..github/agents/gains oneflow.<skill>.agent.mdfile per installed skill. This file is the skill's full definition..github/prompts/gains a companionflow.<skill>.prompt.mdfile per skill. This stub is what surfaces the skill as a slash command.
The .flow/docs/ directory and the installed flow. agent and prompt files are added to .gitignore, because the harness is regenerated by re-running the installer.
Invoking skills
Each skill's prompt file surfaces in Copilot Chat as a slash command named after the skill. The skill installed as flow.brief is invoked as /flow.brief:
/flow.brief checkout-redesign
Every spec-driven workflow skill follows the same /flow.<name> pattern: /flow.blueprint, /flow.assert, /flow.build, /flow.sync, /flow.archive. Invoking a skill explicitly is the intended way to drive the workflow: it keeps you in control of when each step runs and lets you review the result before advancing.
Next steps
- Spec-driven development explains the workflow these skills implement.
- Knowledge base describes the harness docs Copilot reads from.