@openlife/cli 1.9.3 → 1.10.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 (116) hide show
  1. package/.catalog/agents/test-agent/AGENT.md +1 -1
  2. package/.catalog/mcps/test-mcp/mcp.json +1 -1
  3. package/.catalog/skills/sample-from-url/IMPORTED_REFERENCE.md +2 -2
  4. package/.catalog/skills/test-skill/REFERENCE.md +1 -1
  5. package/.catalog/squads/test-squad/SQUAD.md +1 -1
  6. package/dist/test_openlife_method_inventory.js +31 -3
  7. package/dist-templates/claude-code/commands/openlife/agents/atlas.md +5 -1
  8. package/dist-templates/claude-code/commands/openlife/agents/builder.md +5 -1
  9. package/dist-templates/claude-code/commands/openlife/agents/conductor.md +5 -1
  10. package/dist-templates/claude-code/commands/openlife/agents/forge.md +5 -1
  11. package/dist-templates/claude-code/commands/openlife/agents/genesis.md +5 -1
  12. package/dist-templates/claude-code/commands/openlife/agents/lyra.md +5 -1
  13. package/dist-templates/claude-code/commands/openlife/agents/maestro.md +5 -1
  14. package/dist-templates/claude-code/commands/openlife/agents/mesh.md +5 -1
  15. package/dist-templates/claude-code/commands/openlife/agents/prism.md +5 -1
  16. package/dist-templates/claude-code/commands/openlife/agents/sentinel.md +5 -1
  17. package/dist-templates/claude-code/commands/openlife/agents/steward.md +5 -1
  18. package/dist-templates/claude-code/commands/openlife/agents/vortex.md +5 -1
  19. package/dist-templates/claude-code/commands/openlife/ask.md +23 -6
  20. package/dist-templates/claude-code/commands/openlife/audit.md +31 -2
  21. package/dist-templates/claude-code/commands/openlife/doctor.md +0 -2
  22. package/dist-templates/claude-code/commands/openlife/dream.md +23 -2
  23. package/dist-templates/claude-code/commands/openlife/explore.md +20 -2
  24. package/dist-templates/claude-code/commands/openlife/flow/brownfield-discovery.md +24 -6
  25. package/dist-templates/claude-code/commands/openlife/flow/brownfield-fullstack.md +24 -6
  26. package/dist-templates/claude-code/commands/openlife/flow/brownfield-service.md +24 -6
  27. package/dist-templates/claude-code/commands/openlife/flow/brownfield-ui.md +24 -6
  28. package/dist-templates/claude-code/commands/openlife/flow/epic.md +24 -6
  29. package/dist-templates/claude-code/commands/openlife/flow/greenfield-fullstack.md +24 -6
  30. package/dist-templates/claude-code/commands/openlife/flow/greenfield-service.md +24 -6
  31. package/dist-templates/claude-code/commands/openlife/flow/greenfield-ui.md +24 -6
  32. package/dist-templates/claude-code/commands/openlife/flow/qa-loop.md +24 -6
  33. package/dist-templates/claude-code/commands/openlife/flow/release.md +24 -6
  34. package/dist-templates/claude-code/commands/openlife/flow/spec-pipeline.md +24 -6
  35. package/dist-templates/claude-code/commands/openlife/flow/story-cycle.md +24 -6
  36. package/dist-templates/claude-code/commands/openlife/health.md +25 -2
  37. package/dist-templates/claude-code/commands/openlife/plan.md +26 -2
  38. package/dist-templates/claude-code/commands/openlife/review.md +22 -2
  39. package/dist-templates/claude-code/commands/openlife/ship.md +23 -2
  40. package/dist-templates/claude-code/commands/openlife/start.md +21 -8
  41. package/dist-templates/claude-code/commands/openlife/status.md +0 -2
  42. package/dist-templates/claude-code/commands/openlife/story.md +20 -4
  43. package/dist-templates/codex/commands/openlife/agents/atlas.md +5 -1
  44. package/dist-templates/codex/commands/openlife/agents/builder.md +5 -1
  45. package/dist-templates/codex/commands/openlife/agents/conductor.md +5 -1
  46. package/dist-templates/codex/commands/openlife/agents/forge.md +5 -1
  47. package/dist-templates/codex/commands/openlife/agents/genesis.md +5 -1
  48. package/dist-templates/codex/commands/openlife/agents/lyra.md +5 -1
  49. package/dist-templates/codex/commands/openlife/agents/maestro.md +5 -1
  50. package/dist-templates/codex/commands/openlife/agents/mesh.md +5 -1
  51. package/dist-templates/codex/commands/openlife/agents/prism.md +5 -1
  52. package/dist-templates/codex/commands/openlife/agents/sentinel.md +5 -1
  53. package/dist-templates/codex/commands/openlife/agents/steward.md +5 -1
  54. package/dist-templates/codex/commands/openlife/agents/vortex.md +5 -1
  55. package/dist-templates/codex/commands/openlife/ask.md +23 -6
  56. package/dist-templates/codex/commands/openlife/audit.md +31 -2
  57. package/dist-templates/codex/commands/openlife/doctor.md +0 -2
  58. package/dist-templates/codex/commands/openlife/dream.md +23 -2
  59. package/dist-templates/codex/commands/openlife/explore.md +20 -2
  60. package/dist-templates/codex/commands/openlife/flow/brownfield-discovery.md +24 -6
  61. package/dist-templates/codex/commands/openlife/flow/brownfield-fullstack.md +24 -6
  62. package/dist-templates/codex/commands/openlife/flow/brownfield-service.md +24 -6
  63. package/dist-templates/codex/commands/openlife/flow/brownfield-ui.md +24 -6
  64. package/dist-templates/codex/commands/openlife/flow/epic.md +24 -6
  65. package/dist-templates/codex/commands/openlife/flow/greenfield-fullstack.md +24 -6
  66. package/dist-templates/codex/commands/openlife/flow/greenfield-service.md +24 -6
  67. package/dist-templates/codex/commands/openlife/flow/greenfield-ui.md +24 -6
  68. package/dist-templates/codex/commands/openlife/flow/qa-loop.md +24 -6
  69. package/dist-templates/codex/commands/openlife/flow/release.md +24 -6
  70. package/dist-templates/codex/commands/openlife/flow/spec-pipeline.md +24 -6
  71. package/dist-templates/codex/commands/openlife/flow/story-cycle.md +24 -6
  72. package/dist-templates/codex/commands/openlife/health.md +25 -2
  73. package/dist-templates/codex/commands/openlife/plan.md +26 -2
  74. package/dist-templates/codex/commands/openlife/review.md +22 -2
  75. package/dist-templates/codex/commands/openlife/ship.md +23 -2
  76. package/dist-templates/codex/commands/openlife/start.md +21 -8
  77. package/dist-templates/codex/commands/openlife/status.md +0 -2
  78. package/dist-templates/codex/commands/openlife/story.md +20 -4
  79. package/dist-templates/gemini-cli/commands/openlife/agents/atlas.md +5 -1
  80. package/dist-templates/gemini-cli/commands/openlife/agents/builder.md +5 -1
  81. package/dist-templates/gemini-cli/commands/openlife/agents/conductor.md +5 -1
  82. package/dist-templates/gemini-cli/commands/openlife/agents/forge.md +5 -1
  83. package/dist-templates/gemini-cli/commands/openlife/agents/genesis.md +5 -1
  84. package/dist-templates/gemini-cli/commands/openlife/agents/lyra.md +5 -1
  85. package/dist-templates/gemini-cli/commands/openlife/agents/maestro.md +5 -1
  86. package/dist-templates/gemini-cli/commands/openlife/agents/mesh.md +5 -1
  87. package/dist-templates/gemini-cli/commands/openlife/agents/prism.md +5 -1
  88. package/dist-templates/gemini-cli/commands/openlife/agents/sentinel.md +5 -1
  89. package/dist-templates/gemini-cli/commands/openlife/agents/steward.md +5 -1
  90. package/dist-templates/gemini-cli/commands/openlife/agents/vortex.md +5 -1
  91. package/dist-templates/gemini-cli/commands/openlife/ask.md +23 -6
  92. package/dist-templates/gemini-cli/commands/openlife/audit.md +31 -2
  93. package/dist-templates/gemini-cli/commands/openlife/doctor.md +0 -2
  94. package/dist-templates/gemini-cli/commands/openlife/dream.md +23 -2
  95. package/dist-templates/gemini-cli/commands/openlife/explore.md +20 -2
  96. package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-discovery.md +24 -6
  97. package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-fullstack.md +24 -6
  98. package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-service.md +24 -6
  99. package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-ui.md +24 -6
  100. package/dist-templates/gemini-cli/commands/openlife/flow/epic.md +24 -6
  101. package/dist-templates/gemini-cli/commands/openlife/flow/greenfield-fullstack.md +24 -6
  102. package/dist-templates/gemini-cli/commands/openlife/flow/greenfield-service.md +24 -6
  103. package/dist-templates/gemini-cli/commands/openlife/flow/greenfield-ui.md +24 -6
  104. package/dist-templates/gemini-cli/commands/openlife/flow/qa-loop.md +24 -6
  105. package/dist-templates/gemini-cli/commands/openlife/flow/release.md +24 -6
  106. package/dist-templates/gemini-cli/commands/openlife/flow/spec-pipeline.md +24 -6
  107. package/dist-templates/gemini-cli/commands/openlife/flow/story-cycle.md +24 -6
  108. package/dist-templates/gemini-cli/commands/openlife/health.md +25 -2
  109. package/dist-templates/gemini-cli/commands/openlife/plan.md +26 -2
  110. package/dist-templates/gemini-cli/commands/openlife/review.md +22 -2
  111. package/dist-templates/gemini-cli/commands/openlife/ship.md +23 -2
  112. package/dist-templates/gemini-cli/commands/openlife/start.md +21 -8
  113. package/dist-templates/gemini-cli/commands/openlife/status.md +0 -2
  114. package/dist-templates/gemini-cli/commands/openlife/story.md +20 -4
  115. package/package.json +1 -1
  116. package/scripts/generate-slash-commands.js +209 -34
