@firatcand/roster 0.4.0 → 1.0.0

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.
Files changed (76) hide show
  1. package/README.md +77 -220
  2. package/agents/lesson-drafter.md +3 -8
  3. package/agents/pattern-detector.md +0 -1
  4. package/bin/roster.js +168 -57
  5. package/package.json +2 -3
  6. package/skills/chief-of-staff/SKILL.md +62 -78
  7. package/skills/dreamer/SKILL.md +8 -7
  8. package/skills/roster-orchestrator/SKILL.md +53 -25
  9. package/templates/CLAUDE.project.template.md +1 -1
  10. package/templates/CONTEXT.template.md +2 -2
  11. package/templates/gitignore-defaults.txt +2 -0
  12. package/templates/scaffold/chief-of-staff/README.md +16 -24
  13. package/templates/scaffold/chief-of-staff/agent.md +22 -32
  14. package/templates/scaffold/chief-of-staff/plans/audit-agent.yaml +4 -4
  15. package/templates/scaffold/chief-of-staff/plans/audit-repo.yaml +5 -4
  16. package/templates/scaffold/chief-of-staff/plans/create-agent.yaml +5 -34
  17. package/templates/scaffold/config/project.yaml.template +10 -0
  18. package/templates/scaffold/conventions.md +159 -171
  19. package/templates/scaffold/dreamer/README.md +2 -2
  20. package/templates/scaffold/dreamer/agent.md +0 -1
  21. package/templates/scaffold/dreamer/plans/nightly-reflection.yaml +23 -37
  22. package/templates/scaffold/dreamer/subagents/lesson-drafter.md +2 -7
  23. package/templates/scaffold/{projects/_demo/guidelines → guidelines}/asset-links.md +4 -0
  24. package/templates/scaffold/{projects/_demo/guidelines → guidelines}/brand-book.md +4 -0
  25. package/templates/scaffold/{projects/_demo/guidelines → guidelines}/messaging.md +4 -0
  26. package/templates/scaffold/{projects/_demo/guidelines → guidelines}/voice.md +4 -0
  27. package/templates/scaffold/scripts/audit-agent.sh +74 -47
  28. package/templates/scaffold/scripts/audit-repo.sh +27 -49
  29. package/templates/scaffold/scripts/create-function.sh +1 -1
  30. package/templates/scaffold/scripts/lib/README.md +1 -1
  31. package/templates/scaffold/scripts/lib/bindings-prompt.sh +41 -124
  32. package/templates/scaffold/scripts/new-agent.sh +97 -91
  33. package/templates/scaffold/scripts/rename-agent.sh +91 -0
  34. package/templates/scaffold/scripts/save-state.sh +32 -0
  35. package/agents/critic.md +0 -74
  36. package/agents/enricher.md +0 -56
  37. package/agents/promotion-arbiter.md +0 -71
  38. package/agents/prospector.md +0 -51
  39. package/agents/writer.md +0 -58
  40. package/skills/sdr/SKILL.md +0 -147
  41. package/templates/scaffold/chief-of-staff/plans/add-agent-to-project.yaml +0 -45
  42. package/templates/scaffold/chief-of-staff/plans/archive-project.yaml +0 -51
  43. package/templates/scaffold/chief-of-staff/plans/audit-project.yaml +0 -34
  44. package/templates/scaffold/chief-of-staff/plans/create-project.yaml +0 -65
  45. package/templates/scaffold/chief-of-staff/plans/remove-agent-from-project.yaml +0 -50
  46. package/templates/scaffold/chief-of-staff/plans/rename-project.yaml +0 -62
  47. package/templates/scaffold/chief-of-staff/plans/unarchive-project.yaml +0 -41
  48. package/templates/scaffold/dreamer/subagents/promotion-arbiter.md +0 -64
  49. package/templates/scaffold/gtm/sdr/.claude/settings.json +0 -3
  50. package/templates/scaffold/gtm/sdr/.mcp.json +0 -21
  51. package/templates/scaffold/gtm/sdr/README.md +0 -41
  52. package/templates/scaffold/gtm/sdr/agent.md +0 -136
  53. package/templates/scaffold/gtm/sdr/plans/cold-outreach.yaml +0 -92
  54. package/templates/scaffold/gtm/sdr/projects/_demo/asset-references.md +0 -7
  55. package/templates/scaffold/gtm/sdr/projects/_demo/config/default.yaml +0 -69
  56. package/templates/scaffold/gtm/sdr/projects/_demo/log/feedback/.gitkeep +0 -0
  57. package/templates/scaffold/gtm/sdr/projects/_demo/log/runs/.gitkeep +0 -0
  58. package/templates/scaffold/gtm/sdr/projects/_demo/playbook/.gitkeep +0 -0
  59. package/templates/scaffold/gtm/sdr/subagents/critic.md +0 -67
  60. package/templates/scaffold/gtm/sdr/subagents/enricher.md +0 -49
  61. package/templates/scaffold/gtm/sdr/subagents/prospector.md +0 -44
  62. package/templates/scaffold/gtm/sdr/subagents/writer.md +0 -51
  63. package/templates/scaffold/projects/_demo/CLAUDE.md +0 -35
  64. package/templates/scaffold/projects/_demo/README.md +0 -16
  65. package/templates/scaffold/projects/_demo/assets/.gitkeep +0 -0
  66. package/templates/scaffold/projects/_demo/config/default.yaml +0 -28
  67. package/templates/scaffold/projects/_demo/state.md +0 -11
  68. package/templates/scaffold/scripts/archive-project.sh +0 -98
  69. package/templates/scaffold/scripts/audit-project.sh +0 -361
  70. package/templates/scaffold/scripts/new-agent-instance.sh +0 -114
  71. package/templates/scaffold/scripts/new-project.sh +0 -125
  72. package/templates/scaffold/scripts/remove-agent-from-project.sh +0 -67
  73. package/templates/scaffold/scripts/rename-project.sh +0 -118
  74. package/templates/scaffold/scripts/unarchive-project.sh +0 -115
  75. /package/templates/scaffold/gtm/{sdr/playbook/.gitkeep → .gitkeep} +0 -0
  76. /package/templates/scaffold/{projects/_demo/guidelines → guidelines}/icps/_persona-template.md +0 -0
