@bradygaster/squad-sdk 0.9.3-insider.1 → 0.9.4
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/dist/config/init.d.ts +5 -0
- package/dist/config/init.d.ts.map +1 -1
- package/dist/config/init.js +59 -26
- package/dist/config/init.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/platform/azure-devops.d.ts.map +1 -1
- package/dist/platform/azure-devops.js +7 -5
- package/dist/platform/azure-devops.js.map +1 -1
- package/dist/platform/comms-teams.d.ts +80 -1
- package/dist/platform/comms-teams.d.ts.map +1 -1
- package/dist/platform/comms-teams.js +306 -84
- package/dist/platform/comms-teams.js.map +1 -1
- package/dist/platform/comms.d.ts +1 -1
- package/dist/platform/comms.d.ts.map +1 -1
- package/dist/platform/comms.js +13 -5
- package/dist/platform/comms.js.map +1 -1
- package/dist/platform/types.d.ts +9 -10
- package/dist/platform/types.d.ts.map +1 -1
- package/dist/resolution.d.ts +44 -0
- package/dist/resolution.d.ts.map +1 -1
- package/dist/resolution.js +69 -18
- package/dist/resolution.js.map +1 -1
- package/dist/roles/catalog-engineering.d.ts +17 -0
- package/dist/roles/catalog-engineering.d.ts.map +1 -1
- package/dist/roles/catalog-engineering.js +45 -0
- package/dist/roles/catalog-engineering.js.map +1 -1
- package/dist/roles/catalog.d.ts +1 -1
- package/dist/roles/catalog.d.ts.map +1 -1
- package/dist/runtime/scheduler.d.ts +6 -0
- package/dist/runtime/scheduler.d.ts.map +1 -1
- package/dist/runtime/scheduler.js +25 -2
- package/dist/runtime/scheduler.js.map +1 -1
- package/dist/state-backend.d.ts +5 -0
- package/dist/state-backend.d.ts.map +1 -1
- package/dist/state-backend.js +66 -39
- package/dist/state-backend.js.map +1 -1
- package/package.json +1 -1
- package/templates/casting-reference.md +104 -104
- package/templates/ceremonies.md +28 -28
- package/templates/mcp-config.md +0 -2
- package/templates/orchestration-log.md +27 -27
- package/templates/scribe-charter.md +1 -1
- package/templates/skills/external-comms/SKILL.md +329 -329
- package/templates/skills/gh-auth-isolation/SKILL.md +183 -183
- package/templates/skills/humanizer/SKILL.md +105 -105
- package/templates/skills/pr-review-response/SKILL.md +268 -0
- package/templates/skills/pr-screenshots/SKILL.md +149 -149
- package/templates/skills/versioning-policy/SKILL.md +119 -0
- package/templates/squad.agent.md.template +13 -6
- package/templates/workflows/squad-heartbeat.yml +167 -167
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
# Casting Reference
|
|
2
|
-
|
|
3
|
-
On-demand reference for Squad's casting system. Loaded during Init Mode or when adding team members.
|
|
4
|
-
|
|
5
|
-
## Universe Table
|
|
6
|
-
|
|
7
|
-
| Universe | Capacity | Shape Tags | Resonance Signals |
|
|
8
|
-
|---|---|---|---|
|
|
9
|
-
| The Usual Suspects | 6 | small, noir, ensemble | crime, heist, mystery, deception |
|
|
10
|
-
| Reservoir Dogs | 8 | small, noir, ensemble | crime, heist, tension, loyalty |
|
|
11
|
-
| Alien | 8 | small, sci-fi, survival | space, isolation, threat, engineering |
|
|
12
|
-
| Ocean's Eleven | 14 | medium, heist, ensemble | planning, coordination, roles, charm |
|
|
13
|
-
| Arrested Development | 15 | medium, comedy, ensemble | dysfunction, business, family, satire |
|
|
14
|
-
| Star Wars | 12 | medium, sci-fi, epic | conflict, mentorship, legacy, rebellion |
|
|
15
|
-
| The Matrix | 10 | medium, sci-fi, cyberpunk | systems, reality, hacking, philosophy |
|
|
16
|
-
| Firefly | 10 | medium, sci-fi, western | frontier, crew, independence, smuggling |
|
|
17
|
-
| The Goonies | 8 | small, adventure, ensemble | exploration, treasure, kids, teamwork |
|
|
18
|
-
| The Simpsons | 20 | large, comedy, ensemble | satire, community, family, absurdity |
|
|
19
|
-
| Breaking Bad | 12 | medium, drama, tension | chemistry, transformation, consequence, power |
|
|
20
|
-
| Lost | 18 | large, mystery, ensemble | survival, mystery, groups, leadership |
|
|
21
|
-
| Marvel Cinematic Universe | 25 | large, action, ensemble | heroism, teamwork, powers, scale |
|
|
22
|
-
| DC Universe | 18 | large, action, ensemble | justice, duality, powers, mythology |
|
|
23
|
-
| Futurama | 12 | medium, sci-fi, comedy | future, robots, space, absurdity |
|
|
24
|
-
|
|
25
|
-
**Total: 15 universes** — capacity range 6–25.
|
|
26
|
-
|
|
27
|
-
## Selection Algorithm
|
|
28
|
-
|
|
29
|
-
Universe selection is deterministic. Score each universe and pick the highest:
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
score = size_fit + shape_fit + resonance_fit + LRU
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
| Factor | Description |
|
|
36
|
-
|---|---|
|
|
37
|
-
| `size_fit` | How well the universe capacity matches the team size. Prefer universes where capacity ≥ agent_count with minimal waste. |
|
|
38
|
-
| `shape_fit` | Match universe shape tags against the assignment shape derived from the project description. |
|
|
39
|
-
| `resonance_fit` | Match universe resonance signals against session and repo context signals. |
|
|
40
|
-
| `LRU` | Least-recently-used bonus — prefer universes not used in recent assignments (from `history.json`). |
|
|
41
|
-
|
|
42
|
-
Same inputs → same choice (unless LRU changes between assignments).
|
|
43
|
-
|
|
44
|
-
## Casting State File Schemas
|
|
45
|
-
|
|
46
|
-
### policy.json
|
|
47
|
-
|
|
48
|
-
Source template: `.squad/templates/casting-policy.json`
|
|
49
|
-
Runtime location: `.squad/casting/policy.json`
|
|
50
|
-
|
|
51
|
-
```json
|
|
52
|
-
{
|
|
53
|
-
"casting_policy_version": "1.1",
|
|
54
|
-
"allowlist_universes": ["Universe Name", "..."],
|
|
55
|
-
"universe_capacity": {
|
|
56
|
-
"Universe Name": 10
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### registry.json
|
|
62
|
-
|
|
63
|
-
Source template: `.squad/templates/casting-registry.json`
|
|
64
|
-
Runtime location: `.squad/casting/registry.json`
|
|
65
|
-
|
|
66
|
-
```json
|
|
67
|
-
{
|
|
68
|
-
"agents": {
|
|
69
|
-
"agent-role-id": {
|
|
70
|
-
"persistent_name": "CharacterName",
|
|
71
|
-
"universe": "Universe Name",
|
|
72
|
-
"created_at": "ISO-8601",
|
|
73
|
-
"legacy_named": false,
|
|
74
|
-
"status": "active"
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
### history.json
|
|
81
|
-
|
|
82
|
-
Source template: `.squad/templates/casting-history.json`
|
|
83
|
-
Runtime location: `.squad/casting/history.json`
|
|
84
|
-
|
|
85
|
-
```json
|
|
86
|
-
{
|
|
87
|
-
"universe_usage_history": [
|
|
88
|
-
{
|
|
89
|
-
"universe": "Universe Name",
|
|
90
|
-
"assignment_id": "unique-id",
|
|
91
|
-
"used_at": "ISO-8601"
|
|
92
|
-
}
|
|
93
|
-
],
|
|
94
|
-
"assignment_cast_snapshots": {
|
|
95
|
-
"assignment-id": {
|
|
96
|
-
"universe": "Universe Name",
|
|
97
|
-
"agents": {
|
|
98
|
-
"role-id": "CharacterName"
|
|
99
|
-
},
|
|
100
|
-
"created_at": "ISO-8601"
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
```
|
|
1
|
+
# Casting Reference
|
|
2
|
+
|
|
3
|
+
On-demand reference for Squad's casting system. Loaded during Init Mode or when adding team members.
|
|
4
|
+
|
|
5
|
+
## Universe Table
|
|
6
|
+
|
|
7
|
+
| Universe | Capacity | Shape Tags | Resonance Signals |
|
|
8
|
+
|---|---|---|---|
|
|
9
|
+
| The Usual Suspects | 6 | small, noir, ensemble | crime, heist, mystery, deception |
|
|
10
|
+
| Reservoir Dogs | 8 | small, noir, ensemble | crime, heist, tension, loyalty |
|
|
11
|
+
| Alien | 8 | small, sci-fi, survival | space, isolation, threat, engineering |
|
|
12
|
+
| Ocean's Eleven | 14 | medium, heist, ensemble | planning, coordination, roles, charm |
|
|
13
|
+
| Arrested Development | 15 | medium, comedy, ensemble | dysfunction, business, family, satire |
|
|
14
|
+
| Star Wars | 12 | medium, sci-fi, epic | conflict, mentorship, legacy, rebellion |
|
|
15
|
+
| The Matrix | 10 | medium, sci-fi, cyberpunk | systems, reality, hacking, philosophy |
|
|
16
|
+
| Firefly | 10 | medium, sci-fi, western | frontier, crew, independence, smuggling |
|
|
17
|
+
| The Goonies | 8 | small, adventure, ensemble | exploration, treasure, kids, teamwork |
|
|
18
|
+
| The Simpsons | 20 | large, comedy, ensemble | satire, community, family, absurdity |
|
|
19
|
+
| Breaking Bad | 12 | medium, drama, tension | chemistry, transformation, consequence, power |
|
|
20
|
+
| Lost | 18 | large, mystery, ensemble | survival, mystery, groups, leadership |
|
|
21
|
+
| Marvel Cinematic Universe | 25 | large, action, ensemble | heroism, teamwork, powers, scale |
|
|
22
|
+
| DC Universe | 18 | large, action, ensemble | justice, duality, powers, mythology |
|
|
23
|
+
| Futurama | 12 | medium, sci-fi, comedy | future, robots, space, absurdity |
|
|
24
|
+
|
|
25
|
+
**Total: 15 universes** — capacity range 6–25.
|
|
26
|
+
|
|
27
|
+
## Selection Algorithm
|
|
28
|
+
|
|
29
|
+
Universe selection is deterministic. Score each universe and pick the highest:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
score = size_fit + shape_fit + resonance_fit + LRU
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
| Factor | Description |
|
|
36
|
+
|---|---|
|
|
37
|
+
| `size_fit` | How well the universe capacity matches the team size. Prefer universes where capacity ≥ agent_count with minimal waste. |
|
|
38
|
+
| `shape_fit` | Match universe shape tags against the assignment shape derived from the project description. |
|
|
39
|
+
| `resonance_fit` | Match universe resonance signals against session and repo context signals. |
|
|
40
|
+
| `LRU` | Least-recently-used bonus — prefer universes not used in recent assignments (from `history.json`). |
|
|
41
|
+
|
|
42
|
+
Same inputs → same choice (unless LRU changes between assignments).
|
|
43
|
+
|
|
44
|
+
## Casting State File Schemas
|
|
45
|
+
|
|
46
|
+
### policy.json
|
|
47
|
+
|
|
48
|
+
Source template: `.squad/templates/casting-policy.json`
|
|
49
|
+
Runtime location: `.squad/casting/policy.json`
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"casting_policy_version": "1.1",
|
|
54
|
+
"allowlist_universes": ["Universe Name", "..."],
|
|
55
|
+
"universe_capacity": {
|
|
56
|
+
"Universe Name": 10
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### registry.json
|
|
62
|
+
|
|
63
|
+
Source template: `.squad/templates/casting-registry.json`
|
|
64
|
+
Runtime location: `.squad/casting/registry.json`
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"agents": {
|
|
69
|
+
"agent-role-id": {
|
|
70
|
+
"persistent_name": "CharacterName",
|
|
71
|
+
"universe": "Universe Name",
|
|
72
|
+
"created_at": "ISO-8601",
|
|
73
|
+
"legacy_named": false,
|
|
74
|
+
"status": "active"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### history.json
|
|
81
|
+
|
|
82
|
+
Source template: `.squad/templates/casting-history.json`
|
|
83
|
+
Runtime location: `.squad/casting/history.json`
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"universe_usage_history": [
|
|
88
|
+
{
|
|
89
|
+
"universe": "Universe Name",
|
|
90
|
+
"assignment_id": "unique-id",
|
|
91
|
+
"used_at": "ISO-8601"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"assignment_cast_snapshots": {
|
|
95
|
+
"assignment-id": {
|
|
96
|
+
"universe": "Universe Name",
|
|
97
|
+
"agents": {
|
|
98
|
+
"role-id": "CharacterName"
|
|
99
|
+
},
|
|
100
|
+
"created_at": "ISO-8601"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
package/templates/ceremonies.md
CHANGED
|
@@ -39,31 +39,31 @@
|
|
|
39
39
|
2. Root cause analysis
|
|
40
40
|
3. What should change?
|
|
41
41
|
4. Action items for next iteration
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Retrospective with Enforcement
|
|
47
|
-
|
|
48
|
-
| Field | Value |
|
|
49
|
-
|-------|-------|
|
|
50
|
-
| **Trigger** | auto |
|
|
51
|
-
| **When** | weekly |
|
|
52
|
-
| **Condition** | No *retrospective* log in .squad/log/ within the last 7 days |
|
|
53
|
-
| **Facilitator** | lead |
|
|
54
|
-
| **Participants** | all |
|
|
55
|
-
| **Time budget** | focused |
|
|
56
|
-
| **Enabled** | yes |
|
|
57
|
-
| **Enforcement skill** | retro-enforcement |
|
|
58
|
-
|
|
59
|
-
**Agenda:**
|
|
60
|
-
1. What shipped this week? (closed issues, merged PRs)
|
|
61
|
-
2. What did not ship? (open issues, blockers)
|
|
62
|
-
3. Root cause on any failures
|
|
63
|
-
4. Action items -- each MUST become a GitHub Issue labeled retro-action
|
|
64
|
-
|
|
65
|
-
**Coordinator integration:**
|
|
66
|
-
At round start, call Test-RetroOverdue (see skill retro-enforcement). If overdue, run this ceremony before the work queue.
|
|
67
|
-
|
|
68
|
-
**Why GitHub Issues, not markdown:**
|
|
69
|
-
Production data: 0% completion across 6 retros using markdown checklists, 100% after switching to GitHub Issues.
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Retrospective with Enforcement
|
|
47
|
+
|
|
48
|
+
| Field | Value |
|
|
49
|
+
|-------|-------|
|
|
50
|
+
| **Trigger** | auto |
|
|
51
|
+
| **When** | weekly |
|
|
52
|
+
| **Condition** | No *retrospective* log in .squad/log/ within the last 7 days |
|
|
53
|
+
| **Facilitator** | lead |
|
|
54
|
+
| **Participants** | all |
|
|
55
|
+
| **Time budget** | focused |
|
|
56
|
+
| **Enabled** | yes |
|
|
57
|
+
| **Enforcement skill** | retro-enforcement |
|
|
58
|
+
|
|
59
|
+
**Agenda:**
|
|
60
|
+
1. What shipped this week? (closed issues, merged PRs)
|
|
61
|
+
2. What did not ship? (open issues, blockers)
|
|
62
|
+
3. Root cause on any failures
|
|
63
|
+
4. Action items -- each MUST become a GitHub Issue labeled retro-action
|
|
64
|
+
|
|
65
|
+
**Coordinator integration:**
|
|
66
|
+
At round start, call Test-RetroOverdue (see skill retro-enforcement). If overdue, run this ceremony before the work queue.
|
|
67
|
+
|
|
68
|
+
**Why GitHub Issues, not markdown:**
|
|
69
|
+
Production data: 0% completion across 6 retros using markdown checklists, 100% after switching to GitHub Issues.
|
package/templates/mcp-config.md
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
MCP (Model Context Protocol) servers extend Squad with tools for external services — Trello, Aspire dashboards, Azure, Notion, and more. The user configures MCP servers in their environment; Squad discovers and uses them.
|
|
4
4
|
|
|
5
|
-
> **Full patterns:** Read `.squad/skills/mcp-tool-discovery/SKILL.md` for discovery patterns, domain-specific usage, and graceful degradation.
|
|
6
|
-
|
|
7
5
|
## Config File Locations
|
|
8
6
|
|
|
9
7
|
Users configure MCP servers at these locations (checked in priority order):
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
# Orchestration Log Entry
|
|
2
|
-
|
|
3
|
-
> One file per agent spawn. Saved to `.squad/orchestration-log/{timestamp}-{agent-name}.md`
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
### {timestamp} — {task summary}
|
|
8
|
-
|
|
9
|
-
| Field | Value |
|
|
10
|
-
|-------|-------|
|
|
11
|
-
| **Agent routed** | {Name} ({Role}) |
|
|
12
|
-
| **Why chosen** | {Routing rationale — what in the request matched this agent} |
|
|
13
|
-
| **Mode** | {`background` / `sync`} |
|
|
14
|
-
| **Why this mode** | {Brief reason — e.g., "No hard data dependencies" or "User needs to approve architecture"} |
|
|
15
|
-
| **Files authorized to read** | {Exact file paths the agent was told to read} |
|
|
16
|
-
| **File(s) agent must produce** | {Exact file paths the agent is expected to create or modify} |
|
|
17
|
-
| **Outcome** | {Completed / Rejected by {Reviewer} / Escalated} |
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Rules
|
|
22
|
-
|
|
23
|
-
1. **One file per agent spawn.** Named `{timestamp}-{agent-name}.md`.
|
|
24
|
-
2. **Log BEFORE spawning.** The entry must exist before the agent runs.
|
|
25
|
-
3. **Update outcome AFTER the agent completes.** Fill in the Outcome field.
|
|
26
|
-
4. **Never delete or edit past entries.** Append-only.
|
|
27
|
-
5. **If a reviewer rejects work,** log the rejection as a new entry with the revision agent.
|
|
1
|
+
# Orchestration Log Entry
|
|
2
|
+
|
|
3
|
+
> One file per agent spawn. Saved to `.squad/orchestration-log/{timestamp}-{agent-name}.md`
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### {timestamp} — {task summary}
|
|
8
|
+
|
|
9
|
+
| Field | Value |
|
|
10
|
+
|-------|-------|
|
|
11
|
+
| **Agent routed** | {Name} ({Role}) |
|
|
12
|
+
| **Why chosen** | {Routing rationale — what in the request matched this agent} |
|
|
13
|
+
| **Mode** | {`background` / `sync`} |
|
|
14
|
+
| **Why this mode** | {Brief reason — e.g., "No hard data dependencies" or "User needs to approve architecture"} |
|
|
15
|
+
| **Files authorized to read** | {Exact file paths the agent was told to read} |
|
|
16
|
+
| **File(s) agent must produce** | {Exact file paths the agent is expected to create or modify} |
|
|
17
|
+
| **Outcome** | {Completed / Rejected by {Reviewer} / Escalated} |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
1. **One file per agent spawn.** Named `{timestamp}-{agent-name}.md`.
|
|
24
|
+
2. **Log BEFORE spawning.** The entry must exist before the agent runs.
|
|
25
|
+
3. **Update outcome AFTER the agent completes.** Fill in the Outcome field.
|
|
26
|
+
4. **Never delete or edit past entries.** Append-only.
|
|
27
|
+
5. **If a reviewer rejects work,** log the rejection as a new entry with the revision agent.
|
|
@@ -43,7 +43,7 @@ After every substantial work session:
|
|
|
43
43
|
- **Exact duplicates:** If two blocks share the same heading, keep the first and remove the rest.
|
|
44
44
|
- **Overlapping decisions:** Compare block content across all remaining blocks. If two or more blocks cover the same area (same topic, same architectural concern, same component) but were written independently (different dates, different authors), consolidate them:
|
|
45
45
|
a. Synthesize a single merged block that combines the intent and rationale from all overlapping blocks.
|
|
46
|
-
b. Use
|
|
46
|
+
b. Use the CURRENT_DATETIME value from your spawn prompt and a new heading: `### {CURRENT_DATETIME}: {consolidated topic} (consolidated)`
|
|
47
47
|
c. Credit all original authors: `**By:** {Name1}, {Name2}`
|
|
48
48
|
d. Under **What:**, combine the decisions. Note any differences or evolution.
|
|
49
49
|
e. Under **Why:**, merge the rationale, preserving unique reasoning from each.
|