@@ -10,11 +10,29 @@ allowed-tools:
10
10
  - AskUserQuestion
11
11
  ---
12
12
 
13
- Run `openlife flow run greenfield-fullstack $ARGUMENTS` and walk the user through the workflow as it executes.
13
+ **Mode:** host-native you (the host LLM) orchestrate the `greenfield-fullstack` workflow yourself, playing the personas as needed.
14
14
 
15
- - The workflow YAML is at `dist-templates/workflows/greenfield-fullstack.yaml` (or `.openlife/method/workflows/greenfield-fullstack.yaml` if locally overridden).
16
- - Each phase invokes one or more OpenLife method agents.
17
- - On any failure: surface the failing step + which agent is responsible, then offer to escalate to `@openlife-maestro`.
18
- - `--dry-run` prints the phase plan without executing.
15
+ ### Step 1 Load the workflow definition
19
16
 
20
- Refer the user to the persona of the active phase when they ask "who is doing this?".
17
+ Read `dist-templates/workflows/greenfield-fullstack.yaml` (project local override at `.openlife/method/workflows/greenfield-fullstack.yaml` or `.catalog/workflows/greenfield-fullstack.yaml` takes precedence if present).
18
+
19
+ If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run greenfield-fullstack --dry-run` to print the phase plan, then STOP.
20
+
21
+ ### Step 2 — Walk the phases
22
+
23
+ For each phase in the workflow's `sequence`:
24
+
25
+ 1. Announce which phase you're entering and which persona owns this phase (the `agent:` field on the step)
26
+ 2. Read `.openlife/method/agents/<persona-id>.md` for the active persona — adopt that persona for this phase
27
+ 3. Execute the step's `action` using the persona's discipline (commands, hand-off rules, anti-patterns)
28
+ 4. Produce the artifacts listed in `creates:` — write them to the paths declared in the YAML
29
+ 5. If `elicit: true`, ask the user via AskUserQuestion before proceeding
30
+ 6. Hand off to the next phase's persona; announce the handoff
31
+
32
+ ### Step 3 — Surface failures explicitly
33
+
34
+ On any step failure: identify the failing step, the active persona, and offer to escalate to `@openlife-maestro` (read `.openlife/method/agents/maestro.md`).
35
+
36
+ ### Why host-native, not shell?
37
+
38
+ Running the workflow this way uses your reasoning (the host LLM) instead of the external Brain chain. Zero API key needed for orchestration. If the user wants the external Brain to drive (headless / batch / cron), they can run `openlife flow run greenfield-fullstack "$ARGUMENTS"` in a terminal.
@@ -10,11 +10,29 @@ allowed-tools:
10
10
  - AskUserQuestion
11
11
  ---
12
12
 
13
- Run `openlife flow run greenfield-service $ARGUMENTS` and walk the user through the workflow as it executes.
13
+ **Mode:** host-native you (the host LLM) orchestrate the `greenfield-service` workflow yourself, playing the personas as needed.
14
14
 
15
- - The workflow YAML is at `dist-templates/workflows/greenfield-service.yaml` (or `.openlife/method/workflows/greenfield-service.yaml` if locally overridden).
16
- - Each phase invokes one or more OpenLife method agents.
17
- - On any failure: surface the failing step + which agent is responsible, then offer to escalate to `@openlife-maestro`.
18
- - `--dry-run` prints the phase plan without executing.
15
+ ### Step 1 Load the workflow definition
19
16
 
20
- Refer the user to the persona of the active phase when they ask "who is doing this?".
17
+ Read `dist-templates/workflows/greenfield-service.yaml` (project local override at `.openlife/method/workflows/greenfield-service.yaml` or `.catalog/workflows/greenfield-service.yaml` takes precedence if present).
18
+
19
+ If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run greenfield-service --dry-run` to print the phase plan, then STOP.
20
+
21
+ ### Step 2 — Walk the phases
22
+
23
+ For each phase in the workflow's `sequence`:
24
+
25
+ 1. Announce which phase you're entering and which persona owns this phase (the `agent:` field on the step)
26
+ 2. Read `.openlife/method/agents/<persona-id>.md` for the active persona — adopt that persona for this phase
27
+ 3. Execute the step's `action` using the persona's discipline (commands, hand-off rules, anti-patterns)
28
+ 4. Produce the artifacts listed in `creates:` — write them to the paths declared in the YAML
29
+ 5. If `elicit: true`, ask the user via AskUserQuestion before proceeding
30
+ 6. Hand off to the next phase's persona; announce the handoff
31
+
32
+ ### Step 3 — Surface failures explicitly
33
+
34
+ On any step failure: identify the failing step, the active persona, and offer to escalate to `@openlife-maestro` (read `.openlife/method/agents/maestro.md`).
35
+
36
+ ### Why host-native, not shell?
37
+
38
+ Running the workflow this way uses your reasoning (the host LLM) instead of the external Brain chain. Zero API key needed for orchestration. If the user wants the external Brain to drive (headless / batch / cron), they can run `openlife flow run greenfield-service "$ARGUMENTS"` in a terminal.
@@ -10,11 +10,29 @@ allowed-tools:
10
10
  - AskUserQuestion
