Templates
Crewship provides two types of templates: crew templates (pre-configured teams with agents) and workflow templates (reusable mission execution patterns).Crew Templates
Crew templates create a complete team in one step — a crew with pre-configured agents, roles, system prompts, and skill assignments. Deploy withcrewship template deploy <slug> or the Settings UI.
Slugs, workspaces, and shadowing
A crew template is either built-in — shipped with the binary, seeded from embedded YAML, visible to every workspace — or workspace-owned, created inside one workspace and visible only there. Slugs are scoped accordingly:
So two workspaces may both hold
backend-team, and neither can see the
other’s. A workspace-owned slug never collides with another tenant’s.
A workspace template shadows the built-in of the same slug. When a
workspace owns backend-team and a built-in backend-team exists, every
by-slug operation in that workspace — template get, template deploy, the
hire path, the onboarding wizard — resolves to the workspace’s version, and
template list shows the slug once, as the workspace’s version. The more
specific definition wins.
This is what lets you customise a shipped template in place: adjust the roster
or the prompts, save it under the same slug, and every existing reference to
that slug picks up your version. Renaming would break those references
instead. Other workspaces are unaffected — they keep seeing the built-in.
To get the built-in back, delete the workspace template; nothing about the
built-in was modified, it was only hidden.
Seed Data Crews
The built-in seed data (cmd/crewship/seeddata/builtin/crews.yaml +
agents.yaml) provisions three demo crews with seven agents total:
- Engineering
- Quality
- Ops
Slug:
engineering | Icon: terminal | Color: #3B82F6 (blue)CLAUDE_CODE adapter. Skill assignments are the
per-agent map in cmd/crewship/seeddata/skills.go (SkillAssignments); the
catalog of five installable skills — network-probe, file-crafter,
web-scraper, script-runner, system-inspector — lives in
builtin/skills.yaml. routine-author is a bundled first-party skill
installed on server startup (not in that catalog) and is assigned to each
crew’s LEAD.
Agent Configuration
Each seed agent has these settings:System Prompts
Each agent has a dedicated system prompt file incmd/crewship/seeddata/prompts/{prompt_slug}.md (the prompt_slug matches the agent slug — e.g. prompts/alex.md). These prompts define the agent’s persona, expertise areas, communication style, and behavioral guidelines.
Workflow Templates
Workflow templates define reusable execution patterns for missions. They are defined ininternal/orchestrator/workflow.go and available via the sidecar at GET /mission/templates.
Built-in Templates
Sequential
Tasks execute one after another in order. Each step depends on the previous one.
Parallel
All tasks run simultaneously, then results are aggregated by a lead agent.
Dev-Test Loop
Developer implements, tester reviews. On failure, loops back (max 3 iterations). This is the Ralph Loop pattern.
Pipeline
Sequential preparation, parallel work streams, final aggregation by lead.
Template Step Structure
Each template step defines:Using Templates
A lead agent lists the available templates, then replicates the pattern it wants by shaping the mission’s tasks —/mission/create has no template
field, so the lead expresses the dependency graph directly via each task’s
depends_on and max_iterations (mirrors TemplateStep.DependsOn /
MaxIterations). Both endpoints are served by the sidecar on :9119
(internal/sidecar/mission.go).
assigned_to is an agent slug within the caller’s own crew; use
assigned_to_id (agent ID) to delegate cross-crew. crew_id in the request
body is ignored — the sidecar always uses the trusted IPC crew identity.Credential Templates
The seed data also includes credential templates incmd/crewship/seeddata/credentials.go:
Anthropic Credential
ResolveAnthropicCredential reads SEED_ANTHROPIC_API_KEY (falling back to a
demo-placeholder-* value when unset) and auto-detects the credential type
from the value prefix:
GitHub Credential (optional)
ResolveGitHubCredential seeds a credential only when SEED_GITHUB_TOKEN is
set. It is type CLI_TOKEN (not API_KEY) with env var GH_TOKEN — mounted
into the container as a 0400 file plus an env var so the in-container gh
CLI authenticates with zero extra setup.
Google Credential (optional)
ResolveGoogleCredential seeds a credential only when both
SEED_GOOGLE_EMAIL and SEED_GOOGLE_PASSWORD are set. It is named
GOOGLE_API_CREDENTIALS, stored as a JSON object ({"email":…,"password":…})
under the SECRET type.