@@ -1,12 +1,12 @@
1
1
  # Chief of Staff Agent
2
2
 
3
- Operates on the agent-team repo itself. Scaffolds empty structure for new projects/agents, archives, renames, audits.
3
+ Operates on the agent-team workspace itself. Scaffolds empty structure for new agents and functions, audits.
4
4
 
5
5
  This agent is the empty-structure scaffolder. It produces folders and template files in their default placeholder state. Filling content (voice, ICPs, brand) is a separate concern handled outside this agent.
6
6
 
7
7
  ## Why this is one agent at top level
8
8
 
9
- Cross-cutting infrastructure — operates on every function and every project, doesn't have its own per-project instances. Lives at the same level as `dreamer/` for the same reason.
9
+ Cross-cutting infrastructure — operates on every function and every agent. Lives at the same level as `dreamer/` for the same reason.
10
10
 
11
11
  ## Files
12
12
 
@@ -16,7 +16,7 @@ Cross-cutting infrastructure — operates on every function and every project, d
16
16
 
17
17
  ## Invocation
18
18
 
19
- From repo root, in an interactive Claude Code session:
19
+ From the workspace root, in an interactive Claude Code session:
20
20
 
21
21
  ```bash
22
22
  cd /path/to/agent-team
@@ -25,26 +25,23 @@ claude
25
25
 
26
26
  Then ask the agent to perform an operation:
27
27
 
28
- - "Create a new project called myproject with gtm/sdr and gtm/twitter-agent"
29
- - "Archive the test-scaffold project"
30
- - "Audit Acme Corp"
31
- - "Add content-agent to _demo"
32
- - "Rename project oldname to newname"
28
+ - "Create a new gtm/sdr agent"
29
+ - "Create a new function called ops"
30
+ - "Audit the gtm/sdr agent"
33
31
  - "Audit the whole repo"
34
32
 
35
33
  The agent will:
36
- 1. Confirm cwd is repo root
34
+ 1. Confirm cwd is the workspace root
37
35
  2. Parse intent, restate parameters back to you
38
- 3. Show a plan before destructive ops, ask "proceed?"
36
+ 3. Show the paths it plans to create or modify
39
37
  4. Execute by invoking the appropriate `scripts/*.sh`
40
38
  5. Report what changed
41
39
  6. Never auto-commit (you commit manually)
42
40
 
43
41
  ## Operations supported
44
42
 
45
- - `create-project`, `create-agent`, `add-agent-to-project`
46
- - `remove-agent-from-project`, `archive-project`, `unarchive-project`, `rename-project`
47
- - `audit-project`, `audit-agent`, `audit-repo`
43
+ - `create-agent`, `create-function`
44
+ - `audit-agent`, `audit-repo`
48
45
 
49
46
  See `agent.md` for the full contract and confirmation rules.
50
47
 
@@ -52,14 +49,8 @@ See `agent.md` for the full contract and confirmation rules.
52
49
 
53
50
  | Operation | Backing script | Result location |
54
51
  |---|---|---|
55
- | create-project | `scripts/new-project.sh` | `projects/<project>/` + optional instances |
56
52
  | create-agent | `scripts/new-agent.sh` | `<function>/<agent>/` |
57
- | add-agent-to-project | `scripts/new-agent-instance.sh` | `<function>/<agent>/projects/<project>/` |
58
- | remove-agent-from-project | `scripts/remove-agent-from-project.sh` | moved to `_archive/<function>/<agent>/projects/<project>-<date>/` |
59
- | archive-project | `scripts/archive-project.sh` | moved to `_archive/projects/<project>-<date>/` (+ all instances) |
60
- | unarchive-project | `scripts/unarchive-project.sh` | restored from `_archive/` |
61
- | rename-project | `scripts/rename-project.sh` | folders + content updates everywhere |
62
- | audit-project | `scripts/audit-project.sh` | report at `chief-of-staff/logs/<YYYY-MM>/audit-*.md` |
53
+ | create-function | `scripts/create-function.sh` | `<function>/` |
63
54
  | audit-agent | `scripts/audit-agent.sh` | report at `chief-of-staff/logs/<YYYY-MM>/audit-*.md` |
64
55
  | audit-repo | `scripts/audit-repo.sh` | report at `chief-of-staff/logs/<YYYY-MM>/audit-repo-*.md` |
65
56
 
@@ -78,9 +69,10 @@ You manually sync to GitHub. The chief-of-staff agent surfaces what changed; you
78
69
  All operations have backing scripts that work standalone:
79
70
 
80
71
  ```bash
81
- bash scripts/new-project.sh myproject
82
- bash scripts/archive-project.sh test-scaffold "no longer needed"
83
- bash scripts/audit-project.sh _demo
72
+ bash scripts/new-agent.sh gtm sdr
73
+ bash scripts/create-function.sh ops
74
+ bash scripts/audit-agent.sh gtm sdr
75
+ bash scripts/audit-repo.sh
84
76
  ```
85
77
 
86
- The chief-of-staff agent wraps these with intent-parsing, validation, confirmations, and orchestration (e.g., create-project + create-instances in one operation). Scripts are the source of truth for what each operation actually does.
78
+ The chief-of-staff agent wraps these with intent-parsing, validation, and confirmations. Scripts are the source of truth for what each operation actually does.
@@ -2,37 +2,36 @@
2
2
 
3
3
  ## Purpose
4
4
 
5
- Operate on the agent-team repo itself. Scaffold empty structure for new projects/agents, archive completed projects, rename, audit completeness. This agent does not run business workflows — it manages the structure those workflows live in.
5
+ Operate on the agent-team workspace itself. Scaffold empty structure for new agents and functions, audit completeness. This agent does not run business workflows — it manages the structure those workflows live in.
6
6
 
7
- In **stub mode** (`create-agent`/`create-project` invoked headlessly or with `mode=stub`), this agent is an empty-structure scaffolder: it creates folders and template files in their default placeholder state — `voice.md` will say `<3 adjectives describing...>`, ICPs are `_persona-template.md`, agent purpose reads `<one paragraph...>`, and so on. In **guided mode** (the default when invoked interactively), `create-agent` runs the Guided Agent Creation dialogue defined in `skills/chief-of-staff/SKILL.md` and produces an `agent.md` with purpose, inputs, steps, tools, and subagents filled in from the dialogue answers — see that contract for the full prompt sequence. Filling project guidelines with real content remains a separate concern handled by function-level experts (a content agent, an expert, or templated generation from existing brand assets).
7
+ In **stub mode** (`create-agent` invoked headlessly or with `mode=stub`), this agent is an empty-structure scaffolder: it creates folders and template files in their default placeholder state — `voice.md` will say `<3 adjectives describing...>`, ICPs are `_persona-template.md`, agent purpose reads `<one paragraph...>`, and so on. In **guided mode** (the default when invoked interactively), `create-agent` runs the Guided Agent Creation dialogue defined in `skills/chief-of-staff/SKILL.md` and produces an `agent.md` with purpose, inputs, steps, tools, and subagents filled in from the dialogue answers — see that contract for the full prompt sequence. Filling guidelines with real content remains a separate concern handled by function-level experts (a content agent, an expert, or templated generation from existing brand assets).
8
8
 
9
9
  When in doubt, defer to `conventions.md` for the canonical structure schema and to the `_template/` directories for the canonical scaffold contents. This agent does not duplicate those — it tells you how to USE them.
10
10
 
11
11
  ## Working directory
12
12
 
13
- This agent operates from repo root only. If invoked from elsewhere, abort with: "Run chief-of-staff from agent-team repo root."
13
+ This agent operates from workspace root only. If invoked from elsewhere, abort with: "Run chief-of-staff from agent-team workspace root."
14
14
 
15
15
  ## Inputs
16
16
 
17
17
  The orchestrator (slash command or natural-language invocation) expects:
18
18
 
19
- - `plan`: name of a plan in `chief-of-staff/plans/` (e.g., `archive-project`, `audit-repo`)
19
+ - `plan`: name of a plan in `chief-of-staff/plans/` (e.g., `create-agent`, `audit-repo`)
20
20
  - Per-plan inputs (positional or named — see each plan's `inputs:` block)
21
21
 
22
22
  Inputs may arrive in natural language. Parse intent, confirm parameters, then run the operation. Examples:
23
23
 
24
- - "Create a new project called myproject with sdr and twitter-agent" → `create-project project=myproject agents=[gtm/sdr, gtm/twitter-agent]`
25
- - "Archive test-scaffold" → `archive-project project=test-scaffold`
26
- - "Audit Acme Corp" → `audit-project project=_demo`
27
- - "Add content-agent to _demo" → `add-agent-to-project project=_demo function=gtm agent=content-agent`
24
+ - "Create a new sdr agent under gtm" → `create-agent function=gtm agent=sdr`
25
+ - "Add a new function called ops" → `create-function function=ops`
26
+ - "Audit the gtm/sdr agent" → `audit-agent function=gtm agent=sdr`
27
+ - "Audit the whole repo" → `audit-repo`
28
28
 
29
29
  Read at runtime:
30
30
 
31
31
  - `agent.md` (this file)
32
32
  - `chief-of-staff/plans/<plan>.yaml` — the operation recipe
33
33
  - `conventions.md` — canonical structure schema
34
- - `projects/_template/` — project template
35
- - `<function>/<agent>/projects/_template/` — agent instance template (for the relevant agent)
34
+ - `<function>/_template/` — agent template (for the relevant function)
36
35
  - `chief-of-staff/playbook/` — global lessons about scaffolding (naming conventions, common mistakes)
37
36
 
38
37
  ## Plans
@@ -41,43 +40,34 @@ This agent runs via plans in `chief-of-staff/plans/`. Each plan wraps a backing
41
40
 
42
41
  | Plan | Description | Destructive? |
43
42
  |---|---|---|
44
- | `create-project` | Create a new project, optionally with agent instances | no |
45
43
  | `create-agent` | Create a new global agent under a function | no |
46
44
  | `create-function` | Add a new function category to the registry | no |
47
- | `add-agent-to-project` | Add an agent instance to an existing project | no |
48
- | `remove-agent-from-project` | Archive an agent instance (preserved in _archive) | yes |
49
- | `archive-project` | Archive a project + all its instances | yes |
50
- | `unarchive-project` | Restore an archived project | no |
51
- | `rename-project` | Rename a project everywhere it appears | yes |
52
- | `audit-project` | Validate a project's completeness; reports issues with suggested fixes | no |
53
- | `audit-agent` | Validate an agent's structure and instances | no |
54
- | `audit-repo` | Full repo audit aggregating project + agent reports | no |
45
+ | `audit-agent` | Validate an agent's structure | no |
46
+ | `audit-repo` | Full workspace audit aggregating agent reports | no |
55
47
 
56
48
  Invoke a plan via the slash command:
57
49
 
58
50
  ```
59
- /chief-of-staff create-project myproject with gtm/sdr
60
- /chief-of-staff archive-project test-scaffold
51
+ /chief-of-staff create-agent gtm sdr
52
+ /chief-of-staff create-function ops
61
53
  /chief-of-staff audit-repo
62
54
  ```
63
55
 
64
56
  Or in natural language:
65
57
 
66
58
  ```
67
- "Run chief-of-staff archive-project for test-scaffold"
59
+ "Run chief-of-staff audit-repo"
68
60
  ```
69
61
 
70
62
  When invoked without a plan, lists available plans and asks which to run.
71
63
 
72
- Destructive plans (`archive-project`, `unarchive-project`, `remove-agent-from-project`, `rename-project`) always show the planned changes and ask "proceed?" before executing. The cross-link prompts in `create-project` (which agents to instance) and `create-agent` (which projects to instance into) are also session-only — they cannot be answered headlessly. Power users skip the prompt by passing `agents` or `add-to-projects` inline.
73
-
74
64
  ## Common preamble for every plan
75
65
 
76
- 1. **Confirm cwd is repo root.** Check for presence of `CLAUDE.md`, `conventions.md`, `gtm/`, `projects/`. If not all present, abort.
66
+ 1. **Confirm cwd is workspace root.** Check for presence of `CLAUDE.md`, `conventions.md`. If not present, abort.
77
67
  2. **Parse the user's request.** Extract plan name + parameters. If ambiguous, ask before proceeding.
78
- 3. **Show the plan.** For destructive plans, summarize what will happen and ask "proceed?". Always include the list of paths that will be created, modified, or moved.
68
+ 3. **Show the plan.** Always include the list of paths that will be created or modified.
79
69
  4. **Execute by invoking the plan's backing script.** All operations are backed by a script in `scripts/`. The script does the work; this agent orchestrates and parses output.
80
- 5. **Report.** Summarize what changed (paths created/modified/moved). Note anything skipped or warnings.
70
+ 5. **Report.** Summarize what changed (paths created/modified). Note anything skipped or warnings.
81
71
  6. **Never auto-commit to git.** Leave commits for the user.
82
72
 
83
73
  ## Subagents
@@ -102,21 +92,21 @@ Per-plan output schemas are declared in each plan's `outputs:` block.
102
92
 
103
93
  `approval_channel: session` — this agent is invoked interactively, never via cron. All confirmations happen in-session.
104
94
 
105
- Confirmation gates are MANDATORY for: `archive-project`, `unarchive-project`, `rename-project`, `remove-agent-from-project`. They display the plan and ask "proceed?" before executing.
95
+ None of the current plans are destructive. If a future plan mutates or removes user content, add a mandatory confirmation gate that displays the plan and asks "proceed?" before executing.
106
96
 
107
97
  ## Lessons protocol
108
98
 
109
- When you observe a pattern across operations — e.g., "users frequently forget to run create-agent before create-project for that agent's instance" — log it as a candidate lesson in the operation's log entry, in a `## Candidate lessons` section. The dreamer picks it up next pass and may write a `chief-of-staff/playbook/L-...md` lesson.
99
+ When you observe a pattern across operations — e.g., "users frequently invoke create-agent before create-function and end up with orphaned slugs" — log it as a candidate lesson in the operation's log entry, in a `## Candidate lessons` section. The dreamer picks it up next pass and may write a `chief-of-staff/playbook/L-...md` lesson.
110
100
 
111
101
  Do NOT write to `chief-of-staff/playbook/` directly during operations. The user may write a lesson by hand with `source: human`.
112
102
 
113
103
  ## Failure modes
114
104
 
115
- - **Cwd not repo root**: abort with clear message
105
+ - **Cwd not workspace root**: abort with clear message
116
106
  - **Invalid slug or function name**: abort with example of valid format
117
107
  - **Collision (target already exists)**: abort, tell user the existing path
118
- - **Missing dependency (e.g., agent doesn't exist for create-instance)**: abort, suggest the prerequisite plan
108
+ - **Missing dependency (e.g., function doesn't exist when running `create-agent`)**: abort, suggest the prerequisite plan
119
109
  - **Script fails**: surface the script's stderr; don't attempt to recover by doing the work directly
120
110
  - **YAML/JSON parse error in audit**: report as failure with line number from the audit script
121
111
  - **Confirmation gate denied**: abort cleanly, no changes
122
- - **Partial failure mid-operation**: scripts handle their own rollback. If a script reports partial state, surface exactly what state the repo is in and what to do next.
112
+ - **Partial failure mid-operation**: scripts handle their own rollback. If a script reports partial state, surface exactly what state the workspace is in and what to do next.
@@ -1,9 +1,9 @@
1
1
  plan: audit-agent
2
2
  description: |
3
- Validate a global agent's structure and all its instances. Checks required
4
- agent.md sections, README, .mcp.json, .claude/settings.json, subagents,
5
- playbook, projects/_template/, plans/, slash command, and per-instance
6
- config validity.
3
+ Validate one agent at its flat shape `<function>/<agent>/`. Checks required
4
+ agent.md sections, README.md, config.yaml, .env (optional, agent-scoped),
5
+ .mcp.json, .claude/settings.json, subagents/, playbook/, plans/, and the
6
+ slash command at .claude/commands/<agent>.md.
7
7
 
8
8
  inputs:
9
9
  function:
@@ -1,9 +1,10 @@
1
1
  plan: audit-repo
2
2
  description: |
3
- Full-repo audit. Runs project audits for every live project and agent
4
- audits for every live agent. Aggregates into one report. Also checks
5
- universal .mcp.json, universal .claude/settings.json, root CLAUDE.md /
6
- conventions.md / README.md, and orphaned instances.
3
+ Full workspace audit. Runs agent audits for every live agent and aggregates
4
+ into one report. Also checks workspace completeness: root CLAUDE.md,
5
+ conventions.md, README.md, config/project.yaml, guidelines/,
6
+ .config/functions.yaml, universal .mcp.json, and universal
7
+ .claude/settings.json.
7
8
 
8
9
  inputs: {}
9
10
 
@@ -11,8 +11,8 @@ description: |
11
11
  Produces the same on-disk layout as stub mode, but with agent.md
12
12
  sections filled in from the dialogue answers.
13
13
 
14
- Either mode optionally instances the resulting agent into existing
15
- projects (or prompts the caller to pick).
14
+ Agents scaffold at `<function>/<agent>/` flat shape, no per-project
15
+ instances.
16
16
 
17
17
  inputs:
18
18
  function:
@@ -26,13 +26,9 @@ inputs:
26
26
  description: |
27
27
  Explicit branch override: `stub` or `guided`. If omitted, `resolve_mode`
28
28
  picks based on env + TTY (see that step).
29
- add-to-projects:
30
- required: false
31
- description: List of project slugs to instance into. If omitted, the cross-link prompt runs.
32
29
 
33
30
  outputs:
34
31
  agent_path: string
35
- instance_paths: list
36
32
  mode_used: string # "stub" or "guided" — which branch executed.
37
33
  files_written: list # absolute paths of every file the plan created or modified.
38
34
 
@@ -42,8 +38,7 @@ steps:
42
38
  Confirm ${inputs.function} is registered. Validate ${inputs.agent} slug
43
39
  against `^[a-z][a-z0-9-]*$`. Confirm `${inputs.function}/${inputs.agent}/`
44
40
  does not already exist. If ${inputs.mode} is provided, validate it is
45
- one of {stub, guided}. If ${inputs.add-to-projects} provided, validate
46
- each project exists at `projects/<slug>/`. If any are missing, abort.
41
+ one of {stub, guided}.
47
42
 
48
43
  - id: resolve_mode
49
44
  description: |
@@ -81,34 +76,10 @@ steps:
81
76
  `TODO: fill in description` placeholder. Append every file touched
82
77
  to `${files_written}`.
83
78
 
84
- - id: resolve_projects
85
- description: |
86
- Branch on whether ${inputs.add-to-projects} was provided.
87
- - If provided: use the list directly.
88
- - If omitted: discover all live projects (every dir under `projects/`
89
- that is not `_template` and does not start with `_`). If empty,
90
- skip instancing and report "no live projects yet."
91
- Otherwise present a multi-select via AskUserQuestion with options
92
- [All projects, ...each project, None — agent stays global-only]
93
- and `multiSelect: true`.
94
-
95
- - id: instance_into_projects
96
- tool: bash
97
- args:
98
- command: |
99
- for proj in ${resolved_projects}; do
100
- bash scripts/new-agent-instance.sh "$proj" ${inputs.function} ${inputs.agent}
101
- done
102
- description: |
103
- For each resolved project, run `new-agent-instance.sh` and append the
104
- instance line to `projects/<project>/CLAUDE.md` under
105
- `## Active agent instances`. Append every created instance path to
106
- `${files_written}`.
107
-
108
79
  - id: report
109
80
  description: |
110
- Print `${outputs.mode_used}`, the global agent path, every instance
111
- path, and the full `${files_written}` list.
81
+ Print `${outputs.mode_used}`, the agent path, and the full
82
+ `${files_written}` list.
112
83
 
113
84
  In **stub** mode, surface the script's "Next steps" output verbatim
114
85
  (fill `agent.md`, add subagents, configure MCPs, add at least one
@@ -0,0 +1,10 @@
1
+ # Roster project identity.
2
+ # After roster init: name and display_name are substituted with your project.
3
+ # Edit the remaining fields (stage, audience, motion, created) before running agents.
4
+
5
+ name: {{PROJECT_NAME}} # required — kebab-case slug (substituted by roster init)
6
+ display_name: "{{DISPLAY_NAME}}" # required — human-readable name (substituted by roster init)
7
+ stage: pre-launch # one of: pre-launch | post-launch | scaling | mature
8
+ audience: "" # one-line description of who you sell to (fill in)
9
+ motion: outbound # one of: outbound | inbound | plg | hybrid
10
+ created: "" # yyyy-mm-dd — your project's kickoff date (fill in)