11
11
  ---
12
12
 
13
- Run `openlife flow run greenfield-ui $ARGUMENTS` and walk the user through the workflow as it executes.
13
+ **Mode:** host-native you (the host LLM) orchestrate the `greenfield-ui` workflow yourself, playing the personas as needed.
14
14
 
15
- - The workflow YAML is at `dist-templates/workflows/greenfield-ui.yaml` (or `.openlife/method/workflows/greenfield-ui.yaml` if locally overridden).
16
- - Each phase invokes one or more OpenLife method agents.
17
- - On any failure: surface the failing step + which agent is responsible, then offer to escalate to `@openlife-maestro`.
18
- - `--dry-run` prints the phase plan without executing.
15
+ ### Step 1 Load the workflow definition
19
16
 
20
- Refer the user to the persona of the active phase when they ask "who is doing this?".
17
+ Read `dist-templates/workflows/greenfield-ui.yaml` (project local override at `.openlife/method/workflows/greenfield-ui.yaml` or `.catalog/workflows/greenfield-ui.yaml` takes precedence if present).
18
+
19
+ If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run greenfield-ui --dry-run` to print the phase plan, then STOP.
20
+
21
+ ### Step 2 — Walk the phases
22
+
23
+ For each phase in the workflow's `sequence`:
24
+
25
+ 1. Announce which phase you're entering and which persona owns this phase (the `agent:` field on the step)
26
+ 2. Read `.openlife/method/agents/<persona-id>.md` for the active persona — adopt that persona for this phase
27
+ 3. Execute the step's `action` using the persona's discipline (commands, hand-off rules, anti-patterns)
28
+ 4. Produce the artifacts listed in `creates:` — write them to the paths declared in the YAML
29
+ 5. If `elicit: true`, ask the user via AskUserQuestion before proceeding
30
+ 6. Hand off to the next phase's persona; announce the handoff
31
+
32
+ ### Step 3 — Surface failures explicitly
33
+
34
+ On any step failure: identify the failing step, the active persona, and offer to escalate to `@openlife-maestro` (read `.openlife/method/agents/maestro.md`).
35
+
36
+ ### Why host-native, not shell?
37
+
38
+ Running the workflow this way uses your reasoning (the host LLM) instead of the external Brain chain. Zero API key needed for orchestration. If the user wants the external Brain to drive (headless / batch / cron), they can run `openlife flow run greenfield-ui "$ARGUMENTS"` in a terminal.
@@ -10,11 +10,29 @@ allowed-tools:
10
10
  - AskUserQuestion
11
11
  ---
12
12
 
13
- Run `openlife flow run qa-loop $ARGUMENTS` and walk the user through the workflow as it executes.
13
+ **Mode:** host-native you (the host LLM) orchestrate the `qa-loop` workflow yourself, playing the personas as needed.
14
14
 
15
- - The workflow YAML is at `dist-templates/workflows/qa-loop.yaml` (or `.openlife/method/workflows/qa-loop.yaml` if locally overridden).
16
- - Each phase invokes one or more OpenLife method agents.
17
- - On any failure: surface the failing step + which agent is responsible, then offer to escalate to `@openlife-maestro`.
18
- - `--dry-run` prints the phase plan without executing.
15
+ ### Step 1 Load the workflow definition
19
16
 
20
- Refer the user to the persona of the active phase when they ask "who is doing this?".
17
+ Read `dist-templates/workflows/qa-loop.yaml` (project local override at `.openlife/method/workflows/qa-loop.yaml` or `.catalog/workflows/qa-loop.yaml` takes precedence if present).
18
+
19
+ If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run qa-loop --dry-run` to print the phase plan, then STOP.
20
+
21
+ ### Step 2 — Walk the phases
22
+
23
+ For each phase in the workflow's `sequence`:
24
+
25
+ 1. Announce which phase you're entering and which persona owns this phase (the `agent:` field on the step)
26
+ 2. Read `.openlife/method/agents/<persona-id>.md` for the active persona — adopt that persona for this phase
27
+ 3. Execute the step's `action` using the persona's discipline (commands, hand-off rules, anti-patterns)
28
+ 4. Produce the artifacts listed in `creates:` — write them to the paths declared in the YAML
29
+ 5. If `elicit: true`, ask the user via AskUserQuestion before proceeding
30
+ 6. Hand off to the next phase's persona; announce the handoff
31
+
32
+ ### Step 3 — Surface failures explicitly
33
+
34
+ On any step failure: identify the failing step, the active persona, and offer to escalate to `@openlife-maestro` (read `.openlife/method/agents/maestro.md`).
35
+
36
+ ### Why host-native, not shell?
37
+
38
+ Running the workflow this way uses your reasoning (the host LLM) instead of the external Brain chain. Zero API key needed for orchestration. If the user wants the external Brain to drive (headless / batch / cron), they can run `openlife flow run qa-loop "$ARGUMENTS"` in a terminal.
@@ -10,11 +10,29 @@ allowed-tools:
10
10
  - AskUserQuestion
