copilot-delegate
Lets your agent hand off coding tasks to GitHub Copilot only when you ask. The main agent always reviews and approves the final code.
What it does
This tool lets you ask the GitHub Copilot CLI to perform coding tasks. You write detailed instructions, Copilot writes the code, and you review the result before accepting it.
When to use it
- ✓When you want Copilot to write a specific code snippet.
- ✓When you want to review the code Copilot generated before using it.
- ✓When the user explicitly asks to use the GitHub Copilot CLI.
Example of what to ask your AI
“Ask Copilot to add a secure login function to my web app.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You write a detailed 'brief' explaining what you need. The tool sends this to the GitHub Copilot CLI, which attempts to write the code. You then check if the code is correct and save it.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill copilot-delegateOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/copilot-delegate/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Copilot Delegate
When to Use
- You want to delegate a bounded coding task to a separate
copilotimplementer (GitHub Copilot CLI) and then review its diff yourself. - The user explicitly asked for delegation to this implementer.
You are the orchestrator. Delegate a bounded coding task to a separate implementer — the GitHub Copilot CLI — then review what it produced and land it yourself. You write the brief and own the judgment; the implementer makes changes in its own session in a clean working tree; you verify and commit.
The loop needs only a shell command and file access, so any comparable orchestrator can drive it.
When NOT to use this
- The task is small enough to do inline; delegation overhead is not worth it.
- The
copilotCLI is not installed or authenticated. - You need a hard sandbox. Copilot exposes sandbox controls, but they are upstream-experimental
(MXC-based, controlled via the
/sandboxcommand and settings, disabled by default) — this relay does not configure them.--read-onlyonly disables edit tools (--mode plan); shell commands still run. If project files must not change at all, dispatch against a clean or isolated worktree.
Prerequisites (check once)
- Install
copilot(npm install -g @github/copilot; the CLI requires Node 22+, the relay itself runs on Node 18+ — the relay probescopilot version). - Authenticate: run
copilot login(interactive web/device flow), or setCOPILOT_GITHUB_TOKEN/GH_TOKEN/GITHUB_TOKENin the environment. - Confirm
copilot versionsucceeds. - Work in, or point
--cdat, the target git repository.
Choose the model (optional)
Copilot picks a default model (auto). To choose another, pass --model <name>.
The relay accepts letters, digits, and . _ : / - only (the value reaches a shell on Windows).
Choose the effort (optional)
Copilot supports a reasoning effort dial: --effort <level> with values
low, medium, high, xhigh, or max. The relay rejects any other value
before dispatch.
The loop
Run these five steps per task. Steps 1, 4, and 5 require judgment; 2 and 3 are mechanical.
1. Write a brief
Copilot sees only the text you send. It cannot read your conversation: the brief must stand alone
with the goal, current state, what to change, what to leave untouched, the project's real
gates, and a report contract. Keep each brief to a single task. Write it to a file and pass it as
the relay's --brief. See references/writing-the-brief.md.
2. Dispatch
Use the bundled relay. It runs copilot -p with --output-format json --no-color --stream off,
captures the JSONL event stream, and writes result.json.
node "<skill-dir>/scripts/relay.mjs" --brief brief.txt --cd /path/to/repo
# choose a model: add --model <name>
# set reasoning effort: add --effort <level>
# read-only planning pass: add --read-only (forces --mode plan)
# full tool autonomy: add --allow-all-tools
# hard time limit (watchdog): add --timeout 2h (the 30m default suits brief runs)
# resume a session: add --session <id> or --resume-last
# see all options: node .../relay.mjs --help
The child's cwd pins the workspace. The relay writes artifacts under the system temp dir by default and never commits. See references/dispatch-and-poll.md.
3. Wait for completion
The relay blocks until copilot finishes. Run it with the orchestrator's background-command
facility, or background it in the shell and poll for result.json. A pre-run usage error exits 2
and writes no result; a missing copilot exits 127 and writes status: "copilot_unavailable".
Completion means the process exited and result.json exists — trust process state and the
working tree, not the progress display. Copilot's final assistant message is the finalMessage
field of result.json.
4. Review — do not trust the self-report
- Re-run the project's gates yourself.
- Read the diff against the brief, starting with
touchedFiles. - Run relevant guard skills if installed.
See references/review-and-land.md.
5. Land it
If the work is good, commit it. The relay never commits — the diff and result.json are the
record; run git status and git diff first to confirm exactly what changed. If the group has a
…
FAQ
What is a 'brief'?
It's a text you write with all the instructions for Copilot. It needs to be clear and complete, as Copilot cannot access your conversation.
What if Copilot makes a mistake?
You review the generated code. If it's not good, you can correct the brief and ask Copilot to try again.
Can Copilot change my files directly?
By default, it doesn't. You can ask it to only plan changes (`--read-only`). If you allow it to make changes, you still need to review and confirm before saving.
Details
Original description by the author
Delegate coding tasks to the GitHub Copilot CLI (`copilot`) only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.
Popularity
- GitHub stars
- 48k
- Ranking position
- #2653
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
benchmark-optimization-loop
Has your agent improve something's speed in a measured way. It tests multiple versions and chooses the fastest one that still works correctly.
affaan-m/ECC
change-impact
Helps your agent analyze the impact of code changes before making them. It compares the planned vs. actual results afterward, covering paths, data, tests, and documentation. Useful for risky or system-wide changes.
affaan-m/ECC
click-path-audit
Lets your agent trace all user buttons and interactions to find bugs. It finds issues where functions seem to work alone but fail together. Useful when bugs persist even after debugging.
affaan-m/ECC