main
md 96 lines 3.69 KB
Rendered Raw
1 # Copilot Coding Agent Member
2
3 On-demand reference for adding the GitHub Copilot coding agent (@copilot) to the Squad roster.
4
5 ## Adding @copilot
6
7 When the user says "add copilot", "add the coding agent", or "use @copilot for issues":
8
9 1. **Add to team.md roster:**
10 ```markdown
11 | @copilot | Coding Agent | — | 🤖 Coding Agent |
12 ```
13 2. **Add capability profile** (below the roster table):
14 ```markdown
15 <!-- copilot-auto-assign: true -->
16 ### @copilot — Capability Profile
17
18 | Capability | Level | Notes |
19 |-----------|-------|-------|
20 | Bug fixes (well-scoped) | 🟢 | Best for isolated, test-covered fixes |
21 | Feature implementation | 🟡 | Works well with clear specs; may need review |
22 | Refactoring | 🟡 | Handles mechanical refactors; verify scope |
23 | Architecture decisions | 🔴 | Cannot make cross-cutting design choices |
24 | Multi-repo coordination | 🔴 | Limited to single-repo context |
25 | Test writing | 🟢 | Strong at adding tests for existing code |
26 | Documentation | 🟢 | Generates docs from code effectively |
27 ```
28 3. **Add routing entries** to routing.md for appropriate work types.
29 4. **Do not create** `charter.md` — @copilot uses `copilot-instructions.md` instead.
30
31 ## Comparison: Spawned Agent vs. @copilot
32
33 | | Spawned Agent | @copilot |
34 |---|--------------|----------|
35 | Execution model | Sync sub-task within session | Async — picks up assigned issues |
36 | Branch convention | `squad/{issue}-{slug}` | `copilot/{slug}` |
37 | Trigger | Coordinator spawns directly | Issue assignment |
38 | Charter source | `.squad/agents/{name}/charter.md` | `.github/copilot-instructions.md` |
39 | Context window | Inherits full session context | Fresh context per issue |
40 | Reviewer gating | ✅ Enforced by coordinator | ✅ Via PR review process |
41 | Speed | Immediate (in-session) | Minutes (async queue) |
42
43 ## Roster Format
44
45 In `team.md`, @copilot always appears as:
46
47 ```markdown
48 | @copilot | Coding Agent | — | 🤖 Coding Agent |
49 ```
50
51 - **No casting** — always "@copilot" (literal handle).
52 - **No charter file** — configuration lives in `.github/copilot-instructions.md`.
53 - **No history file** — work is tracked via PRs and issue comments.
54
55 ## Auto-Assign Behavior
56
57 Controlled by the HTML comment in team.md:
58
59 ```markdown
60 <!-- copilot-auto-assign: true -->
61 ```
62
63 | Setting | Behavior |
64 |---------|----------|
65 | `true` | Lead assigns routed issues to @copilot automatically via `gh issue edit --add-assignee @copilot` |
66 | `false` | Lead presents recommendation; user confirms before assignment |
67
68 ## Lead Triage Integration
69
70 During triage, Lead evaluates each issue against @copilot's capability profile:
71
72 1. **🟢 Match** — Auto-assign (if enabled) or recommend assignment.
73 2. **🟡 Match** — Assign with note: "⚠️ May need review — @copilot is 🟡 for this type of work."
74 3. **🔴 Match** — Skip @copilot; route to appropriate spawned agent or human.
75
76 ## Routing Details
77
78 Add to `routing.md`:
79
80 ```markdown
81 | bug fixes (isolated, test-covered) | @copilot 🤖 | Single-file fixes, test additions |
82 | documentation updates | @copilot 🤖 | README, API docs, inline comments |
83 | test coverage gaps | @copilot 🤖 | Adding missing test cases |
84 ```
85
86 Work that routes to @copilot:
87 - Creates/assigns the GitHub issue (if not already)
88 - Does NOT spawn a sub-agent — @copilot works asynchronously
89 - Coordinator reports: "🤖 Assigned #{number} to @copilot — will open a PR when ready."
90 - Non-dependent work continues immediately — @copilot routing does not serialize the team.
91
92 ## Monitoring @copilot Work
93
94 On each watch cycle (or when user asks "status"):
95 - Check for open PRs from `copilot/*` branches.
96 - Report: "🤖 @copilot: {N} PRs open ({list}). {M} issues assigned, pending."