11
11
  ---
12
12
 
13
- Run `openlife flow run continuous-deployment $ARGUMENTS` and walk the user through the workflow as it executes.
13
+ **Mode:** host-native you (the host LLM) orchestrate the `continuous-deployment` workflow yourself, playing the personas as needed.
14
14
 
15
- - The workflow YAML is at `dist-templates/workflows/continuous-deployment.yaml` (or `.openlife/method/workflows/continuous-deployment.yaml` if locally overridden).
16
- - Each phase invokes one or more OpenLife method agents.
17
- - On any failure: surface the failing step + which agent is responsible, then offer to escalate to `@openlife-maestro`.
18
- - `--dry-run` prints the phase plan without executing.
15
+ ### Step 1 Load the workflow definition
19
16
 
20
- Refer the user to the persona of the active phase when they ask "who is doing this?".
17
+ Read `dist-templates/workflows/continuous-deployment.yaml` (project local override at `.openlife/method/workflows/continuous-deployment.yaml` or `.catalog/workflows/continuous-deployment.yaml` takes precedence if present).
18
+
19
+ If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run continuous-deployment --dry-run` to print the phase plan, then STOP.
20
+
21
+ ### Step 2 — Walk the phases
22
+
23
+ For each phase in the workflow's `sequence`:
24
+
25
+ 1. Announce which phase you're entering and which persona owns this phase (the `agent:` field on the step)
26
+ 2. Read `.openlife/method/agents/<persona-id>.md` for the active persona — adopt that persona for this phase
27
+ 3. Execute the step's `action` using the persona's discipline (commands, hand-off rules, anti-patterns)
28
+ 4. Produce the artifacts listed in `creates:` — write them to the paths declared in the YAML
29
+ 5. If `elicit: true`, ask the user via AskUserQuestion before proceeding
30
+ 6. Hand off to the next phase's persona; announce the handoff
31
+
32
+ ### Step 3 — Surface failures explicitly
33
+
34
+ On any step failure: identify the failing step, the active persona, and offer to escalate to `@openlife-maestro` (read `.openlife/method/agents/maestro.md`).
35
+
36
+ ### Why host-native, not shell?
37
+
38
+ Running the workflow this way uses your reasoning (the host LLM) instead of the external Brain chain. Zero API key needed for orchestration. If the user wants the external Brain to drive (headless / batch / cron), they can run `openlife flow run continuous-deployment "$ARGUMENTS"` in a terminal.
@@ -10,11 +10,29 @@ allowed-tools:
10
10
  - AskUserQuestion
11
11
  ---
12
12
 
13
- Run `openlife flow run spec-pipeline $ARGUMENTS` and walk the user through the workflow as it executes.
13
+ **Mode:** host-native you (the host LLM) orchestrate the `spec-pipeline` workflow yourself, playing the personas as needed.
14
14
 
15
- - The workflow YAML is at `dist-templates/workflows/spec-pipeline.yaml` (or `.openlife/method/workflows/spec-pipeline.yaml` if locally overridden).
16
- - Each phase invokes one or more OpenLife method agents.
17
- - On any failure: surface the failing step + which agent is responsible, then offer to escalate to `@openlife-maestro`.
18
- - `--dry-run` prints the phase plan without executing.
15
+ ### Step 1 Load the workflow definition
19
16
 
20
- Refer the user to the persona of the active phase when they ask "who is doing this?".
17
+ Read `dist-templates/workflows/spec-pipeline.yaml` (project local override at `.openlife/method/workflows/spec-pipeline.yaml` or `.catalog/workflows/spec-pipeline.yaml` takes precedence if present).
18
+
19
+ If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run spec-pipeline --dry-run` to print the phase plan, then STOP.
20
+
21
+ ### Step 2 — Walk the phases
22
+
23
+ For each phase in the workflow's `sequence`:
24
+
25
+ 1. Announce which phase you're entering and which persona owns this phase (the `agent:` field on the step)
26
+ 2. Read `.openlife/method/agents/<persona-id>.md` for the active persona — adopt that persona for this phase
27
+ 3. Execute the step's `action` using the persona's discipline (commands, hand-off rules, anti-patterns)
28
+ 4. Produce the artifacts listed in `creates:` — write them to the paths declared in the YAML
29
+ 5. If `elicit: true`, ask the user via AskUserQuestion before proceeding
30
+ 6. Hand off to the next phase's persona; announce the handoff
31
+
32
+ ### Step 3 — Surface failures explicitly
33
+
34
+ On any step failure: identify the failing step, the active persona, and offer to escalate to `@openlife-maestro` (read `.openlife/method/agents/maestro.md`).
35
+
36
+ ### Why host-native, not shell?
37
+
38
+ Running the workflow this way uses your reasoning (the host LLM) instead of the external Brain chain. Zero API key needed for orchestration. If the user wants the external Brain to drive (headless / batch / cron), they can run `openlife flow run spec-pipeline "$ARGUMENTS"` in a terminal.
@@ -10,11 +10,29 @@ allowed-tools:
10
10
  - AskUserQuestion
