cli-five 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -13
- package/package.json +2 -2
- package/plugin-agents/coder.agent.md +0 -9
- package/plugin-agents/designer.agent.md +0 -9
- package/plugin-agents/orchestrator.agent.md +0 -17
- package/plugin-agents/planner.agent.md +0 -10
- package/plugin-agents/reviewer.agent.md +0 -10
- package/src/commands/init.mjs +2 -3
- package/src/steps/skills.mjs +59 -22
- package/templates/.github/agents/coder.agent.md +0 -9
- package/templates/.github/agents/designer.agent.md +0 -9
- package/templates/.github/agents/orchestrator.agent.md +0 -17
- package/templates/.github/agents/planner.agent.md +0 -10
- package/templates/.github/agents/reviewer.agent.md +0 -10
package/README.md
CHANGED
|
@@ -25,12 +25,12 @@ Installs the 5 agents to your Copilot profile. No project config, no interview
|
|
|
25
25
|
```
|
|
26
26
|
your-repo/
|
|
27
27
|
├── .github/
|
|
28
|
-
│ ├── agents/ # 5 agents
|
|
29
|
-
│ │ ├── orchestrator.agent.md #
|
|
30
|
-
│ │ ├── planner.agent.md #
|
|
31
|
-
│ │ ├── coder.agent.md #
|
|
32
|
-
│ │ ├── designer.agent.md #
|
|
33
|
-
│ │ └── reviewer.agent.md #
|
|
28
|
+
│ ├── agents/ # 5 agents — Orchestrator delegates autonomously
|
|
29
|
+
│ │ ├── orchestrator.agent.md # Routes tasks: Planner → Coder/Designer → Reviewer
|
|
30
|
+
│ │ ├── planner.agent.md # Researches codebase, produces implementation plans
|
|
31
|
+
│ │ ├── coder.agent.md # Writes production code, runs tests
|
|
32
|
+
│ │ ├── designer.agent.md # UI/UX design, layouts, theming
|
|
33
|
+
│ │ └── reviewer.agent.md # Code review, convention compliance
|
|
34
34
|
│ ├── copilot-instructions.md # Persona + project mandates from interview
|
|
35
35
|
│ ├── instructions/ # Stack-specific coding guidelines
|
|
36
36
|
│ └── skills/ # Installed skills from awesome-copilot + skills.sh
|
|
@@ -42,14 +42,16 @@ your-repo/
|
|
|
42
42
|
└── histories/ # Per-agent accumulated learnings
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
##
|
|
45
|
+
## How it works
|
|
46
46
|
|
|
47
|
-
The Orchestrator
|
|
47
|
+
Select the **Orchestrator** agent in Copilot Chat and describe what you want. The Orchestrator autonomously calls Planner → Coder/Designer → Reviewer without any manual handoff clicks.
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
```
|
|
50
|
+
User: implement from plan.md
|
|
51
|
+
Orchestrator → [calls Planner] → [calls Coder] → [calls Reviewer] → done
|
|
52
|
+
```
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
No buttons. No "click here to continue". Just results.
|
|
53
55
|
|
|
54
56
|
## Commands
|
|
55
57
|
|
|
@@ -77,10 +79,10 @@ npx cli-five help
|
|
|
77
79
|
2. **git init** — if needed. Asks first.
|
|
78
80
|
3. **Overwrite gate** — double-confirms ("Proceed?" then "R U Sure?"). Only `--force --yes` bypasses.
|
|
79
81
|
4. **Interview** — name, one-liner, stack, frameworks, goals, constraints, cost mode, persona toggle.
|
|
80
|
-
5. **Scaffold** — writes 18 files. Substitutes answers into templates. Swaps `model:` per cost mode.
|
|
82
|
+
5. **Scaffold** — writes 18 files. Substitutes answers into templates. Swaps `model:` per cost mode.
|
|
81
83
|
6. **Skill discovery** — the hero feature. Multi-source discovery from **awesome-copilot** (30k+ ★ community marketplace) and **skills.sh**. Color-coded recommendations, source attribution, multiselect install, and post-install breadcrumbs with copy-paste commands for the awesome-copilot suggestion skill and MCP server.
|
|
82
84
|
7. **Custom instructions** — generates stack-specific `.instructions.md` files for detected languages.
|
|
83
|
-
8. **Next steps** — tells you to
|
|
85
|
+
8. **Next steps** — tells you to open Copilot Chat, select Orchestrator, and start building. No button-clicking required.
|
|
84
86
|
|
|
85
87
|
## Cost modes
|
|
86
88
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cli-five",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.8",
|
|
4
4
|
"description": "Code Like I'm Five — scaffold a 5-agent VS Code Copilot team into any repo.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"LICENSE"
|
|
17
17
|
],
|
|
18
18
|
"scripts": {
|
|
19
|
-
"test": "node --test tests
|
|
19
|
+
"test": "node --test tests/*.test.mjs",
|
|
20
20
|
"smoke": "node bin/cli-five.mjs --help"
|
|
21
21
|
},
|
|
22
22
|
"engines": {
|
|
@@ -4,15 +4,6 @@ description: "Writes production code following workspace conventions. Use when:
|
|
|
4
4
|
model: GPT-5.3-Codex (copilot)
|
|
5
5
|
tools: ['vscode', 'execute', 'read', 'github/*', 'edit', 'search', 'web', 'vscode/memory', 'todo']
|
|
6
6
|
agents: []
|
|
7
|
-
handoffs:
|
|
8
|
-
- label: "🔍 Review"
|
|
9
|
-
agent: Reviewer
|
|
10
|
-
prompt: "Review the changes I just made for correctness and conventions."
|
|
11
|
-
send: false
|
|
12
|
-
- label: "🎯 Back to Orchestrator"
|
|
13
|
-
agent: Orchestrator
|
|
14
|
-
prompt: "Implementation complete. Coordinate next steps."
|
|
15
|
-
send: false
|
|
16
7
|
---
|
|
17
8
|
|
|
18
9
|
## Mandatory Coding Principles
|
|
@@ -4,15 +4,6 @@ description: "Handles all UI/UX design tasks. Use when: creating screens, layout
|
|
|
4
4
|
model: Claude Opus 4.6 (copilot)
|
|
5
5
|
tools: ['read', 'edit', 'search', 'web', 'vscode/memory']
|
|
6
6
|
agents: []
|
|
7
|
-
handoffs:
|
|
8
|
-
- label: "🔍 Review"
|
|
9
|
-
agent: Reviewer
|
|
10
|
-
prompt: "Review the UI changes for accessibility, conventions, and design quality."
|
|
11
|
-
send: false
|
|
12
|
-
- label: "🎯 Back to Orchestrator"
|
|
13
|
-
agent: Orchestrator
|
|
14
|
-
prompt: "Design work complete. Coordinate next steps."
|
|
15
|
-
send: false
|
|
16
7
|
---
|
|
17
8
|
|
|
18
9
|
## Design Principles
|
|
@@ -4,23 +4,6 @@ description: "Coordinates multi-agent workflows. Delegates to Planner, Coder, De
|
|
|
4
4
|
model: Claude Sonnet 4.6 (copilot)
|
|
5
5
|
tools: ['read/readFile', 'agent', 'vscode/memory', 'github/*']
|
|
6
6
|
agents: ['Planner', 'Coder', 'Designer', 'Reviewer']
|
|
7
|
-
handoffs:
|
|
8
|
-
- label: "📋 Plan"
|
|
9
|
-
agent: Planner
|
|
10
|
-
prompt: "Research the codebase and create an implementation plan for this task."
|
|
11
|
-
send: false
|
|
12
|
-
- label: "💻 Code"
|
|
13
|
-
agent: Coder
|
|
14
|
-
prompt: "Implement the approved plan."
|
|
15
|
-
send: false
|
|
16
|
-
- label: "🎨 Design"
|
|
17
|
-
agent: Designer
|
|
18
|
-
prompt: "Design the UI components described in the plan."
|
|
19
|
-
send: false
|
|
20
|
-
- label: "🔍 Review"
|
|
21
|
-
agent: Reviewer
|
|
22
|
-
prompt: "Review the implementation for correctness, conventions, and architecture."
|
|
23
|
-
send: false
|
|
24
7
|
---
|
|
25
8
|
|
|
26
9
|
You are a project orchestrator. You break down complex requests into tasks and delegate to specialist subagents. You coordinate work but NEVER implement anything yourself.
|
|
@@ -3,16 +3,6 @@ name: Planner
|
|
|
3
3
|
description: "Creates implementation plans by researching the codebase, consulting documentation, and identifying edge cases."
|
|
4
4
|
model: Claude Opus 4.6 (copilot)
|
|
5
5
|
tools: ['read', 'search', 'web', 'vscode/memory']
|
|
6
|
-
user-invocable: false
|
|
7
|
-
handoffs:
|
|
8
|
-
- label: "🎯 Execute Plan"
|
|
9
|
-
agent: Orchestrator
|
|
10
|
-
prompt: "Plan is ready. Execute it phase by phase."
|
|
11
|
-
send: false
|
|
12
|
-
- label: "💻 Code Directly"
|
|
13
|
-
agent: Coder
|
|
14
|
-
prompt: "Implement this plan."
|
|
15
|
-
send: false
|
|
16
6
|
---
|
|
17
7
|
|
|
18
8
|
# Planning Agent
|
|
@@ -4,16 +4,6 @@ description: "Reviews code and agent output for correctness, convention complian
|
|
|
4
4
|
model: Claude Opus 4.6 (copilot)
|
|
5
5
|
tools: ['read', 'search', 'web', 'vscode/memory']
|
|
6
6
|
agents: []
|
|
7
|
-
user-invocable: true
|
|
8
|
-
handoffs:
|
|
9
|
-
- label: "🎯 Back to Orchestrator"
|
|
10
|
-
agent: Orchestrator
|
|
11
|
-
prompt: "Review complete. See verdict above. Coordinate fixes or proceed."
|
|
12
|
-
send: false
|
|
13
|
-
- label: "💻 Fix Issues"
|
|
14
|
-
agent: Coder
|
|
15
|
-
prompt: "Fix the issues identified in the review above."
|
|
16
|
-
send: false
|
|
17
7
|
---
|
|
18
8
|
|
|
19
9
|
## Identity
|
package/src/commands/init.mjs
CHANGED
|
@@ -118,9 +118,8 @@ function printNextSteps(answers) {
|
|
|
118
118
|
log.raw(` 2. Enable Copilot subagent invocations (settings.json):`);
|
|
119
119
|
log.raw(kleur.gray(` "chat.subagents.allowInvocationsFromSubagents": true`));
|
|
120
120
|
log.raw(` 3. Open Copilot Chat — select an agent from the dropdown (${kleur.bold('not')} @mention).`);
|
|
121
|
-
log.raw(` 4. Select ${kleur.bold('Orchestrator')} —
|
|
122
|
-
log.raw(
|
|
123
|
-
log.raw(` 5. ${hasDocs ? 'Kickoff prompt (paste this into Orchestrator):' : 'Or go autonomous:'}`);
|
|
121
|
+
log.raw(` 4. Select ${kleur.bold('Orchestrator')} — it routes tasks autonomously to Planner, Coder, Designer, and Reviewer.`);
|
|
122
|
+
log.raw(` 5. ${hasDocs ? 'Kickoff prompt (paste this into Orchestrator):' : 'Start building:'}`);
|
|
124
123
|
if (hasDocs) {
|
|
125
124
|
const docList = answers.docFiles.join(', ');
|
|
126
125
|
log.raw(kleur.cyan(` Review PROJECT.md (your source docs — ${docList} — are embedded`));
|
package/src/steps/skills.mjs
CHANGED
|
@@ -9,6 +9,7 @@ import { log } from '../util/log.mjs';
|
|
|
9
9
|
// ── Known-good skill repos (verified working) ────────────────────────
|
|
10
10
|
// awesome-copilot skills are discovered dynamically via `skills find`.
|
|
11
11
|
const AWESOME_COPILOT_REPO = 'github/awesome-copilot';
|
|
12
|
+
const BREADCRUMB_BOX_WIDTH = 66;
|
|
12
13
|
|
|
13
14
|
// Well-known skill repos matched by stack term → repo + suggested skill names (skills.sh)
|
|
14
15
|
const SKILL_CATALOG = [
|
|
@@ -56,20 +57,17 @@ function projectUsesPnpm(cwd) {
|
|
|
56
57
|
*/
|
|
57
58
|
function detectEnv(cwd) {
|
|
58
59
|
const bundledBin = resolveSkillsBin();
|
|
60
|
+
const npmVer = whichVersion('npm');
|
|
59
61
|
const pnpmVer = whichVersion('pnpm');
|
|
60
62
|
const npxVer = whichVersion('npx');
|
|
61
63
|
const projectPnpm = projectUsesPnpm(cwd);
|
|
62
64
|
|
|
63
|
-
// ── Terse status lines ────────────────────────────────────────────
|
|
64
|
-
log.info(`skills CLI (bundled) ${bundledBin ? '✓' : '✗ not resolved'}`);
|
|
65
|
-
log.info(`pnpm ${pnpmVer ? `✓ ${pnpmVer}` : '✗ not found'}${projectPnpm ? ' (project uses pnpm)' : ''}`);
|
|
66
|
-
log.info(`npx ${npxVer ? `✓ ${npxVer}` : '✗ not found'}`);
|
|
67
|
-
|
|
68
65
|
// ── Priority: bundled > pnpm (if project or system) > npx ─────────
|
|
69
66
|
if (bundledBin) {
|
|
70
67
|
return {
|
|
71
68
|
label: 'bundled skills CLI',
|
|
72
69
|
runner: (skillsArgs) => ({ cmd: process.execPath, args: [bundledBin, ...skillsArgs] }),
|
|
70
|
+
npmVer,
|
|
73
71
|
pnpmVer,
|
|
74
72
|
npxVer,
|
|
75
73
|
projectPnpm,
|
|
@@ -79,6 +77,7 @@ function detectEnv(cwd) {
|
|
|
79
77
|
return {
|
|
80
78
|
label: 'pnpm dlx',
|
|
81
79
|
runner: (skillsArgs) => ({ cmd: 'pnpm', args: ['dlx', 'skills', ...skillsArgs] }),
|
|
80
|
+
npmVer,
|
|
82
81
|
pnpmVer,
|
|
83
82
|
npxVer,
|
|
84
83
|
projectPnpm,
|
|
@@ -88,6 +87,7 @@ function detectEnv(cwd) {
|
|
|
88
87
|
return {
|
|
89
88
|
label: 'npx',
|
|
90
89
|
runner: (skillsArgs) => ({ cmd: 'npx', args: ['-y', 'skills', ...skillsArgs] }),
|
|
90
|
+
npmVer,
|
|
91
91
|
pnpmVer,
|
|
92
92
|
npxVer,
|
|
93
93
|
projectPnpm,
|
|
@@ -109,7 +109,7 @@ export async function skillDiscovery({ cwd, answers, args }) {
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
// ── Environment checks ──────────────────────────────────────────────
|
|
112
|
-
|
|
112
|
+
let env = detectEnv(cwd);
|
|
113
113
|
|
|
114
114
|
if (!env) {
|
|
115
115
|
log.warn('Cannot run skills CLI: no bundled binary, pnpm, or npx found.');
|
|
@@ -119,7 +119,7 @@ export async function skillDiscovery({ cwd, answers, args }) {
|
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
// Offer pnpm if the user doesn't have it
|
|
122
|
-
if (
|
|
122
|
+
if (shouldOfferPnpmInstall(env)) {
|
|
123
123
|
const { wantPnpm } = await prompts({
|
|
124
124
|
type: 'confirm',
|
|
125
125
|
name: 'wantPnpm',
|
|
@@ -130,10 +130,13 @@ export async function skillDiscovery({ cwd, answers, args }) {
|
|
|
130
130
|
try {
|
|
131
131
|
execFileSync('npm', ['install', '-g', 'pnpm'], { stdio: 'inherit' });
|
|
132
132
|
log.ok('pnpm installed.');
|
|
133
|
+
env = detectEnv(cwd) || env;
|
|
133
134
|
} catch (err) {
|
|
134
135
|
log.warn(`pnpm install failed: ${err.message}`);
|
|
135
136
|
}
|
|
136
137
|
}
|
|
138
|
+
} else if (env.projectPnpm && !env.pnpmVer) {
|
|
139
|
+
log.dim(`pnpm not found. Using ${env.label} for skill discovery.`);
|
|
137
140
|
}
|
|
138
141
|
|
|
139
142
|
log.ok(`Running skills via ${env.label}`);
|
|
@@ -345,21 +348,9 @@ function printInstallSummary(results) {
|
|
|
345
348
|
|
|
346
349
|
function printBreadcrumbs() {
|
|
347
350
|
log.raw('');
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
log.raw(kleur.bold().green(' │') + ' ' + kleur.bold().green('│'));
|
|
352
|
-
log.raw(kleur.bold().green(' │') + ' Add awesome-copilot MCP for ongoing search: ' + kleur.bold().green('│'));
|
|
353
|
-
log.raw(kleur.bold().green(' │') + kleur.white(' Add to .vscode/mcp.json: ') + kleur.bold().green('│'));
|
|
354
|
-
log.raw(kleur.bold().green(' │') + kleur.dim(' "awesome-copilot": { ') + kleur.bold().green('│'));
|
|
355
|
-
log.raw(kleur.bold().green(' │') + kleur.dim(' "command": "npx", ') + kleur.bold().green('│'));
|
|
356
|
-
log.raw(kleur.bold().green(' │') + kleur.dim(' "args": ["-y", "awesome-copilot-mcp"] ') + kleur.bold().green('│'));
|
|
357
|
-
log.raw(kleur.bold().green(' │') + kleur.dim(' } ') + kleur.bold().green('│'));
|
|
358
|
-
log.raw(kleur.bold().green(' │') + ' ' + kleur.bold().green('│'));
|
|
359
|
-
log.raw(kleur.bold().green(' │') + ' Browse skills anytime: ' + kleur.bold().green('│'));
|
|
360
|
-
log.raw(kleur.bold().green(' │') + kleur.white(' npx skills find ') + kleur.bold().green('│'));
|
|
361
|
-
log.raw(kleur.bold().green(' │') + ' ' + kleur.bold().green('│'));
|
|
362
|
-
log.raw(kleur.bold().green(' └──────────────────────────────────────────────────────────────────┘'));
|
|
351
|
+
for (const line of buildBreadcrumbBox()) {
|
|
352
|
+
log.raw(line);
|
|
353
|
+
}
|
|
363
354
|
log.raw('');
|
|
364
355
|
}
|
|
365
356
|
|
|
@@ -539,6 +530,44 @@ function pad(s, n) {
|
|
|
539
530
|
return (s || '').padEnd(n);
|
|
540
531
|
}
|
|
541
532
|
|
|
533
|
+
/**
|
|
534
|
+
* Offer pnpm installation only for pnpm workspaces that are currently missing pnpm
|
|
535
|
+
* and can bootstrap it via npm on PATH.
|
|
536
|
+
*/
|
|
537
|
+
function shouldOfferPnpmInstall(env) {
|
|
538
|
+
return Boolean(env && env.projectPnpm && !env.pnpmVer && env.npmVer);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
function buildBreadcrumbBox() {
|
|
542
|
+
const horizontalDivider = kleur.bold().green(` ├${'─'.repeat(BREADCRUMB_BOX_WIDTH + 2)}┤`);
|
|
543
|
+
const lines = [
|
|
544
|
+
formatBoxLine(kleur.bold(' KEEP DISCOVERING -- paste into VS Code / Copilot Chat:'), BREADCRUMB_BOX_WIDTH),
|
|
545
|
+
horizontalDivider,
|
|
546
|
+
formatBoxLine('', BREADCRUMB_BOX_WIDTH),
|
|
547
|
+
formatBoxLine(' Add awesome-copilot MCP for ongoing search:', BREADCRUMB_BOX_WIDTH),
|
|
548
|
+
formatBoxLine(kleur.white(' Add to .vscode/mcp.json:'), BREADCRUMB_BOX_WIDTH),
|
|
549
|
+
formatBoxLine(kleur.dim(' "awesome-copilot": {'), BREADCRUMB_BOX_WIDTH),
|
|
550
|
+
formatBoxLine(kleur.dim(' "command": "npx",'), BREADCRUMB_BOX_WIDTH),
|
|
551
|
+
formatBoxLine(kleur.dim(' "args": ["-y", "awesome-copilot-mcp"]'), BREADCRUMB_BOX_WIDTH),
|
|
552
|
+
formatBoxLine(kleur.dim(' }'), BREADCRUMB_BOX_WIDTH),
|
|
553
|
+
formatBoxLine('', BREADCRUMB_BOX_WIDTH),
|
|
554
|
+
formatBoxLine(' Browse skills anytime:', BREADCRUMB_BOX_WIDTH),
|
|
555
|
+
formatBoxLine(kleur.white(' npx skills find'), BREADCRUMB_BOX_WIDTH),
|
|
556
|
+
formatBoxLine('', BREADCRUMB_BOX_WIDTH),
|
|
557
|
+
];
|
|
558
|
+
|
|
559
|
+
return [
|
|
560
|
+
kleur.bold().green(` ┌${'─'.repeat(BREADCRUMB_BOX_WIDTH + 2)}┐`),
|
|
561
|
+
...lines,
|
|
562
|
+
kleur.bold().green(` └${'─'.repeat(BREADCRUMB_BOX_WIDTH + 2)}┘`),
|
|
563
|
+
];
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
function formatBoxLine(content = '', width = BREADCRUMB_BOX_WIDTH) {
|
|
567
|
+
const paddingNeeded = Math.max(0, width - stripAnsi(content).length);
|
|
568
|
+
return `${kleur.bold().green(' │ ')}${content}${' '.repeat(paddingNeeded)}${kleur.bold().green(' │')}`;
|
|
569
|
+
}
|
|
570
|
+
|
|
542
571
|
function runInteractive(cmd, args, cwd) {
|
|
543
572
|
return new Promise((resolve) => {
|
|
544
573
|
const proc = spawn(cmd, args, { cwd, stdio: 'inherit' });
|
|
@@ -567,3 +596,11 @@ function parseSkillRefs(output) {
|
|
|
567
596
|
}
|
|
568
597
|
return results;
|
|
569
598
|
}
|
|
599
|
+
|
|
600
|
+
export const __testables = {
|
|
601
|
+
buildBreadcrumbBox,
|
|
602
|
+
detectEnv,
|
|
603
|
+
formatBoxLine,
|
|
604
|
+
shouldOfferPnpmInstall,
|
|
605
|
+
stripAnsi,
|
|
606
|
+
};
|
|
@@ -4,15 +4,6 @@ description: "Writes production code following workspace conventions. Use when:
|
|
|
4
4
|
model: GPT-5.3-Codex (copilot)
|
|
5
5
|
tools: ['vscode', 'execute', 'read', 'io.github.upstash/context7/*', 'github/*', 'edit', 'search', 'web', 'vscode/memory', 'todo']
|
|
6
6
|
agents: []
|
|
7
|
-
handoffs:
|
|
8
|
-
- label: "🔍 Review"
|
|
9
|
-
agent: Reviewer
|
|
10
|
-
prompt: "Review the changes I just made for correctness and conventions."
|
|
11
|
-
send: false
|
|
12
|
-
- label: "🎯 Back to Orchestrator"
|
|
13
|
-
agent: Orchestrator
|
|
14
|
-
prompt: "Implementation complete. Coordinate next steps."
|
|
15
|
-
send: false
|
|
16
7
|
---
|
|
17
8
|
|
|
18
9
|
## Model Selection
|
|
@@ -4,15 +4,6 @@ description: "Handles all UI/UX design tasks. Use when: creating screens, layout
|
|
|
4
4
|
model: Claude Opus 4.6 (copilot)
|
|
5
5
|
tools: ['read', 'edit', 'search', 'web', 'io.github.upstash/context7/*', 'vscode/memory']
|
|
6
6
|
agents: []
|
|
7
|
-
handoffs:
|
|
8
|
-
- label: "🔍 Review"
|
|
9
|
-
agent: Reviewer
|
|
10
|
-
prompt: "Review the UI changes for accessibility, conventions, and design quality."
|
|
11
|
-
send: false
|
|
12
|
-
- label: "🎯 Back to Orchestrator"
|
|
13
|
-
agent: Orchestrator
|
|
14
|
-
prompt: "Design work complete. Coordinate next steps."
|
|
15
|
-
send: false
|
|
16
7
|
---
|
|
17
8
|
|
|
18
9
|
## Model Selection
|
|
@@ -4,23 +4,6 @@ description: "Coordinates multi-agent workflows. Delegates to Planner, Coder, De
|
|
|
4
4
|
model: Claude Sonnet 4.6 (copilot)
|
|
5
5
|
tools: ['read/readFile', 'agent', 'vscode/memory', 'github/*']
|
|
6
6
|
agents: ['Planner', 'Coder', 'Designer', 'Reviewer']
|
|
7
|
-
handoffs:
|
|
8
|
-
- label: "📋 Plan"
|
|
9
|
-
agent: Planner
|
|
10
|
-
prompt: "Read PROJECT.md and STATE.md, then create an implementation plan for this task."
|
|
11
|
-
send: false
|
|
12
|
-
- label: "💻 Code"
|
|
13
|
-
agent: Coder
|
|
14
|
-
prompt: "Implement the approved plan. Read decisions.md for context."
|
|
15
|
-
send: false
|
|
16
|
-
- label: "🎨 Design"
|
|
17
|
-
agent: Designer
|
|
18
|
-
prompt: "Design the UI components described in the plan."
|
|
19
|
-
send: false
|
|
20
|
-
- label: "🔍 Review"
|
|
21
|
-
agent: Reviewer
|
|
22
|
-
prompt: "Review the implementation for correctness, conventions, and architecture."
|
|
23
|
-
send: false
|
|
24
7
|
---
|
|
25
8
|
|
|
26
9
|
You are a project orchestrator. You break down complex requests into tasks and delegate to specialist subagents. You coordinate work but NEVER implement anything yourself.
|
|
@@ -3,16 +3,6 @@ name: Planner
|
|
|
3
3
|
description: "Creates implementation plans by researching the codebase, consulting documentation, and identifying edge cases. Use when: planning features, architectural decisions, or complex multi-file changes."
|
|
4
4
|
model: Claude Opus 4.6 (copilot)
|
|
5
5
|
tools: ['read', 'search', 'web', 'io.github.upstash/context7/*', 'vscode/memory']
|
|
6
|
-
user-invocable: false
|
|
7
|
-
handoffs:
|
|
8
|
-
- label: "🎯 Execute Plan"
|
|
9
|
-
agent: Orchestrator
|
|
10
|
-
prompt: "Plan is ready. Execute it phase by phase."
|
|
11
|
-
send: false
|
|
12
|
-
- label: "💻 Code Directly"
|
|
13
|
-
agent: Coder
|
|
14
|
-
prompt: "Implement this plan."
|
|
15
|
-
send: false
|
|
16
6
|
---
|
|
17
7
|
|
|
18
8
|
# Planning Agent
|
|
@@ -4,16 +4,6 @@ description: "Reviews code and agent output for correctness, convention complian
|
|
|
4
4
|
model: Claude Opus 4.6 (copilot)
|
|
5
5
|
tools: ['read', 'search', 'web', 'vscode/memory']
|
|
6
6
|
agents: []
|
|
7
|
-
user-invocable: true
|
|
8
|
-
handoffs:
|
|
9
|
-
- label: "🎯 Back to Orchestrator"
|
|
10
|
-
agent: Orchestrator
|
|
11
|
-
prompt: "Review complete. See verdict above. Coordinate fixes or proceed."
|
|
12
|
-
send: false
|
|
13
|
-
- label: "💻 Fix Issues"
|
|
14
|
-
agent: Coder
|
|
15
|
-
prompt: "Fix the issues identified in the review above."
|
|
16
|
-
send: false
|
|
17
7
|
---
|
|
18
8
|
|
|
19
9
|
## Model Selection
|