GitHub Copilot CLI Operator
Use this skill to reliably call Copilot CLI from OpenClaw.
Core rules
- Verify Copilot CLI exists (
copilot --version) before first task. - Always run Copilot through OpenClaw
execwithpty:true. - Always set explicit
workdirto the target repository. - For long tasks, use
background:trueand track viaprocess. - Report clear milestones: started, waiting-input, finished/failed.
Execution patterns
One-shot coding task
Use:
exec.command:copilot -p "<task>" --allow-all-toolsexec.pty:trueexec.workdir:<repo path>
Scoped tool approval
Use --allow-tool and --deny-tool to control what Copilot can do:
exec.command:copilot -p "<task>" --allow-tool 'shell(git)' --allow-tool 'write'exec.pty:trueexec.workdir:<repo path>
To block dangerous operations:
copilot -p "<task>" --allow-all-tools --deny-tool 'shell(rm)' --deny-tool 'shell(git push)'
Interactive session
Use:
exec.command:copilotexec.pty:trueexec.workdir:<repo path>
Long-running background task
- Start with
exec(background:true, pty:true, workdir, command:"copilot -p '...' --allow-all-tools") - Record returned
sessionId. - Poll with
process action:poll. - Read output with
process action:log. - If Copilot asks for input, use
process action:submit.
Resume a previous session
Use:
exec.command:copilot --resume(select from list)exec.command:copilot --continue(resume most recent)
Recommended prompts
- "Implement <feature> with tests, run tests, and summarize changed files."
- "Find root cause for failing CI in this repo and propose minimal fix."
- "Review current branch diff and list high-risk issues first."
- "Work on issue https://github.com/owner/repo/issues/123 in a new branch."
- "Create a PR that updates the README with the latest API usage."
Guardrails
- Do not claim files were changed unless logs show completion.
- If
copilotis missing or auth fails, return exact remediation steps. - Keep OpenClaw tool config (
pty/workdir/background) separate from CLI args. - Prefer
--allow-toolwith specific scopes over--allow-all-toolsfor safety. - Use
--deny-tool 'shell(rm)'when working in directories with important data.
References
references/copilot-doc-summary.mdreferences/copilot-usage-recipes.mdscripts/run-copilot-example.sh