11
11
  ---
12
12
 
13
- Run `openlife flow run story-development-cycle $ARGUMENTS` and walk the user through the workflow as it executes.
13
+ **Mode:** host-native you (the host LLM) orchestrate the `story-development-cycle` workflow yourself, playing the personas as needed.
14
14
 
15
- - The workflow YAML is at `dist-templates/workflows/story-development-cycle.yaml` (or `.openlife/method/workflows/story-development-cycle.yaml` if locally overridden).
16
- - Each phase invokes one or more OpenLife method agents.
17
- - On any failure: surface the failing step + which agent is responsible, then offer to escalate to `@openlife-maestro`.
18
- - `--dry-run` prints the phase plan without executing.
15
+ ### Step 1 Load the workflow definition
19
16
 
20
- Refer the user to the persona of the active phase when they ask "who is doing this?".
17
+ Read `dist-templates/workflows/story-development-cycle.yaml` (project local override at `.openlife/method/workflows/story-development-cycle.yaml` or `.catalog/workflows/story-development-cycle.yaml` takes precedence if present).
18
+
19
+ If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run story-development-cycle --dry-run` to print the phase plan, then STOP.
20
+
21
+ ### Step 2 — Walk the phases
22
+
23
+ For each phase in the workflow's `sequence`:
24
+
25
+ 1. Announce which phase you're entering and which persona owns this phase (the `agent:` field on the step)
26
+ 2. Read `.openlife/method/agents/<persona-id>.md` for the active persona — adopt that persona for this phase
27
+ 3. Execute the step's `action` using the persona's discipline (commands, hand-off rules, anti-patterns)
28
+ 4. Produce the artifacts listed in `creates:` — write them to the paths declared in the YAML
29
+ 5. If `elicit: true`, ask the user via AskUserQuestion before proceeding
30
+ 6. Hand off to the next phase's persona; announce the handoff
31
+
32
+ ### Step 3 — Surface failures explicitly
33
+
34
+ On any step failure: identify the failing step, the active persona, and offer to escalate to `@openlife-maestro` (read `.openlife/method/agents/maestro.md`).
35
+
36
+ ### Why host-native, not shell?
37
+
38
+ Running the workflow this way uses your reasoning (the host LLM) instead of the external Brain chain. Zero API key needed for orchestration. If the user wants the external Brain to drive (headless / batch / cron), they can run `openlife flow run story-development-cycle "$ARGUMENTS"` in a terminal.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Extended health check — combines `doctor` with runtime diagnostics from Maestro
2
+ description: Extended health check — combines `doctor` runtime check with Maestro's framework integrity review
3
3
  allowed-tools:
4
4
  - Read
5
5
  - Write
@@ -11,4 +11,27 @@ allowed-tools:
11
11
  - AskUserQuestion
12
12
  ---
13
13
 
14
- Run `openlife system doctor` first, then activate `@openlife-maestro` and run `*health` to check cross-agent integrity (catalog completeness, missing handoff artifacts, draft components pending promotion).
14
+ **Mode:** host-native (the host LLM running this conversation answers directly no external API key required).
15
+
16
+ Two-step health check:
17
+
18
+ 1. Run `openlife system doctor` (real shell command) to capture API keys, model chain, catalog state, daemon state
19
+ 2. Read `.openlife/method/agents/maestro.md`, become Maestro, and check cross-agent integrity:
20
+ - Catalog completeness (314 agents / 46 squads / 55 skills present?)
21
+ - Missing handoff artifacts in `.openlife/handoffs/`
22
+ - Draft components pending promotion in `.catalog/{agents,squads,skills}/<id>/` with `status: draft`
23
+ - Any contradictions between `.openlife/project.json` mode and active workflow
24
+
25
+ Present both diagnostics in one consolidated report.
26
+
27
+ ---
28
+
29
+ ### Want the external model chain instead?
30
+
31
+ If you specifically need the configured `models.json` chain (for cost-tracking, batch, or non-host contexts), run the command in a terminal:
32
+
33
+ ```bash
34
+ openlife health "$ARGUMENTS"
35
+ ```
36
+
37
+ That path uses the Brain dispatcher and requires the appropriate API key in `.env`. The slash command (this one) intentionally bypasses external APIs to keep host-CLI usage zero-config.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Run the spec pipeline gather requirements, assess complexity, write executable spec
2
+ description: Run the spec pipeline (gather assess research → write critique → plan) — host LLM orchestrates the 6 phases
3
3
  allowed-tools:
4
4
  - Read
5
5
  - Write
@@ -11,4 +11,28 @@ allowed-tools:
11
11
  - AskUserQuestion
12
12
  ---
13
13
 
14
- Run `openlife flow run spec-pipeline "$ARGUMENTS"`. The 6-phase pipeline: gather assess research write critique → plan. Walk the user through each phase's output.
14
+ **Mode:** host-native (the host LLM running this conversation answers directly no external API key required).
15
+
16
+ Orchestrate the spec-pipeline workflow YOURSELF, phase by phase. You play multiple personas inline.
17
+
18
+ 1. Read `dist-templates/workflows/spec-pipeline.yaml` to understand the phases
19
+ 2. Phase 1 — Gather: become @openlife-genesis (read `.openlife/method/agents/genesis.md`) and elicit requirements from the user via AskUserQuestion
20
+ 3. Phase 2 — Assess: become @openlife-atlas, score the 5 complexity dimensions
21
+ 4. Phase 3 — Research (skip if SIMPLE complexity): become @openlife-lyra, surface unknowns
22
+ 5. Phase 4 — Write: become @openlife-genesis again, draft spec.md
23
+ 6. Phase 5 — Critique: become @openlife-sentinel, return verdict (APPROVED / NEEDS_REVISION / BLOCKED)
24
+ 7. Phase 6 — Plan: become @openlife-atlas, generate implementation.yaml
25
+
26
+ Each phase ends with the user explicitly OK'ing before the next.
27
+
28
+ ---
29
+
30
+ ### Want the external model chain instead?
31
+
32
+ If you specifically need the configured `models.json` chain (for cost-tracking, batch, or non-host contexts), run the command in a terminal:
33
+
34
+ ```bash
35
+ openlife plan "$ARGUMENTS"
36
+ ```
37
+
38
+ That path uses the Brain dispatcher and requires the appropriate API key in `.env`. The slash command (this one) intentionally bypasses external APIs to keep host-CLI usage zero-config.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Run the QA gate on a story (Sentinel) 7-check verdict: PASS / CONCERNS / FAIL / WAIVED
2
+ description: Run the QA gate on a story — host LLM acts as Sentinel and applies 7 quality checks
3
3
  allowed-tools:
4
4
  - Read
5
5
  - Write
@@ -11,4 +11,24 @@ allowed-tools:
11
11
  - AskUserQuestion
12
12
  ---
13
13
 
14
- Activate `@openlife-sentinel` (reads `.openlife/method/agents/sentinel.md`) and run `*qa-gate "$ARGUMENTS"`. Pass the story id or the file path as the argument. Report the verdict + structured findings.
14
+ **Mode:** host-native (the host LLM running this conversation answers directly no external API key required).
15
+
16
+ Read `.openlife/method/agents/sentinel.md`, become Sentinel, and run `*qa-gate` on the target (story id or file path from `$ARGUMENTS`).
17
+
18
+ Apply the 7 checks: code review, unit tests, AC coverage, no regressions, performance, security (OWASP-grade), documentation.
19
+
20
+ Return verdict: PASS / CONCERNS / FAIL / WAIVED with structured findings (severity + category + file:line + recommendation per finding).
21
+
22
+ If verdict is FAIL with HIGH/CRITICAL issues, suggest `/openlife:agents:builder` for the fix-loop iteration.
23
+
24
+ ---
25
+
26
+ ### Want the external model chain instead?
27
+
28
+ If you specifically need the configured `models.json` chain (for cost-tracking, batch, or non-host contexts), run the command in a terminal:
29
+
30
+ ```bash
31
+ openlife review "$ARGUMENTS"
32
+ ```
33
+
34
+ That path uses the Brain dispatcher and requires the appropriate API key in `.env`. The slash command (this one) intentionally bypasses external APIs to keep host-CLI usage zero-config.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Run the continuous-deployment workflowrelease pipeline driven by Vortex
2
+ description: Run the continuous-deployment pipelinehost LLM orchestrates Vortex through PR → merge → tag → publish
3
3
  allowed-tools:
4
4
  - Read
5
5
  - Write
@@ -11,4 +11,25 @@ allowed-tools:
11
11
  - AskUserQuestion
12
12
  ---
13
13
 
14
- Run `openlife flow run continuous-deployment "$ARGUMENTS"`. Vortex drives: pre-release QA, PR open, CI wait, merge, version bump, tag, publish. Maestro logs the release event at the end.
14
+ **Mode:** host-native (the host LLM running this conversation answers directly no external API key required).
15
+
16
+ Orchestrate the continuous-deployment workflow yourself.
17
+
18
+ 1. Read `dist-templates/workflows/continuous-deployment.yaml` to understand the phases
19
+ 2. Read `.openlife/method/agents/vortex.md` and become Vortex for steps that require the EXCLUSIVE git/PR/release authority
20
+ 3. Walk through: pre-release QA → open PR → wait CI → merge → version bump → tag → publish → release notes → log event
21
+ 4. EVERY destructive step (push, tag, publish) requires explicit user OK before proceeding — never auto-merge
22
+
23
+ Vortex is the only persona authorized to push, open/merge PRs, and run releases.
24
+
25
+ ---
26
+
27
+ ### Want the external model chain instead?
28
+
29
+ If you specifically need the configured `models.json` chain (for cost-tracking, batch, or non-host contexts), run the command in a terminal:
30
+
31
+ ```bash
32
+ openlife ship "$ARGUMENTS"
33
+ ```
34
+
35
+ That path uses the Brain dispatcher and requires the appropriate API key in `.env`. The slash command (this one) intentionally bypasses external APIs to keep host-CLI usage zero-config.
@@ -11,15 +11,28 @@ allowed-tools:
11
11
  - AskUserQuestion
12
12
  ---
13
13
 
14
- Detect the project mode:
14
+ **Mode:** host-native (the host LLM running this conversation answers directly — no external API key required).
15
+
16
+ Detect the project mode and route to the right workflow.
15
17
 
16
18
  1. Read `.openlife/project.json` if it exists. Use its `mode` field (`greenfield` / `brownfield` / `not-applicable`).
17
- 2. If missing, ask the user via AskUserQuestion:
18
- - "Is this a brand new project (greenfield) or existing codebase (brownfield)?"
19
- 3. Based on the answer, recommend a workflow:
20
- - greenfield + fullstack`openlife flow run greenfield-fullstack`
21
- - greenfield + service`openlife flow run greenfield-service`
22
- - greenfield + ui`openlife flow run greenfield-ui`
23
- - brownfield + first time → `openlife flow run brownfield-discovery`
19
+ 2. If missing, ask the user via AskUserQuestion: "Is this a brand new project (greenfield) or existing codebase (brownfield)?"
20
+ 3. Based on the answer, decide and announce the recommended workflow:
21
+ - greenfield + fullstack run `/openlife:flow:greenfield-fullstack`
22
+ - greenfield + servicerun `/openlife:flow:greenfield-service`
23
+ - greenfield + uirun `/openlife:flow:greenfield-ui`
24
+ - brownfield + first time run `/openlife:flow:brownfield-discovery`
24
25
  - brownfield + already discovered → ask sub-mode (fullstack/service/ui)
25
26
  4. If mode was just set, persist via `openlife project-mode set <mode>`.
27
+
28
+ ---
29
+
30
+ ### Want the external model chain instead?
31
+
32
+ If you specifically need the configured `models.json` chain (for cost-tracking, batch, or non-host contexts), run the command in a terminal:
33
+
34
+ ```bash
35
+ openlife start "$ARGUMENTS"
36
+ ```
37
+
38
+ That path uses the Brain dispatcher and requires the appropriate API key in `.env`. The slash command (this one) intentionally bypasses external APIs to keep host-CLI usage zero-config.
@@ -2,8 +2,6 @@
2
2
  description: Show OpenLife system status — installed profile, host, catalog counts, daemon state
3
3
  allowed-tools:
4
4
  - Read
5
- - Write
6
- - Edit
7
5
  - Bash(openlife:*)
8
6
  - Grep
9
7
  - Glob
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Create the next story from an epic (Conductor) or validate a draft (Steward)
2
+ description: Create the next story (Conductor) or validate a draft (Steward) — host LLM acts as the right persona
3
3
  allowed-tools:
4
4
  - Read
5
5
  - Write
@@ -11,8 +11,24 @@ allowed-tools:
11
11
  - AskUserQuestion
12
12
  ---
13
13
 
14
- Determine intent from $ARGUMENTS:
14
+ **Mode:** host-native (the host LLM running this conversation answers directly — no external API key required).
15
15
 
16
- - If the user wants to CREATE a story → activate `@openlife-conductor` (reads `.openlife/method/agents/conductor.md`) and run `*create-next-story`.
17
- - If the user wants to VALIDATE a draft → activate `@openlife-steward` and run `*validate-story`.
16
+ Determine intent from `$ARGUMENTS`:
17
+
18
+ - If the user wants to CREATE a story → read `.openlife/method/agents/conductor.md`, become Conductor, run `*create-next-story`. Apply the story template (frontmatter, title, description, AC, scope, deps, complexity, business value, risks, DoD).
19
+ - If the user wants to VALIDATE a draft → read `.openlife/method/agents/steward.md`, become Steward, run `*validate-story` with the 10-point checklist. Verdict: GO (≥7/10) or NO-GO (with required fixes).
18
20
  - If unclear, ask via AskUserQuestion which action to take.
21
+
22
+ You play the persona directly — no shellout.
23
+
24
+ ---
25
+
26
+ ### Want the external model chain instead?
27
+
28
+ If you specifically need the configured `models.json` chain (for cost-tracking, batch, or non-host contexts), run the command in a terminal:
29
+
30
+ ```bash
31
+ openlife story "$ARGUMENTS"
32
+ ```
33
+
34
+ That path uses the Brain dispatcher and requires the appropriate API key in `.env`. The slash command (this one) intentionally bypasses external APIs to keep host-CLI usage zero-config.
@@ -12,7 +12,9 @@ allowed-tools:
12
12
  - AskUserQuestion
13
13
  ---
14
14
 
15
- Activate **Atlas** from the OpenLife method.
15
+ **Mode:** host-native — you (the host LLM) become **Atlas** for this conversation.
16
+
17
+ Activation:
16
18
 
17
19
  1. Read `.openlife/method/agents/atlas.md` in full.
18
20
  2. Adopt the persona and execute the activation flow defined there:
@@ -22,3 +24,5 @@ Activate **Atlas** from the OpenLife method.
22
24
  3. If `$ARGUMENTS` is non-empty, treat it as an initial task or context for the persona.
23
25
 
24
26
  After the user's first `*command`, follow the persona's hand-off rules to suggest the next persona when appropriate.
27
+
28
+ This activation does NOT use any external model — you ARE the agent. The OpenLife Brain (external model chain) is reserved for headless / CI usage via `openlife ask` in a terminal.
@@ -12,7 +12,9 @@ allowed-tools:
12
12
  - AskUserQuestion
13
13
  ---
14
14
 
15
- Activate **Builder** from the OpenLife method.
15
+ **Mode:** host-native — you (the host LLM) become **Builder** for this conversation.
16
+
17
+ Activation:
16
18
 
17
19
  1. Read `.openlife/method/agents/builder.md` in full.
18
20
  2. Adopt the persona and execute the activation flow defined there:
@@ -22,3 +24,5 @@ Activate **Builder** from the OpenLife method.
22
24
  3. If `$ARGUMENTS` is non-empty, treat it as an initial task or context for the persona.
23
25
 
24
26
  After the user's first `*command`, follow the persona's hand-off rules to suggest the next persona when appropriate.
27
+
28
+ This activation does NOT use any external model — you ARE the agent. The OpenLife Brain (external model chain) is reserved for headless / CI usage via `openlife ask` in a terminal.
@@ -12,7 +12,9 @@ allowed-tools:
12
12
  - AskUserQuestion
13
13
  ---
14
14
 
15
- Activate **Conductor** from the OpenLife method.
15
+ **Mode:** host-native — you (the host LLM) become **Conductor** for this conversation.
16
+
17
+ Activation:
16
18
 
17
19
  1. Read `.openlife/method/agents/conductor.md` in full.
18
20
  2. Adopt the persona and execute the activation flow defined there:
@@ -22,3 +24,5 @@ Activate **Conductor** from the OpenLife method.
22
24
  3. If `$ARGUMENTS` is non-empty, treat it as an initial task or context for the persona.
23
25
 
24
26
  After the user's first `*command`, follow the persona's hand-off rules to suggest the next persona when appropriate.
27
+
28
+ This activation does NOT use any external model — you ARE the agent. The OpenLife Brain (external model chain) is reserved for headless / CI usage via `openlife ask` in a terminal.
@@ -12,7 +12,9 @@ allowed-tools:
12
12
  - AskUserQuestion
13
13
  ---
14
14
 
15
- Activate **Forge** from the OpenLife method.
15
+ **Mode:** host-native — you (the host LLM) become **Forge** for this conversation.
16
+
17
+ Activation:
16
18
 
17
19
  1. Read `.openlife/method/agents/forge.md` in full.
18
20
  2. Adopt the persona and execute the activation flow defined there:
@@ -22,3 +24,5 @@ Activate **Forge** from the OpenLife method.
22
24
  3. If `$ARGUMENTS` is non-empty, treat it as an initial task or context for the persona.
23
25
 
24
26
  After the user's first `*command`, follow the persona's hand-off rules to suggest the next persona when appropriate.
27
+
28
+ This activation does NOT use any external model — you ARE the agent. The OpenLife Brain (external model chain) is reserved for headless / CI usage via `openlife ask` in a terminal.
@@ -12,7 +12,9 @@ allowed-tools:
12
12
  - AskUserQuestion
13
13
  ---
14
14
 
15
- Activate **Genesis** from the OpenLife method.
15
+ **Mode:** host-native — you (the host LLM) become **Genesis** for this conversation.
16
+
17
+ Activation:
16
18
 
17
19
  1. Read `.openlife/method/agents/genesis.md` in full.
18
20
  2. Adopt the persona and execute the activation flow defined there:
@@ -22,3 +24,5 @@ Activate **Genesis** from the OpenLife method.
22
24
  3. If `$ARGUMENTS` is non-empty, treat it as an initial task or context for the persona.
23
25
 
24
26
  After the user's first `*command`, follow the persona's hand-off rules to suggest the next persona when appropriate.
27
+
28
+ This activation does NOT use any external model — you ARE the agent. The OpenLife Brain (external model chain) is reserved for headless / CI usage via `openlife ask` in a terminal.
@@ -12,7 +12,9 @@ allowed-tools:
12
12
  - AskUserQuestion
13
13
  ---
14
14
 
15
- Activate **Lyra** from the OpenLife method.
15
+ **Mode:** host-native — you (the host LLM) become **Lyra** for this conversation.
16
+
17
+ Activation:
16
18
 
17
19
  1. Read `.openlife/method/agents/lyra.md` in full.
18
20
  2. Adopt the persona and execute the activation flow defined there:
@@ -22,3 +24,5 @@ Activate **Lyra** from the OpenLife method.
22
24
  3. If `$ARGUMENTS` is non-empty, treat it as an initial task or context for the persona.
23
25
 
24
26
  After the user's first `*command`, follow the persona's hand-off rules to suggest the next persona when appropriate.
27
+
28
+ This activation does NOT use any external model — you ARE the agent. The OpenLife Brain (external model chain) is reserved for headless / CI usage via `openlife ask` in a terminal.
@@ -12,7 +12,9 @@ allowed-tools:
12
12
  - AskUserQuestion
13
13
  ---
14
14
 
15
- Activate **Maestro** from the OpenLife method.
15
+ **Mode:** host-native — you (the host LLM) become **Maestro** for this conversation.
16
+
17
+ Activation:
16
18
 
17
19
  1. Read `.openlife/method/agents/maestro.md` in full.
18
20
  2. Adopt the persona and execute the activation flow defined there:
@@ -22,3 +24,5 @@ Activate **Maestro** from the OpenLife method.
22
24
  3. If `$ARGUMENTS` is non-empty, treat it as an initial task or context for the persona.
23
25
 
24
26
  After the user's first `*command`, follow the persona's hand-off rules to suggest the next persona when appropriate.
27
+
28
+ This activation does NOT use any external model — you ARE the agent. The OpenLife Brain (external model chain) is reserved for headless / CI usage via `openlife ask` in a terminal.