Repository navigation
Description
Problem
mfrieman/agentic-ai-collective
(v0.1.0-alpha) ships squad-template compositions — pre-assembled .squad/
baselines that bundle agents, skills, routing, and ceremonies scaffolding into a
single versioned package. These templates live under
compositions/squad-templates/<name>/ with a manifest.json and a scaffold/
subtree.
There is currently no upstream CLI command to apply one. Consumers have to:
squad upstream add https://github.com/mfrieman/agentic-ai-collective.git --name collective
squad upstream sync collective
cp -r ~/.squad/upstream/collective/compositions/squad-templates/general-dev/scaffold/ ./
# then manually resolve every squad:// URI in manifest.json and copy atomsThis is fragile, undiscoverable, and doesn't track what was installed.
Current state
squad upstream add / squad upstream sync can register and pull a remote
library. There is no squad template subcommand family, and no way to apply a
template composition to a new or existing project through the CLI.
Desired state
A squad template subcommand that can discover and apply template compositions
from registered upstreams or via canonical squad:// URIs.
# Discover available templates in a registered upstream
squad template list collective
# Apply a template to the current directory (new project)
squad template apply collective/general-dev
# Apply by canonical URI (pinned version)
squad template apply squad://mfrieman/agentic-ai-collective/squad-templates/general-dev@1.0.0
# Alternatively, surface this as a flag on squad init
squad init --template squad://mfrieman/agentic-ai-collective/squad-templates/general-dev@1.0.0What apply should do:
- Resolve the template manifest (
manifest.json) from the upstream registry. - Copy/expand the
scaffold/subtree into the target directory. - Materialize all referenced atoms (agents, skills, instructions, hooks) to their
canonical install targets (.copilot/skills/,.squad/agents/, etc.). - Write a
.squad/assets.lock.json(or equivalent) recording source URIs,
resolved versions, and install paths for reproducibility. - Skip files that already exist and match, prompt or
--forcefor conflicts.
Acceptance criteria
-
squad template list <upstream>enumerates templates from a registered
upstream, showing name, version, and description frommanifest.json. -
squad template apply <upstream>/<name>copies scaffold files and
materializes all atoms referenced inmanifest.jsoninto the working
directory. -
squad template apply squad://<owner>/<repo>/squad-templates/<name>@<ver>
works without a pre-registered upstream (resolves on-demand). - After apply,
.squad/assets.lock.json(or equivalent lockfile) contains an
entry for every materialized atom:source_uri, resolvedversion, and
local install path. - Running apply twice on the same template is idempotent: existing files that
match the source are skipped; conflicts require--forceto overwrite. -
squad template apply --dry-runprints what would be created/overwritten
without writing any files.
References
mfrieman/agentic-ai-collectivev0.1.0-alpha — consumer library motivating this gapARCHITECTURE.md— "Squad-Template Anatomy"ARCHITECTURE.md— "Today vs. Target" (explicit gap list)docs/usage/apply-a-template.mdREADME.md— "Apply a squad-template".squad/decisions.mdline 534–535 — explicitly flagssquad template listandsquad template applyas upstream gaps
Notes
- Templates may target either a blank directory or an existing project. The command
should detect whether.squad/already exists and behave accordingly (init vs
overlay). - Safe extension into an existing squad (partial apply, no-clobber) is a
scope decision for Brady; at minimum, the--forceflag should make behavior
explicit. - This issue is intentionally scoped to the apply surface. Template authoring
tooling (squad template scaffold, validation) is a separate concern. - Related: issue feat: GitHub Issues intake, PRD mode, and human team members #2 (workstream add) depends on the same atom materialization
machinery; a shared internal resolver would serve both.
Activity
bradygaster commentedon Nov 5, 2026
Closing as not planned for the 2.0 line during board triage (owner decision). The squad:// registry/workstream install work is out of scope for 2.0; reopen if it returns to the roadmap.