Repository navigation
feat(casting): support custom universes and descriptive default naming - #1643
Merged
Merged
Conversation
- Default naming is now descriptive (Lead, Frontend, Backend, Tester, etc.) instead of auto-selecting a themed universe - Users can request any universe during casting or re-casting — not limited to the 15 built-in universes. Custom universes use character names from the coordinator's knowledge of the source material. - Built-in universe allowlist preserved for auto-selection when users request themed names without specifying a universe - Re-casting supported: users can switch between descriptive, built-in, and custom universe names at any time - casting-policy.json bumped to v1.2 with allow_custom_universes flag Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
🟠 Impact Analysis — PR #1643Risk tier: 🟠 HIGH 📊 Summary
🎯 Risk Factors
📦 Modules Affectedci-workflows (1 file)
root (3 files)
squad-cli (3 files)
squad-sdk (4 files)
templates (3 files)
This report is generated automatically for every PR. See #733 for details. |
Contributor
🛫 PR Readiness Check
PR Scope: 🔧 Infrastructure
|
| Status | Check | Details |
|---|---|---|
| ✅ | Single commit | 1 commit — clean history |
| ✅ | Not in draft | Ready for review |
| ❌ | Branch up to date | dev is 1 commit(s) ahead — rebase recommended |
| ❌ | Copilot review | No Copilot review yet — it may still be processing |
| ✅ | Changeset present | No source files changed — changeset not required |
| ✅ | Scope clean | No .squad/ or docs/proposals/ files |
| ✅ | No merge conflicts | Merge status unknown — GitHub is still computing |
| ✅ | Copilot threads resolved | No Copilot review threads |
| ❌ | CI passing | 7 check(s) still running |
Files Changed (14 files, +310 −142)
| File | +/− |
|---|---|
.github/agents/squad.agent.md |
+26 −88 |
.squad-templates/casting-policy.json |
+3 −1 |
.squad-templates/casting-reference.md |
+43 −2 |
.squad-templates/squad.agent.md |
+22 −8 |
packages/squad-cli/templates/casting-policy.json |
+3 −1 |
packages/squad-cli/templates/casting-reference.md |
+43 −2 |
packages/squad-cli/templates/squad.agent.md.template |
+22 −8 |
packages/squad-sdk/templates/casting-policy.json |
+3 −1 |
packages/squad-sdk/templates/casting-reference.md |
+43 −2 |
packages/squad-sdk/templates/skills/init-mode/SKILL.md |
+12 −10 |
packages/squad-sdk/templates/squad.agent.md.template |
+22 −8 |
templates/casting-policy.json |
+3 −1 |
templates/casting-reference.md |
+43 −2 |
templates/squad.agent.md.template |
+22 −8 |
Total: +310 −142
This check runs automatically on every push. Fix any ❌ items and push again.
See CONTRIBUTING.md and PR Requirements for details.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates Squad’s casting templates to support three naming modes (descriptive defaults, built-in universes, and user-specified custom universes) and syncs those template changes across all mirrored template locations used by the repo/CLI/SDK.
Changes:
- Add “descriptive (role-based) naming” as the default when no themed universe is requested.
- Document support for user-specified custom universes (with spoiler-safety and re-casting guidance).
- Bump casting policy template to v1.2 and add
allow_custom_universes+default_namingfields, with mirrored template sync.
Show a summary per file
| File | Description |
|---|---|
| templates/squad.agent.md.template | Updates casting/naming guidance to include descriptive defaults, custom universes, and re-casting. |
| templates/casting-reference.md | Adds descriptive defaults + custom universe rules and clarifies auto-selection behavior. |
| templates/casting-policy.json | Bumps policy version to 1.2 and adds new top-level policy fields. |
| packages/squad-sdk/templates/squad.agent.md.template | Mirrors the squad.agent template casting/naming updates for SDK installs. |
| packages/squad-sdk/templates/skills/init-mode/SKILL.md | Updates Init Mode casting instructions and example output to default to descriptive names. |
| packages/squad-sdk/templates/casting-reference.md | Mirrors casting-reference updates for SDK installs. |
| packages/squad-sdk/templates/casting-policy.json | Mirrors casting-policy updates for SDK installs. |
| packages/squad-cli/templates/squad.agent.md.template | Mirrors the squad.agent template casting/naming updates for CLI installs. |
| packages/squad-cli/templates/casting-reference.md | Mirrors casting-reference updates for CLI installs. |
| packages/squad-cli/templates/casting-policy.json | Mirrors casting-policy updates for CLI installs. |
| .squad-templates/squad.agent.md | Canonical squad.agent template updated for the new naming modes (source-of-truth for sync). |
| .squad-templates/casting-reference.md | Canonical casting-reference updated for descriptive defaults + custom universes. |
| .squad-templates/casting-policy.json | Canonical casting-policy bumped to 1.2 with new fields. |
| .github/agents/squad.agent.md | Synced agent definition content with canonical template, including updated casting guidance. |
Review details
Tip
Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 14/14 changed files
- Comments generated: 10
- Review effort level: Lite
| - Selection is deterministic: score by size_fit + shape_fit + resonance_fit + LRU. | ||
| - Same inputs → same choice (unless LRU changes). | ||
| - 15 universes available as built-in (capacity 6–25). See reference file for full list. | ||
| - Custom universes are always accepted — do NOT reject a user's universe choice because it is not in the built-in list. |
| - Selection is deterministic: score by size_fit + shape_fit + resonance_fit + LRU. | ||
| - Same inputs → same choice (unless LRU changes). | ||
| - 15 universes available as built-in (capacity 6–25). See reference file for full list. | ||
| - Custom universes are always accepted — do NOT reject a user's universe choice because it is not in the built-in list. |
| - Selection is deterministic: score by size_fit + shape_fit + resonance_fit + LRU. | ||
| - Same inputs → same choice (unless LRU changes). | ||
| - 15 universes available as built-in (capacity 6–25). See reference file for full list. | ||
| - Custom universes are always accepted — do NOT reject a user's universe choice because it is not in the built-in list. |
| - Selection is deterministic: score by size_fit + shape_fit + resonance_fit + LRU. | ||
| - Same inputs → same choice (unless LRU changes). | ||
| - 15 universes available as built-in (capacity 6–25). See reference file for full list. | ||
| - Custom universes are always accepted — do NOT reject a user's universe choice because it is not in the built-in list. |
| **Dispatch mechanism (detect once, cache):** `create_session`→App mode (sub-sessions, preferred for commit-work); else `runSubagent`→VS Code; else `task`→CLI. **"Inline as last resort" is NOT a fallback.** If none of the three dispatch tools is present, the coordinator MUST refuse the request with the message *"No dispatch tool available in this Copilot client; please run under a client that provides `task`, `runSubagent`, or `create_session`."* — the only lawful inline outputs are the five Direct-Mode whitelist cases. | ||
|
|
||
| **If you produced code/artifacts/domain work without dispatching, you violated this rule. The coordinator ROUTES, never BUILDS. Layer B (Scribe DispatchGuard) audits this mechanically; a violation is not a matter of taste.** | ||
| **⚠️ CRITICAL RULE: You are a DISPATCHER, not a DOER. Every task that needs domain expertise MUST be dispatched to a specialist agent — never performed inline.** |
Comment on lines
+2
to
+4
| "casting_policy_version": "1.2", | ||
| "allow_custom_universes": true, | ||
| "default_naming": "descriptive", |
Comment on lines
+2
to
+4
| "casting_policy_version": "1.2", | ||
| "allow_custom_universes": true, | ||
| "default_naming": "descriptive", |
Comment on lines
+2
to
+4
| "casting_policy_version": "1.2", | ||
| "allow_custom_universes": true, | ||
| "default_naming": "descriptive", |
Comment on lines
+2
to
+4
| "casting_policy_version": "1.2", | ||
| "allow_custom_universes": true, | ||
| "default_naming": "descriptive", |
| - Selection is deterministic: score by size_fit + shape_fit + resonance_fit + LRU. | ||
| - Same inputs → same choice (unless LRU changes). | ||
| - 15 universes available as built-in (capacity 6–25). See reference file for full list. | ||
| - Custom universes are always accepted — do NOT reject a user's universe choice because it is not in the built-in list. |
This was referenced Aug 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds three casting improvements:
Descriptive defaults — When no universe is requested, agents get descriptive role-based names (Lead, Frontend, Backend, Tester, etc.) instead of auto-selecting a themed universe.
Custom universes — Users can request any universe during casting or re-casting (Doctor Who, The Office, etc.). The coordinator allocates character names from its knowledge of the source material, with spoiler-safety rules still applied.
Re-casting — Users can switch between descriptive, built-in, and custom universe names at any time.
Changes
casting-reference.md— Added Descriptive Defaults and Custom Universes sectionscasting-policy.json— Bumped to v1.2, addedallow_custom_universesanddefault_namingfieldssquad.agent.md— Rewrote Casting & Persistent Naming section for three naming modesinit-mode/SKILL.md— Updated to default to descriptive names, accept custom universes