@openlife/cli 1.8.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.
- package/.catalog/agents/test-agent/AGENT.md +1 -1
- package/.catalog/mcps/test-mcp/mcp.json +1 -1
- package/.catalog/skills/sample-from-url/IMPORTED_REFERENCE.md +2 -2
- package/.catalog/skills/test-skill/REFERENCE.md +1 -1
- package/.catalog/squads/00-governance-advisory-board/workflows/wf-board-meeting.yaml +25 -0
- package/.catalog/squads/00-governance-advisory-board/workflows/wf-decision-framework.yaml +25 -0
- package/.catalog/squads/00-governance-c-level-squad/workflows/wf-board-presentation.yaml +25 -0
- package/.catalog/squads/00-governance-c-level-squad/workflows/wf-strategic-planning.yaml +25 -0
- package/.catalog/squads/00-governance-project-ops-squad/workflows/mission-to-project.yaml +25 -0
- package/.catalog/squads/00-governance-project-ops-squad/workflows/sprint-planning.yaml +25 -0
- package/.catalog/squads/00-governance-project-ops-squad/workflows/weekly-review.yaml +25 -0
- package/.catalog/squads/01-meta-framework-swarm-tree-orchestration/workflows/tree-analysis-flow.yaml +25 -0
- package/.catalog/squads/01-meta-framework-swarm-tree-orchestration/workflows/tree-execution-flow.yaml +25 -0
- package/.catalog/squads/01-meta-framework-swarm-tree-orchestration/workflows/tree-planning-flow.yaml +25 -0
- package/.catalog/squads/01-meta-framework-swarm-tree-orchestration/workflows/tree-resume-flow.yaml +25 -0
- package/.catalog/squads/02-product-growth-brand-squad/workflows/wf-brand-creation.yaml +25 -0
- package/.catalog/squads/02-product-growth-brand-squad/workflows/wf-rebrand.yaml +25 -0
- package/.catalog/squads/02-product-growth-copy-squad/workflows/wf-copy-review-cycle.yaml +25 -0
- package/.catalog/squads/02-product-growth-copy-squad/workflows/wf-full-copy-project.yaml +25 -0
- package/.catalog/squads/02-product-growth-design-squad/workflows/wf-design-system-creation.yaml +25 -0
- package/.catalog/squads/02-product-growth-design-squad/workflows/wf-feature-design.yaml +25 -0
- package/.catalog/squads/02-product-growth-hormozi-squad/workflows/wf-business-turnaround.yaml +25 -0
- package/.catalog/squads/02-product-growth-hormozi-squad/workflows/wf-offer-creation.yaml +25 -0
- package/.catalog/squads/02-product-growth-movement/workflows/wf-movement-launch.yaml +25 -0
- package/.catalog/squads/02-product-growth-saas-onboarding-activator/workflows/full-onboarding-activation-workflow.yaml +25 -0
- package/.catalog/squads/02-product-growth-saas-onboarding-activator/workflows/quick-engagement-boost-workflow.yaml +25 -0
- package/.catalog/squads/02-product-growth-sales-squad/workflows/followup-sequence.yaml +25 -0
- package/.catalog/squads/02-product-growth-sales-squad/workflows/full-sales-cycle.yaml +25 -0
- package/.catalog/squads/02-product-growth-sales-squad/workflows/proposal-flow.yaml +25 -0
- package/.catalog/squads/02-product-growth-storytelling/workflows/wf-brand-narrative.yaml +25 -0
- package/.catalog/squads/02-product-growth-storytelling/workflows/wf-story-development.yaml +25 -0
- package/.catalog/squads/02-product-growth-traffic-masters/workflows/wf-account-audit.yaml +25 -0
- package/.catalog/squads/02-product-growth-traffic-masters/workflows/wf-campaign-launch.yaml +25 -0
- package/.catalog/squads/03-engineering-quality-automated-code-review-squad/workflows/full-code-review-workflow.yaml +25 -0
- package/.catalog/squads/03-engineering-quality-automated-code-review-squad/workflows/quick-security-check-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-cybersecurity/workflows/wf-incident-response.yaml +25 -0
- package/.catalog/squads/04-data-security-cybersecurity/workflows/wf-pentest-engagement.yaml +25 -0
- package/.catalog/squads/04-data-security-data-quality-guardian/workflows/full-data-quality-audit-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-data-quality-guardian/workflows/quick-data-check-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-data-squad/workflows/wf-analytics-setup.yaml +25 -0
- package/.catalog/squads/04-data-security-data-squad/workflows/wf-growth-sprint.yaml +25 -0
- package/.catalog/squads/04-data-security-incident-response-squad/workflows/full-incident-response-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-incident-response-squad/workflows/rapid-triage-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-soc-alert-triage/workflows/full-alert-triage-workflow.yaml +25 -0
- package/.catalog/squads/04-data-security-soc-alert-triage/workflows/rapid-classification-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-adaptive-tutor-k12/workflows/full-tutoring-cycle-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-adaptive-tutor-k12/workflows/quick-practice-session-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-ambient-clinical-scribe/workflows/full-documentation-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-ambient-clinical-scribe/workflows/quick-note-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-contract-review-squad/workflows/full-contract-review-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-contract-review-squad/workflows/quick-risk-assessment-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-crypto-token-forge/workflows/full-token-launch-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-crypto-token-forge/workflows/memecoin-express-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-crypto-token-forge/workflows/utility-token-launch-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-resume-screener-squad/workflows/full-resume-screening-workflow.yaml +25 -0
- package/.catalog/squads/05-domain-specialists-resume-screener-squad/workflows/quick-skills-match-workflow.yaml +25 -0
- package/.catalog/squads/test-squad/SQUAD.md +1 -1
- package/.openlife/method/agents/atlas.md +102 -0
- package/.openlife/method/agents/builder.md +92 -0
- package/.openlife/method/agents/conductor.md +93 -0
- package/.openlife/method/agents/forge.md +96 -0
- package/.openlife/method/agents/genesis.md +115 -0
- package/.openlife/method/agents/lyra.md +85 -0
- package/.openlife/method/agents/maestro.md +92 -0
- package/.openlife/method/agents/mesh.md +101 -0
- package/.openlife/method/agents/prism.md +85 -0
- package/.openlife/method/agents/sentinel.md +115 -0
- package/.openlife/method/agents/steward.md +93 -0
- package/.openlife/method/agents/vortex.md +94 -0
- package/dist/cli/CommandFlowRunner.js +167 -0
- package/dist/cli/install/Phases.js +43 -0
- package/dist/index.js +118 -0
- package/dist/orchestrator/ProjectMetadata.js +183 -0
- package/dist/test_flow_run_cli.js +183 -0
- package/dist/test_host_uninstaller.js +12 -2
- package/dist/test_openlife_method_inventory.js +211 -0
- package/dist/test_workflow_e2e.js +10 -3
- package/dist-templates/claude-code/agents/openlife-atlas.md +12 -44
- package/dist-templates/claude-code/agents/openlife-builder.md +20 -0
- package/dist-templates/claude-code/agents/openlife-conductor.md +20 -0
- package/dist-templates/claude-code/agents/openlife-forge.md +12 -34
- package/dist-templates/claude-code/agents/openlife-genesis.md +12 -51
- package/dist-templates/claude-code/agents/openlife-lyra.md +12 -32
- package/dist-templates/claude-code/agents/openlife-maestro.md +27 -41
- package/dist-templates/claude-code/agents/openlife-mesh.md +20 -0
- package/dist-templates/claude-code/agents/openlife-prism.md +20 -0
- package/dist-templates/claude-code/agents/openlife-sentinel.md +20 -0
- package/dist-templates/claude-code/agents/openlife-steward.md +20 -0
- package/dist-templates/claude-code/agents/openlife-vortex.md +20 -0
- package/dist-templates/claude-code/commands/openlife/agents/atlas.md +28 -0
- package/dist-templates/claude-code/commands/openlife/agents/builder.md +28 -0
- package/dist-templates/claude-code/commands/openlife/agents/conductor.md +28 -0
- package/dist-templates/claude-code/commands/openlife/agents/forge.md +28 -0
- package/dist-templates/claude-code/commands/openlife/agents/genesis.md +28 -0
- package/dist-templates/claude-code/commands/openlife/agents/lyra.md +28 -0
- package/dist-templates/claude-code/commands/openlife/agents/maestro.md +28 -0
- package/dist-templates/claude-code/commands/openlife/agents/mesh.md +28 -0
- package/dist-templates/claude-code/commands/openlife/agents/prism.md +28 -0
- package/dist-templates/claude-code/commands/openlife/agents/sentinel.md +28 -0
- package/dist-templates/claude-code/commands/openlife/agents/steward.md +28 -0
- package/dist-templates/claude-code/commands/openlife/agents/vortex.md +28 -0
- package/dist-templates/claude-code/commands/openlife/ask.md +32 -9
- package/dist-templates/claude-code/commands/openlife/audit.md +43 -0
- package/dist-templates/claude-code/commands/openlife/doctor.md +9 -14
- package/dist-templates/claude-code/commands/openlife/dream.md +28 -13
- package/dist-templates/claude-code/commands/openlife/explore.md +32 -0
- package/dist-templates/claude-code/commands/openlife/flow/brownfield-discovery.md +38 -0
- package/dist-templates/claude-code/commands/openlife/flow/brownfield-fullstack.md +38 -0
- package/dist-templates/claude-code/commands/openlife/flow/brownfield-service.md +38 -0
- package/dist-templates/claude-code/commands/openlife/flow/brownfield-ui.md +38 -0
- package/dist-templates/claude-code/commands/openlife/flow/epic.md +38 -0
- package/dist-templates/claude-code/commands/openlife/flow/greenfield-fullstack.md +38 -0
- package/dist-templates/claude-code/commands/openlife/flow/greenfield-service.md +38 -0
- package/dist-templates/claude-code/commands/openlife/flow/greenfield-ui.md +38 -0
- package/dist-templates/claude-code/commands/openlife/flow/qa-loop.md +38 -0
- package/dist-templates/claude-code/commands/openlife/flow/release.md +38 -0
- package/dist-templates/claude-code/commands/openlife/flow/spec-pipeline.md +38 -0
- package/dist-templates/claude-code/commands/openlife/flow/story-cycle.md +38 -0
- package/dist-templates/claude-code/commands/openlife/health.md +37 -0
- package/dist-templates/claude-code/commands/openlife/plan.md +38 -0
- package/dist-templates/claude-code/commands/openlife/review.md +34 -0
- package/dist-templates/claude-code/commands/openlife/ship.md +35 -0
- package/dist-templates/claude-code/commands/openlife/start.md +38 -0
- package/dist-templates/claude-code/commands/openlife/status.md +8 -10
- package/dist-templates/claude-code/commands/openlife/story.md +34 -0
- package/dist-templates/codex/agents/openlife-atlas.md +12 -44
- package/dist-templates/codex/agents/openlife-builder.md +20 -0
- package/dist-templates/codex/agents/openlife-conductor.md +20 -0
- package/dist-templates/codex/agents/openlife-forge.md +12 -34
- package/dist-templates/codex/agents/openlife-genesis.md +12 -51
- package/dist-templates/codex/agents/openlife-lyra.md +12 -32
- package/dist-templates/codex/agents/openlife-maestro.md +27 -41
- package/dist-templates/codex/agents/openlife-mesh.md +20 -0
- package/dist-templates/codex/agents/openlife-prism.md +20 -0
- package/dist-templates/codex/agents/openlife-sentinel.md +20 -0
- package/dist-templates/codex/agents/openlife-steward.md +20 -0
- package/dist-templates/codex/agents/openlife-vortex.md +20 -0
- package/dist-templates/codex/commands/openlife/agents/atlas.md +28 -0
- package/dist-templates/codex/commands/openlife/agents/builder.md +28 -0
- package/dist-templates/codex/commands/openlife/agents/conductor.md +28 -0
- package/dist-templates/codex/commands/openlife/agents/forge.md +28 -0
- package/dist-templates/codex/commands/openlife/agents/genesis.md +28 -0
- package/dist-templates/codex/commands/openlife/agents/lyra.md +28 -0
- package/dist-templates/codex/commands/openlife/agents/maestro.md +28 -0
- package/dist-templates/codex/commands/openlife/agents/mesh.md +28 -0
- package/dist-templates/codex/commands/openlife/agents/prism.md +28 -0
- package/dist-templates/codex/commands/openlife/agents/sentinel.md +28 -0
- package/dist-templates/codex/commands/openlife/agents/steward.md +28 -0
- package/dist-templates/codex/commands/openlife/agents/vortex.md +28 -0
- package/dist-templates/codex/commands/openlife/ask.md +32 -9
- package/dist-templates/codex/commands/openlife/audit.md +43 -0
- package/dist-templates/codex/commands/openlife/doctor.md +9 -14
- package/dist-templates/codex/commands/openlife/dream.md +28 -13
- package/dist-templates/codex/commands/openlife/explore.md +32 -0
- package/dist-templates/codex/commands/openlife/flow/brownfield-discovery.md +38 -0
- package/dist-templates/codex/commands/openlife/flow/brownfield-fullstack.md +38 -0
- package/dist-templates/codex/commands/openlife/flow/brownfield-service.md +38 -0
- package/dist-templates/codex/commands/openlife/flow/brownfield-ui.md +38 -0
- package/dist-templates/codex/commands/openlife/flow/epic.md +38 -0
- package/dist-templates/codex/commands/openlife/flow/greenfield-fullstack.md +38 -0
- package/dist-templates/codex/commands/openlife/flow/greenfield-service.md +38 -0
- package/dist-templates/codex/commands/openlife/flow/greenfield-ui.md +38 -0
- package/dist-templates/codex/commands/openlife/flow/qa-loop.md +38 -0
- package/dist-templates/codex/commands/openlife/flow/release.md +38 -0
- package/dist-templates/codex/commands/openlife/flow/spec-pipeline.md +38 -0
- package/dist-templates/codex/commands/openlife/flow/story-cycle.md +38 -0
- package/dist-templates/codex/commands/openlife/health.md +37 -0
- package/dist-templates/codex/commands/openlife/plan.md +38 -0
- package/dist-templates/codex/commands/openlife/review.md +34 -0
- package/dist-templates/codex/commands/openlife/ship.md +35 -0
- package/dist-templates/codex/commands/openlife/start.md +38 -0
- package/dist-templates/codex/commands/openlife/status.md +8 -10
- package/dist-templates/codex/commands/openlife/story.md +34 -0
- package/dist-templates/gemini-cli/agents/openlife-atlas.md +12 -44
- package/dist-templates/gemini-cli/agents/openlife-builder.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-conductor.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-forge.md +12 -34
- package/dist-templates/gemini-cli/agents/openlife-genesis.md +12 -51
- package/dist-templates/gemini-cli/agents/openlife-lyra.md +12 -32
- package/dist-templates/gemini-cli/agents/openlife-maestro.md +27 -41
- package/dist-templates/gemini-cli/agents/openlife-mesh.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-prism.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-sentinel.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-steward.md +20 -0
- package/dist-templates/gemini-cli/agents/openlife-vortex.md +20 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/atlas.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/builder.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/conductor.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/forge.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/genesis.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/lyra.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/maestro.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/mesh.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/prism.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/sentinel.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/steward.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/agents/vortex.md +28 -0
- package/dist-templates/gemini-cli/commands/openlife/ask.md +32 -9
- package/dist-templates/gemini-cli/commands/openlife/audit.md +43 -0
- package/dist-templates/gemini-cli/commands/openlife/doctor.md +9 -14
- package/dist-templates/gemini-cli/commands/openlife/dream.md +28 -13
- package/dist-templates/gemini-cli/commands/openlife/explore.md +32 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-discovery.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-fullstack.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-service.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/brownfield-ui.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/epic.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/greenfield-fullstack.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/greenfield-service.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/greenfield-ui.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/qa-loop.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/release.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/spec-pipeline.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/flow/story-cycle.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/health.md +37 -0
- package/dist-templates/gemini-cli/commands/openlife/plan.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/review.md +34 -0
- package/dist-templates/gemini-cli/commands/openlife/ship.md +35 -0
- package/dist-templates/gemini-cli/commands/openlife/start.md +38 -0
- package/dist-templates/gemini-cli/commands/openlife/status.md +8 -10
- package/dist-templates/gemini-cli/commands/openlife/story.md +34 -0
- package/dist-templates/workflows/brownfield-fullstack.yaml +131 -0
- package/dist-templates/workflows/brownfield-service.yaml +111 -0
- package/dist-templates/workflows/brownfield-ui.yaml +115 -0
- package/dist-templates/workflows/continuous-deployment.yaml +139 -0
- package/dist-templates/workflows/epic-orchestration.yaml +101 -0
- package/dist-templates/workflows/greenfield-service.yaml +154 -0
- package/dist-templates/workflows/greenfield-ui.yaml +140 -0
- package/dist-templates/workflows/spec-pipeline.yaml +135 -0
- package/package.json +5 -2
- package/scripts/generate-slash-commands.js +395 -0
- package/scripts/generate-squad-workflow-stubs.js +144 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Activate Vortex — DevOps — EXCLUSIVE authority over git push, gh PR, MCP, releases
|
|
3
|
+
argument-hint: "[optional context]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Bash(openlife:*)
|
|
9
|
+
- Grep
|
|
10
|
+
- Glob
|
|
11
|
+
- Agent
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
**Mode:** host-native — you (the host LLM) become **Vortex** for this conversation.
|
|
16
|
+
|
|
17
|
+
Activation:
|
|
18
|
+
|
|
19
|
+
1. Read `.openlife/method/agents/vortex.md` in full.
|
|
20
|
+
2. Adopt the persona and execute the activation flow defined there:
|
|
21
|
+
- Display the persona greeting (icon + 1-line role)
|
|
22
|
+
- Show the top 5 commands
|
|
23
|
+
- HALT and await `*command` from the user
|
|
24
|
+
3. If `$ARGUMENTS` is non-empty, treat it as an initial task or context for the persona.
|
|
25
|
+
|
|
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.
|
|
@@ -1,14 +1,37 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Ask the
|
|
3
|
-
argument-hint: <question>
|
|
4
|
-
allowed-tools:
|
|
2
|
+
description: Ask OpenLife — the host LLM answers directly using the OpenLife method context (no external API key required)
|
|
3
|
+
argument-hint: "<question>"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Bash(openlife:*)
|
|
9
|
+
- Grep
|
|
10
|
+
- Glob
|
|
11
|
+
- Agent
|
|
12
|
+
- AskUserQuestion
|
|
5
13
|
---
|
|
6
14
|
|
|
7
|
-
|
|
15
|
+
**Mode:** host-native (the host LLM running this conversation answers directly — no external API key required).
|
|
8
16
|
|
|
9
|
-
|
|
10
|
-
- The Brain uses the configured `models.json` chain (primary + fallbacks). If the primary fails, it falls through automatically.
|
|
11
|
-
- The `OPENLIFE_ASK_TIMEOUT_MS` env var caps the total time (default 90s).
|
|
12
|
-
- If the user wants a specific model, suggest they edit `models.json` or set the env var — don't pass model flags inline (the `ask` command doesn't accept them).
|
|
17
|
+
Answer the user's question directly using your own reasoning. You ARE the OpenLife Brain when invoked through a host CLI.
|
|
13
18
|
|
|
14
|
-
|
|
19
|
+
Optional context (read only when relevant to the question):
|
|
20
|
+
- `.openlife/method/agents/lyra.md` — research / synthesis persona to adopt when the question is research-shaped
|
|
21
|
+
- `.openlife/project.json` — current project mode (greenfield/brownfield)
|
|
22
|
+
- `.catalog/` — user's agents, squads, skills, capabilities
|
|
23
|
+
- `dist-templates/workflows/` — bundled method workflows
|
|
24
|
+
|
|
25
|
+
If the question is open-ended or asks for OpenLife status, prefer answering from this conversation's existing context rather than reading files speculatively. If the user explicitly wants the external model chain (e.g., for batch / cron / cost-tracking reasons), they can invoke `openlife ask "..."` directly in a terminal or pass `--external` to this command.
|
|
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 ask "$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.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run brownfield-discovery — host LLM orchestrates the 10-phase audit of an existing codebase
|
|
3
|
+
allowed-tools:
|
|
4
|
+
- Read
|
|
5
|
+
- Write
|
|
6
|
+
- Edit
|
|
7
|
+
- Bash(openlife:*)
|
|
8
|
+
- Grep
|
|
9
|
+
- Glob
|
|
10
|
+
- Agent
|
|
11
|
+
- AskUserQuestion
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
**Mode:** host-native (the host LLM running this conversation answers directly — no external API key required).
|
|
15
|
+
|
|
16
|
+
Orchestrate the brownfield-discovery workflow yourself, playing multiple personas inline.
|
|
17
|
+
|
|
18
|
+
1. Read `dist-templates/workflows/brownfield-discovery.yaml` to understand the 10 phases
|
|
19
|
+
2. Walk through:
|
|
20
|
+
- Phase 1 (Atlas): system-architecture.md
|
|
21
|
+
- Phase 2 (Mesh, conditional): SCHEMA.md + DB-AUDIT.md
|
|
22
|
+
- Phase 3 (Prism, conditional): frontend-spec.md
|
|
23
|
+
- Phase 4 (Atlas): technical-debt-DRAFT.md
|
|
24
|
+
- Phase 5 (Mesh): db-specialist-review.md
|
|
25
|
+
- Phase 6 (Prism): ux-specialist-review.md
|
|
26
|
+
- Phase 7 (Sentinel): qa-review.md (gate: APPROVED / NEEDS WORK)
|
|
27
|
+
- Phase 8 (Atlas): technical-debt-assessment.md (final)
|
|
28
|
+
- Phase 9 (Lyra): TECHNICAL-DEBT-REPORT.md (executive)
|
|
29
|
+
- Phase 10 (Genesis): Epic + stories ready for backlog
|
|
30
|
+
|
|
31
|
+
Each phase ends with the user OK'ing before the next.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### Want the external model chain instead?
|
|
36
|
+
|
|
37
|
+
If you specifically need the configured `models.json` chain (for cost-tracking, batch, or non-host contexts), run the command in a terminal:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
openlife audit "$ARGUMENTS"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
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,19 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Run OpenLife health checks (API keys, model chain, runtime catalogs, daemon state)
|
|
3
|
-
allowed-tools:
|
|
3
|
+
allowed-tools:
|
|
4
|
+
- Read
|
|
5
|
+
- Bash(openlife:*)
|
|
6
|
+
- Grep
|
|
7
|
+
- Glob
|
|
8
|
+
- Agent
|
|
9
|
+
- AskUserQuestion
|
|
4
10
|
---
|
|
5
11
|
|
|
6
|
-
Run `openlife system doctor` and walk the user through
|
|
12
|
+
Run `openlife system doctor` and walk the user through results.
|
|
7
13
|
|
|
8
|
-
For each failed check:
|
|
9
|
-
1. Quote the failure line
|
|
10
|
-
2. Explain in 1 sentence what the check verifies
|
|
11
|
-
3. Suggest the concrete fix (usually setting an env var or running a follow-up command)
|
|
12
|
-
|
|
13
|
-
Common failures and fixes:
|
|
14
|
-
- **Missing `GEMINI_API_KEY` / `OPENAI_API_KEY` / `ANTHROPIC_API_KEY`** → add to `.env` at project root
|
|
15
|
-
- **Missing `TELEGRAM_BOT_TOKEN`** → only required if profile is `autonomous`
|
|
16
|
-
- **Catalog empty** → run `openlife system setup` (likely incomplete install)
|
|
17
|
-
- **Ollama not reachable** → optional unless `OPENLIFE_ENABLE_OLLAMA=true`
|
|
18
|
-
|
|
19
|
-
If everything passes, say so concisely — don't pad.
|
|
14
|
+
For each failed check: quote the line, explain in 1 sentence what it verifies, suggest the concrete fix.
|
|
@@ -1,20 +1,35 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
allowed-tools:
|
|
2
|
+
description: Dream Organizer — surface ideas, pending stories, and prioritization from accumulated context (host LLM answers directly)
|
|
3
|
+
allowed-tools:
|
|
4
|
+
- Read
|
|
5
|
+
- Write
|
|
6
|
+
- Edit
|
|
7
|
+
- Bash(openlife:*)
|
|
8
|
+
- Grep
|
|
9
|
+
- Glob
|
|
10
|
+
- Agent
|
|
11
|
+
- AskUserQuestion
|
|
4
12
|
---
|
|
5
13
|
|
|
6
|
-
|
|
14
|
+
**Mode:** host-native (the host LLM running this conversation answers directly — no external API key required).
|
|
7
15
|
|
|
8
|
-
|
|
9
|
-
- Conversation memory (last sessions)
|
|
10
|
-
- Pending stories in `docs/stories/`
|
|
11
|
-
- Open governance consents in `.openlife/governance-consents.json`
|
|
12
|
-
- Mission state in `.openlife/`
|
|
16
|
+
Run the OpenLife Dream Organizer using your own reasoning, not an external model.
|
|
13
17
|
|
|
14
|
-
|
|
18
|
+
1. Read recent context from this conversation + any planning files the user has open
|
|
19
|
+
2. Optionally read `.catalog/` for project-specific ideas already captured
|
|
20
|
+
3. Surface unprioritized ideas, pending stories, and recommendations grouped by theme
|
|
21
|
+
4. Be opinionated about priority order — don't return a flat list
|
|
15
22
|
|
|
16
|
-
|
|
17
|
-
2. **Deferred** — items the Dream Organizer parked
|
|
18
|
-
3. **Open questions** — anything the user needs to decide before work can proceed
|
|
23
|
+
If the user wants the external model chain for richer ideation: `openlife dream "..."` in a terminal.
|
|
19
24
|
|
|
20
|
-
|
|
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 dream "$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.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Exploratory ideation — host LLM acts as Lyra for divergent brainstorming then convergent narrative
|
|
3
|
+
allowed-tools:
|
|
4
|
+
- Read
|
|
5
|
+
- Write
|
|
6
|
+
- Edit
|
|
7
|
+
- Bash(openlife:*)
|
|
8
|
+
- Grep
|
|
9
|
+
- Glob
|
|
10
|
+
- Agent
|
|
11
|
+
- AskUserQuestion
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
**Mode:** host-native (the host LLM running this conversation answers directly — no external API key required).
|
|
15
|
+
|
|
16
|
+
Read `.openlife/method/agents/lyra.md`, become Lyra, and run `*brainstorm "$ARGUMENTS"`.
|
|
17
|
+
|
|
18
|
+
Surface options + tradeoffs. Mark confidence per claim (high / medium / low). Cite sources when claims are non-obvious.
|
|
19
|
+
|
|
20
|
+
Do NOT commit to a plan in this command — that's `/openlife:plan`. Explore is divergent; Plan is convergent.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
### Want the external model chain instead?
|
|
25
|
+
|
|
26
|
+
If you specifically need the configured `models.json` chain (for cost-tracking, batch, or non-host contexts), run the command in a terminal:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
openlife explore "$ARGUMENTS"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
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.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Brownfield Discovery: 10-phase audit of an existing codebase
|
|
3
|
+
argument-hint: "[--dry-run] [--vars key=value]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash(openlife:*)
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Mode:** host-native — you (the host LLM) orchestrate the `brownfield-discovery` workflow yourself, playing the personas as needed.
|
|
14
|
+
|
|
15
|
+
### Step 1 — Load the workflow definition
|
|
16
|
+
|
|
17
|
+
Read `dist-templates/workflows/brownfield-discovery.yaml` (project local override at `.openlife/method/workflows/brownfield-discovery.yaml` or `.catalog/workflows/brownfield-discovery.yaml` takes precedence if present).
|
|
18
|
+
|
|
19
|
+
If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run brownfield-discovery --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 brownfield-discovery "$ARGUMENTS"` in a terminal.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Brownfield Full-Stack: enhance an existing full-stack app
|
|
3
|
+
argument-hint: "[--dry-run] [--vars key=value]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash(openlife:*)
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Mode:** host-native — you (the host LLM) orchestrate the `brownfield-fullstack` workflow yourself, playing the personas as needed.
|
|
14
|
+
|
|
15
|
+
### Step 1 — Load the workflow definition
|
|
16
|
+
|
|
17
|
+
Read `dist-templates/workflows/brownfield-fullstack.yaml` (project local override at `.openlife/method/workflows/brownfield-fullstack.yaml` or `.catalog/workflows/brownfield-fullstack.yaml` takes precedence if present).
|
|
18
|
+
|
|
19
|
+
If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run brownfield-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 brownfield-fullstack "$ARGUMENTS"` in a terminal.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Brownfield Service: modify an existing service / API
|
|
3
|
+
argument-hint: "[--dry-run] [--vars key=value]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash(openlife:*)
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Mode:** host-native — you (the host LLM) orchestrate the `brownfield-service` workflow yourself, playing the personas as needed.
|
|
14
|
+
|
|
15
|
+
### Step 1 — Load the workflow definition
|
|
16
|
+
|
|
17
|
+
Read `dist-templates/workflows/brownfield-service.yaml` (project local override at `.openlife/method/workflows/brownfield-service.yaml` or `.catalog/workflows/brownfield-service.yaml` takes precedence if present).
|
|
18
|
+
|
|
19
|
+
If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run brownfield-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 brownfield-service "$ARGUMENTS"` in a terminal.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Brownfield UI: refactor or enhance an existing UI
|
|
3
|
+
argument-hint: "[--dry-run] [--vars key=value]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash(openlife:*)
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Mode:** host-native — you (the host LLM) orchestrate the `brownfield-ui` workflow yourself, playing the personas as needed.
|
|
14
|
+
|
|
15
|
+
### Step 1 — Load the workflow definition
|
|
16
|
+
|
|
17
|
+
Read `dist-templates/workflows/brownfield-ui.yaml` (project local override at `.openlife/method/workflows/brownfield-ui.yaml` or `.catalog/workflows/brownfield-ui.yaml` takes precedence if present).
|
|
18
|
+
|
|
19
|
+
If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run brownfield-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 brownfield-ui "$ARGUMENTS"` in a terminal.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Epic Orchestration: coordinate multiple dependent stories within an epic
|
|
3
|
+
argument-hint: "[--dry-run] [--vars key=value]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash(openlife:*)
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Mode:** host-native — you (the host LLM) orchestrate the `epic-orchestration` workflow yourself, playing the personas as needed.
|
|
14
|
+
|
|
15
|
+
### Step 1 — Load the workflow definition
|
|
16
|
+
|
|
17
|
+
Read `dist-templates/workflows/epic-orchestration.yaml` (project local override at `.openlife/method/workflows/epic-orchestration.yaml` or `.catalog/workflows/epic-orchestration.yaml` takes precedence if present).
|
|
18
|
+
|
|
19
|
+
If `$ARGUMENTS` contains `--dry-run`, ALSO shell out to `openlife flow run epic-orchestration --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 epic-orchestration "$ARGUMENTS"` in a terminal.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Greenfield Full-Stack: end-to-end new app from concept to shippable stories
|
|
3
|
+
argument-hint: "[--dry-run] [--vars key=value]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash(openlife:*)
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Mode:** host-native — you (the host LLM) orchestrate the `greenfield-fullstack` workflow yourself, playing the personas as needed.
|
|
14
|
+
|
|
15
|
+
### Step 1 — Load the workflow definition
|
|
16
|
+
|
|
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.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Greenfield Service: backend-only / API-only / CLI / worker / MCP server
|
|
3
|
+
argument-hint: "[--dry-run] [--vars key=value]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash(openlife:*)
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Mode:** host-native — you (the host LLM) orchestrate the `greenfield-service` workflow yourself, playing the personas as needed.
|
|
14
|
+
|
|
15
|
+
### Step 1 — Load the workflow definition
|
|
16
|
+
|
|
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.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Greenfield UI: frontend-only / SPA / landing / admin panel / docs site
|
|
3
|
+
argument-hint: "[--dry-run] [--vars key=value]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash(openlife:*)
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Mode:** host-native — you (the host LLM) orchestrate the `greenfield-ui` workflow yourself, playing the personas as needed.
|
|
14
|
+
|
|
15
|
+
### Step 1 — Load the workflow definition
|
|
16
|
+
|
|
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.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: QA Loop: iterative review-fix cycle (max 5 iterations) between Sentinel and Builder
|
|
3
|
+
argument-hint: "[--dry-run] [--vars key=value]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash(openlife:*)
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Mode:** host-native — you (the host LLM) orchestrate the `qa-loop` workflow yourself, playing the personas as needed.
|
|
14
|
+
|
|
15
|
+
### Step 1 — Load the workflow definition
|
|
16
|
+
|
|
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.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Continuous Deployment: release pipeline driven by Vortex (PR → merge → tag → publish)
|
|
3
|
+
argument-hint: "[--dry-run] [--vars key=value]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash(openlife:*)
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Mode:** host-native — you (the host LLM) orchestrate the `continuous-deployment` workflow yourself, playing the personas as needed.
|
|
14
|
+
|
|
15
|
+
### Step 1 — Load the workflow definition
|
|
16
|
+
|
|
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.
|