Autonomous execution protocol for implementing tasks. Governs planning, iteration, subagent use, verification, and self-correction. Use when executing any non-trivial implementation work — recipe edits, code changes, CI/CD updates, or multi-step tasks.
This skill is mandatory for all implementation work. copilot-instructions.md requires it for any task involving file changes, multi-step work, or structural decisions. Read it before starting.
These govern every decision during execution:
Establish a clear plan before making changes whenever the task involves 3+ steps or any structural judgment.
| Situation | Response |
|---|---|
| Single-file, obvious fix | Implement immediately — no ceremony needed |
| Changes spanning multiple files | Outline the sequence first |
| Structural or format decisions | Specify the approach before touching files |
| Ambiguous requirements | Research first (subagents are cheap) |
| User story with acceptance criteria | Decompose criteria into ordered checkpoints |
manage_todo_list) with concrete, verifiable itemsFor every planned item:
1. Flag it as in-progress
2. Make the change
3. Prove it works (validate, build, inspect diff)
4. Flag it as done
5. Commit when you reach a logical boundary
6. Advance to the next item
A task is not done until you can demonstrate it works. That means:
recipe-versioning skill)Preserve your context window by offloading research and exploration.
| Work | Delegate? |
|---|---|
| Exploring recipe patterns across the repo | Yes |
| Scanning for broken cross-references | Yes |
| Reading multiple skill files for context | Yes |
| Making a single targeted edit | No — do this inline |
| Investigating CI failures or build errors | Yes |
Completion requires evidence, not just intent.
path values in related[] point to real filesgit diff — read every hunk for accidental changesdotnet builddotnet testgit diff — no unintended changesAfter something works but before you commit, pause: "Is there a cleaner way to express this?"
When you encounter a failing build, broken YAML, validation error, or CI failure: resolve it without prompting.
Correct course in real time, not just at session end.
After any mistake or user correction during a session:
This complements the mandatory end-of-session self-evaluation. The difference: this happens the moment you learn something, not after the work is finished.
These behaviors are explicitly disallowed:
Task arrives
↓
Trivial (1-2 steps)?
Yes → Implement, verify, commit
No ↓
Plan: build todo list with verifiable items
↓
Per item:
Start → Implement → Prove → Complete → Commit
↓
Stuck? → Stop → Re-plan → Resume
↓
All done?
↓
Final gate:
Valid ✓ | Validated ✓ | Diff clean ✓ | Review-ready ✓
↓
Self-evaluate (per self-evaluation skill)
↓
Ship it