Skip to content

feat(casting): support custom universes and descriptive default naming - #1643

Merged
bradygaster merged 1 commit into
devfrom
squad/custom-universe-casting
Aug 8, 2026
Merged

bradygaster merged 1 commit into
devfrom
squad/custom-universe-casting

Conversation

@bradygaster

Copy link
Copy Markdown
Collaborator

Summary

Adds three casting improvements:

  1. 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.

  2. 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.

  3. 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 sections
  • casting-policy.json — Bumped to v1.2, added allow_custom_universes and default_naming fields
  • squad.agent.md — Rewrote Casting & Persistent Naming section for three naming modes
  • init-mode/SKILL.md — Updated to default to descriptive names, accept custom universes
  • All mirror locations synced and passing template-sync tests (252/252)

- 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>
Copilot AI lite review requested due to automatic review settings August 8, 2026 00:43
@bradygaster
bradygaster merged commit 3997038 into dev Aug 8, 2026
11 checks passed
@bradygaster
bradygaster deleted the squad/custom-universe-casting branch August 8, 2026 00:43
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

🟠 Impact Analysis — PR #1643

Risk tier: 🟠 HIGH

📊 Summary

Metric Count
Files changed 14
Files added 0
Files modified 14
Files deleted 0
Modules touched 5

🎯 Risk Factors

  • 14 files changed (6-20 → MEDIUM)
  • 5 modules touched (5-8 → HIGH)

📦 Modules Affected

ci-workflows (1 file)
  • .github/agents/squad.agent.md
root (3 files)
  • templates/casting-policy.json
  • templates/casting-reference.md
  • templates/squad.agent.md.template
squad-cli (3 files)
  • packages/squad-cli/templates/casting-policy.json
  • packages/squad-cli/templates/casting-reference.md
  • packages/squad-cli/templates/squad.agent.md.template
squad-sdk (4 files)
  • packages/squad-sdk/templates/casting-policy.json
  • packages/squad-sdk/templates/casting-reference.md
  • packages/squad-sdk/templates/skills/init-mode/SKILL.md
  • packages/squad-sdk/templates/squad.agent.md.template
templates (3 files)
  • .squad-templates/casting-policy.json
  • .squad-templates/casting-reference.md
  • .squad-templates/squad.agent.md

This report is generated automatically for every PR. See #733 for details.

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

🛫 PR Readiness Check

ℹ️ This comment updates on each push. Last checked: commit b1a886c

PR Scope: 🔧 Infrastructure

⚠️ 3 item(s) to address before review

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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_naming fields, 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants