copilot-goal-skill is published by Gaetan Semet from gsemet/copilot-goal-skill, pinned to 17d0452fcb08adc7cc0cdf61a174e7045f3b5586. Review the source before installing.
Verified autonomous task completion — an orchestrator that bounces between a Builder (does the work) and an Inspector (judges the result) until the goal is met.
[!TIP] You need to enable Copilot YOLO mode to use this skill efficiently.
Important: Why Not Just Autopilot?
Autopilot is a similar feature directly provided by Copilot. It used to use hardcoded rules to find out if a task is done, which was not reliable.
[!IMPORTANT]
Starting VS Code 1.124, Autopilot CAN be configured to use an utility model to evaluate to completion of the task, instead of relying on custom rules.
For that you need to set chat.autopilot.advanced.enabled to
truein your VS Code settings.However, this skill is not deprecated by Autopilot if you care about the following:
- the
goal.mdis clearly defined, written in your repository- Use a smarter model for inspector (Autopilot uses a small utility model)
- Git audit trail (you can see in the history the different review, retry, ...)
How It Works
- Relentless interview — asks clarifying questions until it can write a clear goal with measurable acceptance criteria
- Project discovery — explores your repo for conventions, quality gates, commit rules
- Writes a goal file — immutable
goal.mdwith acceptance criteria that becomes the single source of truth - Builder → Inspector loop — the Builder implements and commits; a separate Inspector (different model, fresh context) independently verifies against the goal; if FAIL, the Builder gets feedback and tries again
- Git commit trail — each iteration is committed, so you can review the history of coder and inspector decisions
- Summary and squash — when the Inspector says PASS, you get a summary and a ready-to-use squash command
Architecture
| Agent | Model | Role |
|---|---|---|
| Builder | GPT-5.6 Luna | Implements the goal |
| Inspector | GPT 5.6 Sol | Verifies independently |
The Inspector runs on a separate model with fresh context by design — it forces clear, verifiable acceptance criteria. If the Inspector can't tell whether the goal is met, the goal was poorly defined.
Installation
Marketplace
Install this project as Marketplace in VS code settings:
https://github.com/gsemet/copilot-goal-skill.git
Manual
Clone this repo and point VS Code at it as a Copilot plugin:
// .vscode/settings.json
{
"github.copilot.chat.agent-plugins": [
"/path/to/copilot-goal-skill/plugins/copilot-goal-skill"
]
}
Or install from the marketplace if your setup supports
marketplace.json-based plugins.
Usage
Invoke the skill through Copilot chat:
/copilot-goal-skill:goal Add retry logic to the API client
The skill will:
- Ask you clarifying questions until the goal is clear
- Write
.goals/<id>/goal.md - Start the Builder → Inspector loop
- Show a summary and squash command when done
File Structure
When the skill runs, it creates in your project:
.goals/<id>/
├── goal.md # What must be achieved (immutable)
├── status.json # Iteration tracking + resumability
├── inspector-feedback-01.md # First iteration feedback
├── inspector-feedback-02.md # Second iteration (if needed)
└── summary.md # Final report (after PASS)
Plugin Structure
copilot-goal-skill/
├── .github/plugin/marketplace.json
├── images
│ └── goal-loop.svg # Animated workflow diagram
├── README.md
├── LICENSE
└── plugins/copilot-goal-skill/
├── .github/plugin/plugin.json
├── skills/goal/
│ ├── SKILL.md # Orchestrator instructions
│ └── assets/
│ └── goal-template.md # Template for goal files
└── agents/
├── goal-builder.agent.md
└── goal-inspector.agent.md
Configuration
| Setting | Default | Notes |
|---|---|---|
| Builder model | GPT-5.6 Luna | In goal-builder.agent.md |
| Inspector model | GPT 5.6 Sol | Independent verification model |
| Iteration limit | None | Soft warning at 5 |
| Commit convention | Conventional commits | Overridden by project's own |
License
MIT