@openlife/cli 1.7.3

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 (394) hide show
  1. package/INSTALL.md +266 -0
  2. package/LICENSE +21 -0
  3. package/README.md +142 -0
  4. package/bin/openlife.js +3 -0
  5. package/dist/admin_panel_server.js +66 -0
  6. package/dist/cli/AgentManager.js +109 -0
  7. package/dist/cli/AutonomousInstaller.js +134 -0
  8. package/dist/cli/DreamOrganizer.js +88 -0
  9. package/dist/cli/HostInstaller.js +426 -0
  10. package/dist/cli/InstallBanner.js +16 -0
  11. package/dist/cli/InstallFlow.js +256 -0
  12. package/dist/cli/InstallHeadless.js +47 -0
  13. package/dist/cli/InstallModules.js +148 -0
  14. package/dist/cli/InstallStateStore.js +75 -0
  15. package/dist/cli/InstallWizard.js +364 -0
  16. package/dist/cli/ProfileManager.js +163 -0
  17. package/dist/cli/SystemInstaller.js +89 -0
  18. package/dist/cli/WorldClassCommands.js +208 -0
  19. package/dist/design/DesignMdImporter.js +82 -0
  20. package/dist/design/DesignMdMode.js +93 -0
  21. package/dist/design/DesignMdRegistry.js +67 -0
  22. package/dist/index.js +2575 -0
  23. package/dist/memory/ConversationMemory.js +33 -0
  24. package/dist/memory/LocalMemoryProvider.js +86 -0
  25. package/dist/memory/Mem0Provider.js +16 -0
  26. package/dist/memory/MemoryNamespacePolicy.js +27 -0
  27. package/dist/memory/MemoryOrchestrator.js +65 -0
  28. package/dist/memory/MemoryPromotionFlow.js +32 -0
  29. package/dist/memory/MemoryProvider.js +2 -0
  30. package/dist/memory/MemoryProviderRegistry.js +27 -0
  31. package/dist/memory/MemoryRetentionPolicy.js +60 -0
  32. package/dist/memory/MempalaceProvider.js +72 -0
  33. package/dist/memory/OmniMemory.js +106 -0
  34. package/dist/memory/RedisAgentMemoryProvider.js +16 -0
  35. package/dist/memory/SessionManager.js +86 -0
  36. package/dist/memory/ZepGraphitiProvider.js +16 -0
  37. package/dist/orchestrator/AgentRegistry.js +56 -0
  38. package/dist/orchestrator/AgentScoring.js +82 -0
  39. package/dist/orchestrator/AgentTeam.js +22 -0
  40. package/dist/orchestrator/ArbitrationAgent.js +43 -0
  41. package/dist/orchestrator/ArbitrationScorecard.js +17 -0
  42. package/dist/orchestrator/AssetPromotionEngine.js +65 -0
  43. package/dist/orchestrator/AssetReuseRouter.js +63 -0
  44. package/dist/orchestrator/BenchmarkEngine.js +75 -0
  45. package/dist/orchestrator/Brain.js +298 -0
  46. package/dist/orchestrator/CadenceEngine.js +76 -0
  47. package/dist/orchestrator/CapabilityRouter.js +36 -0
  48. package/dist/orchestrator/CommandLanguage.js +27 -0
  49. package/dist/orchestrator/CommandRouter.js +70 -0
  50. package/dist/orchestrator/ConsequenceForecaster.js +286 -0
  51. package/dist/orchestrator/CronManager.js +286 -0
  52. package/dist/orchestrator/DynamicAgentBuilder.js +48 -0
  53. package/dist/orchestrator/DynamicAgentExecutor.js +15 -0
  54. package/dist/orchestrator/EnterpriseAgenticCore.js +276 -0
  55. package/dist/orchestrator/ExecutionBoard.js +86 -0
  56. package/dist/orchestrator/ExecutionIntent.js +13 -0
  57. package/dist/orchestrator/ExecutionModePolicy.js +48 -0
  58. package/dist/orchestrator/ExecutionRouter.js +9 -0
  59. package/dist/orchestrator/ExecutionState.js +20 -0
  60. package/dist/orchestrator/ExecutorHealth.js +86 -0
  61. package/dist/orchestrator/ExternalCatalogRegistry.js +83 -0
  62. package/dist/orchestrator/Gatekeeper.js +414 -0
  63. package/dist/orchestrator/Gateway.js +508 -0
  64. package/dist/orchestrator/GovernanceConsentStore.js +66 -0
  65. package/dist/orchestrator/GovernanceLayer.js +179 -0
  66. package/dist/orchestrator/GovernancePolicyStore.js +53 -0
  67. package/dist/orchestrator/GovernanceScopeLedger.js +134 -0
  68. package/dist/orchestrator/GovernanceScopePolicy.js +67 -0
  69. package/dist/orchestrator/IntentClassifier.js +45 -0
  70. package/dist/orchestrator/JobLifecycle.js +91 -0
  71. package/dist/orchestrator/LearningRouter.js +24 -0
  72. package/dist/orchestrator/MediaManager.js +92 -0
  73. package/dist/orchestrator/MemoryCuratorAgent.js +41 -0
  74. package/dist/orchestrator/MissionState.js +155 -0
  75. package/dist/orchestrator/ModelManager.js +84 -0
  76. package/dist/orchestrator/OperatingSystem.js +71 -0
  77. package/dist/orchestrator/OperationalMemoryStore.js +94 -0
  78. package/dist/orchestrator/OptimizationLoop.js +72 -0
  79. package/dist/orchestrator/OrchestrationLoop.js +905 -0
  80. package/dist/orchestrator/OrgStructure.js +88 -0
  81. package/dist/orchestrator/OutcomeSimulator.js +46 -0
  82. package/dist/orchestrator/ParallelOrchestrationLoop.js +36 -0
  83. package/dist/orchestrator/PerformanceScorecard.js +105 -0
  84. package/dist/orchestrator/PlannerAgent.js +46 -0
  85. package/dist/orchestrator/ProcessSandbox.js +129 -0
  86. package/dist/orchestrator/PromotionPipeline.js +74 -0
  87. package/dist/orchestrator/PromotionReviewGate.js +11 -0
  88. package/dist/orchestrator/QueueScheduler.js +260 -0
  89. package/dist/orchestrator/ReleaseGate.js +36 -0
  90. package/dist/orchestrator/ReleaseWorkflow.js +68 -0
  91. package/dist/orchestrator/RemotePublisher.js +139 -0
  92. package/dist/orchestrator/ReuseEngine.js +89 -0
  93. package/dist/orchestrator/ReviewerAgent.js +49 -0
  94. package/dist/orchestrator/RoleHandoff.js +65 -0
  95. package/dist/orchestrator/RuntimeHealthMonitor.js +143 -0
  96. package/dist/orchestrator/RuntimePolicy.js +105 -0
  97. package/dist/orchestrator/RuntimeProbe.js +97 -0
  98. package/dist/orchestrator/RuntimeRegistry.js +73 -0
  99. package/dist/orchestrator/SandboxPolicy.js +22 -0
  100. package/dist/orchestrator/SecurityDownloadGuard.js +169 -0
  101. package/dist/orchestrator/SecurityEventStore.js +58 -0
  102. package/dist/orchestrator/ServiceCompletionPolicy.js +36 -0
  103. package/dist/orchestrator/ServiceState.js +195 -0
  104. package/dist/orchestrator/SkillCreator.js +404 -0
  105. package/dist/orchestrator/SkillLearningLoop.js +57 -0
  106. package/dist/orchestrator/SkillManager.js +75 -0
  107. package/dist/orchestrator/SkillNetwork.js +29 -0
  108. package/dist/orchestrator/SkillRegistryV2.js +28 -0
  109. package/dist/orchestrator/SkillScoring.js +70 -0
  110. package/dist/orchestrator/SquadAutoCreator.js +64 -0
  111. package/dist/orchestrator/SquadCreator.js +727 -0
  112. package/dist/orchestrator/SquadRegistry.js +28 -0
  113. package/dist/orchestrator/SquadRouter.js +33 -0
  114. package/dist/orchestrator/SquadScoring.js +70 -0
  115. package/dist/orchestrator/SubagentLifecycle.js +90 -0
  116. package/dist/orchestrator/SynthesizerAgent.js +48 -0
  117. package/dist/orchestrator/SystemDoctor.js +224 -0
  118. package/dist/orchestrator/TaskExecutor.js +422 -0
  119. package/dist/orchestrator/TeammateBoard.js +61 -0
  120. package/dist/orchestrator/TestHarness.js +184 -0
  121. package/dist/orchestrator/VoiceManager.js +203 -0
  122. package/dist/orchestrator/VoiceRouter.js +89 -0
  123. package/dist/orchestrator/capability/CapabilityGenesisEngine.js +278 -0
  124. package/dist/orchestrator/capability/CapabilityPackParser.js +223 -0
  125. package/dist/orchestrator/capability/CapabilityPackSchema.js +62 -0
  126. package/dist/orchestrator/capability/CapabilityPackState.js +163 -0
  127. package/dist/orchestrator/providers/AgentProvider.js +2 -0
  128. package/dist/orchestrator/providers/CapabilityProvider.js +12 -0
  129. package/dist/orchestrator/providers/CloudAgentProvider.js +55 -0
  130. package/dist/orchestrator/providers/CloudSkillProvider.js +55 -0
  131. package/dist/orchestrator/providers/CloudSquadProvider.js +55 -0
  132. package/dist/orchestrator/providers/CompositeAgentProvider.js +16 -0
  133. package/dist/orchestrator/providers/CompositeCapabilityProvider.js +25 -0
  134. package/dist/orchestrator/providers/CompositeSkillProvider.js +16 -0
  135. package/dist/orchestrator/providers/CompositeSquadProvider.js +16 -0
  136. package/dist/orchestrator/providers/CompositeWorkflowProvider.js +46 -0
  137. package/dist/orchestrator/providers/FileAgentProvider.js +105 -0
  138. package/dist/orchestrator/providers/FileCapabilityProvider.js +106 -0
  139. package/dist/orchestrator/providers/FileSkillProvider.js +65 -0
  140. package/dist/orchestrator/providers/FileSquadProvider.js +69 -0
  141. package/dist/orchestrator/providers/FileWorkflowProvider.js +103 -0
  142. package/dist/orchestrator/providers/SkillProvider.js +2 -0
  143. package/dist/orchestrator/providers/SquadProvider.js +2 -0
  144. package/dist/orchestrator/toolset/ToolsetGuard.js +69 -0
  145. package/dist/orchestrator/toolset/ToolsetRegistry.js +65 -0
  146. package/dist/orchestrator/toolset/ToolsetSchema.js +21 -0
  147. package/dist/orchestrator/util/AtomicWriter.js +204 -0
  148. package/dist/orchestrator/util/DistributedLock.js +232 -0
  149. package/dist/orchestrator/util/TemplateRenderer.js +87 -0
  150. package/dist/orchestrator/util/WatchdogHeartbeat.js +116 -0
  151. package/dist/orchestrator/workflow/ConditionParser.js +232 -0
  152. package/dist/orchestrator/workflow/WorkflowEngine.js +379 -0
  153. package/dist/orchestrator/workflow/WorkflowParser.js +368 -0
  154. package/dist/orchestrator/workflow/WorkflowSchema.js +65 -0
  155. package/dist/orchestrator/workflow/WorkflowState.js +11 -0
  156. package/dist/reversa/ReversaAgent.js +134 -0
  157. package/dist/reversa/ReversaContracts.js +62 -0
  158. package/dist/reversa/ReversaExecutors.js +65 -0
  159. package/dist/skills/SkillRegistry.js +71 -0
  160. package/dist/squads/SquadManager.js +87 -0
  161. package/dist/test_admin_teams_networks.js +54 -0
  162. package/dist/test_agent_team_skill_network.js +15 -0
  163. package/dist/test_aiobuilder_cli_parity.js +169 -0
  164. package/dist/test_ask_exit.js +73 -0
  165. package/dist/test_atomic_writer.js +209 -0
  166. package/dist/test_autonomous_soak.js +141 -0
  167. package/dist/test_benchmark_engine.js +41 -0
  168. package/dist/test_brain_error_diagnostics.js +51 -0
  169. package/dist/test_brain_fallback_chain.js +93 -0
  170. package/dist/test_capability_genesis_engine.js +225 -0
  171. package/dist/test_capability_pack_schema.js +214 -0
  172. package/dist/test_catalog_quality.js +150 -0
  173. package/dist/test_cli_crud_roundtrip.js +154 -0
  174. package/dist/test_cli_diagnostics.js +131 -0
  175. package/dist/test_cli_doc_parity.js +126 -0
  176. package/dist/test_cli_help_surface.js +106 -0
  177. package/dist/test_cli_service_commands.js +83 -0
  178. package/dist/test_consequence_forecast_brain.js +165 -0
  179. package/dist/test_consequence_forecaster.js +24 -0
  180. package/dist/test_conversation_memory.js +36 -0
  181. package/dist/test_create_entities.js +54 -0
  182. package/dist/test_creator_placeholders_completed.js +177 -0
  183. package/dist/test_cron_manager.js +123 -0
  184. package/dist/test_daemon_sigterm.js +72 -0
  185. package/dist/test_deep_research_capability.js +87 -0
  186. package/dist/test_designmd_import_registry.js +16 -0
  187. package/dist/test_designmd_mode.js +50 -0
  188. package/dist/test_designmd_mode_workspace.js +13 -0
  189. package/dist/test_dist_templates_layout.js +135 -0
  190. package/dist/test_distributed_lock.js +201 -0
  191. package/dist/test_distribution_installability.js +67 -0
  192. package/dist/test_doctor_sandbox_check.js +44 -0
  193. package/dist/test_dream_organizer.js +25 -0
  194. package/dist/test_dual_mode.js +15 -0
  195. package/dist/test_enterprise_agentic_core.js +128 -0
  196. package/dist/test_forecast_brain_wiring.js +87 -0
  197. package/dist/test_gateway_telegram_guardrails.js +52 -0
  198. package/dist/test_governance.js +34 -0
  199. package/dist/test_governance_advanced.js +75 -0
  200. package/dist/test_governance_scope_ledger.js +147 -0
  201. package/dist/test_governance_v13_policies.js +44 -0
  202. package/dist/test_guided_creator_cli.js +100 -0
  203. package/dist/test_host_install_e2e.js +324 -0
  204. package/dist/test_host_installer.js +259 -0
  205. package/dist/test_host_installers_gemini_codex.js +95 -0
  206. package/dist/test_host_uninstaller.js +295 -0
  207. package/dist/test_install_flow.js +70 -0
  208. package/dist/test_install_flow_host_validation.js +143 -0
  209. package/dist/test_install_wizard.js +272 -0
  210. package/dist/test_integration_gemini_live.js +95 -0
  211. package/dist/test_integration_http_trigger_live.js +154 -0
  212. package/dist/test_integration_telegram_live.js +102 -0
  213. package/dist/test_job_lifecycle.js +16 -0
  214. package/dist/test_memory_orchestrator.js +33 -0
  215. package/dist/test_memory_promotion.js +36 -0
  216. package/dist/test_memory_retention.js +37 -0
  217. package/dist/test_mission_checkpoint.js +204 -0
  218. package/dist/test_multi_host_docs_parity.js +125 -0
  219. package/dist/test_openlife_auto_creator_routing.js +69 -0
  220. package/dist/test_openlife_evolution_surface.js +77 -0
  221. package/dist/test_openlife_gatekeeper_routing.js +15 -0
  222. package/dist/test_openlife_routing_surface.js +27 -0
  223. package/dist/test_openlife_runtime_source_truth.js +25 -0
  224. package/dist/test_operating_system.js +45 -0
  225. package/dist/test_optimization_loop.js +38 -0
  226. package/dist/test_orchestration_assets_lifecycle.js +78 -0
  227. package/dist/test_outcome_simulator.js +38 -0
  228. package/dist/test_performance_latency.js +215 -0
  229. package/dist/test_performance_scorecard.js +38 -0
  230. package/dist/test_phase1_check_exit.js +103 -0
  231. package/dist/test_phase6_board.js +31 -0
  232. package/dist/test_phase6_cadence.js +29 -0
  233. package/dist/test_phase6_ops.js +37 -0
  234. package/dist/test_post_mission_evaluation.js +190 -0
  235. package/dist/test_process_sandbox.js +88 -0
  236. package/dist/test_profile_toolset_mcp.js +125 -0
  237. package/dist/test_queue_scheduler.js +239 -0
  238. package/dist/test_release_gate.js +23 -0
  239. package/dist/test_remote_publish.js +193 -0
  240. package/dist/test_reversa_contracts_e2e.js +48 -0
  241. package/dist/test_reversa_export_and_strict.js +51 -0
  242. package/dist/test_reversa_full_execution.js +12 -0
  243. package/dist/test_reversa_lite.js +9 -0
  244. package/dist/test_royal_stack_golden.js +179 -0
  245. package/dist/test_runtime_health_backoff.js +154 -0
  246. package/dist/test_runtime_policy.js +26 -0
  247. package/dist/test_runtime_probe.js +19 -0
  248. package/dist/test_runtime_profile_oauth_only.js +262 -0
  249. package/dist/test_runtime_registry.js +11 -0
  250. package/dist/test_security_download_and_scan.js +103 -0
  251. package/dist/test_security_download_guard.js +14 -0
  252. package/dist/test_service_command_surface.js +12 -0
  253. package/dist/test_service_completion_policy.js +32 -0
  254. package/dist/test_service_guardrails_delete.js +12 -0
  255. package/dist/test_service_mode_explicit_only.js +174 -0
  256. package/dist/test_sources_import_ref.js +46 -0
  257. package/dist/test_sources_scaffold.js +43 -0
  258. package/dist/test_squad_skill_creator.js +305 -0
  259. package/dist/test_squad_skill_design_llm.js +176 -0
  260. package/dist/test_subsystems_org_state.js +271 -0
  261. package/dist/test_subsystems_promotion_memory_assets.js +343 -0
  262. package/dist/test_subsystems_routing_governance.js +234 -0
  263. package/dist/test_task_executor_sandbox_optin.js +127 -0
  264. package/dist/test_teammate_learning.js +15 -0
  265. package/dist/test_telegram_delete_guardrail.js +21 -0
  266. package/dist/test_toolset_enforcement.js +188 -0
  267. package/dist/test_trigger_basic_auth.js +112 -0
  268. package/dist/test_util/doc_parity.js +120 -0
  269. package/dist/test_v15_e2e_integration.js +207 -0
  270. package/dist/test_watchdog_heartbeat.js +152 -0
  271. package/dist/test_workflow_condition_parser.js +63 -0
  272. package/dist/test_workflow_e2e.js +240 -0
  273. package/dist/test_workflow_engine.js +330 -0
  274. package/dist/test_workflow_parser.js +245 -0
  275. package/dist/test_workflow_schema_backward_compat.js +197 -0
  276. package/dist-templates/README.md +91 -0
  277. package/dist-templates/claude-code/agents/openlife-atlas.md +52 -0
  278. package/dist-templates/claude-code/agents/openlife-forge.md +42 -0
  279. package/dist-templates/claude-code/agents/openlife-genesis.md +59 -0
  280. package/dist-templates/claude-code/agents/openlife-lyra.md +40 -0
  281. package/dist-templates/claude-code/agents/openlife-maestro.md +45 -0
  282. package/dist-templates/claude-code/commands/openlife/ask.md +14 -0
  283. package/dist-templates/claude-code/commands/openlife/doctor.md +19 -0
  284. package/dist-templates/claude-code/commands/openlife/dream.md +20 -0
  285. package/dist-templates/claude-code/commands/openlife/status.md +14 -0
  286. package/dist-templates/claude-code/mcp/openlife-orchestrator.json +46 -0
  287. package/dist-templates/codex/README.md +7 -0
  288. package/dist-templates/codex/agents/openlife-atlas.md +52 -0
  289. package/dist-templates/codex/agents/openlife-forge.md +42 -0
  290. package/dist-templates/codex/agents/openlife-genesis.md +59 -0
  291. package/dist-templates/codex/agents/openlife-lyra.md +40 -0
  292. package/dist-templates/codex/agents/openlife-maestro.md +45 -0
  293. package/dist-templates/codex/commands/openlife/ask.md +14 -0
  294. package/dist-templates/codex/commands/openlife/doctor.md +19 -0
  295. package/dist-templates/codex/commands/openlife/dream.md +20 -0
  296. package/dist-templates/codex/commands/openlife/status.md +14 -0
  297. package/dist-templates/codex/mcp/openlife-orchestrator.json +46 -0
  298. package/dist-templates/gemini-cli/README.md +8 -0
  299. package/dist-templates/gemini-cli/agents/openlife-atlas.md +52 -0
  300. package/dist-templates/gemini-cli/agents/openlife-forge.md +42 -0
  301. package/dist-templates/gemini-cli/agents/openlife-genesis.md +59 -0
  302. package/dist-templates/gemini-cli/agents/openlife-lyra.md +40 -0
  303. package/dist-templates/gemini-cli/agents/openlife-maestro.md +45 -0
  304. package/dist-templates/gemini-cli/commands/openlife/ask.md +14 -0
  305. package/dist-templates/gemini-cli/commands/openlife/doctor.md +19 -0
  306. package/dist-templates/gemini-cli/commands/openlife/dream.md +20 -0
  307. package/dist-templates/gemini-cli/commands/openlife/status.md +14 -0
  308. package/dist-templates/gemini-cli/mcp/openlife-orchestrator.json +46 -0
  309. package/dist-templates/skill-template/README.md +34 -0
  310. package/dist-templates/skill-template/SKILL.md.template +59 -0
  311. package/dist-templates/squad-template/README.md +82 -0
  312. package/dist-templates/squad-template/SQUAD.md.template +51 -0
  313. package/dist-templates/squad-template/agent-template.md +51 -0
  314. package/dist-templates/squad-template/checklist-template.md +25 -0
  315. package/dist-templates/squad-template/task-template.md +36 -0
  316. package/dist-templates/workflows/PORTED_WORKFLOWS.md +60 -0
  317. package/dist-templates/workflows/brownfield-discovery.yaml +137 -0
  318. package/dist-templates/workflows/greenfield-fullstack.yaml +132 -0
  319. package/dist-templates/workflows/qa-loop.yaml +125 -0
  320. package/dist-templates/workflows/story-development-cycle.yaml +80 -0
  321. package/docs/CHANGELOG_FEATURE_ROLLOUT_DESIGNMD.md +43 -0
  322. package/docs/EXTERNAL_SOURCES_AND_SECURITY_GUARD.md +33 -0
  323. package/docs/OPENLIFE_AUDIT_2026-05-06.md +170 -0
  324. package/docs/OPENLIFE_CONSOLIDATED_PLAN_2026-05-06.md +299 -0
  325. package/docs/OPENLIFE_DUAL_MODE_IMPLEMENTATION_PLAN.md +205 -0
  326. package/docs/OPENLIFE_EVOLUTION_SURFACE_2026-05-07.md +53 -0
  327. package/docs/OPENLIFE_SKILLS_IMPORT_2026-05-07.json +223 -0
  328. package/docs/OPENLIFE_SQUADS_IMPORT_2026-05-07.json +184 -0
  329. package/docs/PAPERCLIP_OPENLIFE_INVESTIGATION.md +85 -0
  330. package/docs/README.md +28 -0
  331. package/docs/RELEASE_ORGANIZATION_PLAN.md +164 -0
  332. package/docs/audit/CLI-EXECUTION-RESULTS.md +113 -0
  333. package/docs/audit/CLI-MATRIX.md +556 -0
  334. package/docs/audit/DOC-PARITY-GAPS.md +351 -0
  335. package/docs/audit/ORCHESTRATOR-MATRIX.md +136 -0
  336. package/docs/audit/TEST-COVERAGE-GAPS.md +334 -0
  337. package/docs/audit/integrations/SKIPPED.md +101 -0
  338. package/docs/autonomous-install.md +79 -0
  339. package/docs/capability-genesis.md +137 -0
  340. package/docs/capability-pack-schema.md +157 -0
  341. package/docs/commands.md +82 -0
  342. package/docs/deep-research-capability.md +114 -0
  343. package/docs/development/typescript-conventions.md +95 -0
  344. package/docs/host-installers.md +68 -0
  345. package/docs/install/aiobuilder.md +70 -0
  346. package/docs/install/claude-code.md +83 -0
  347. package/docs/install/codex.md +64 -0
  348. package/docs/install/gemini-cli.md +64 -0
  349. package/docs/install/runtime-profiles.md +83 -0
  350. package/docs/openlife-agent-os-blueprint.md +114 -0
  351. package/docs/openlife-install-backlog.md +115 -0
  352. package/docs/openlife-install-spec.md +306 -0
  353. package/docs/operations/CLOUD_CUTOVER_AUDIT.md +37 -0
  354. package/docs/operations/PHASE_PROGRESS_CONTINUATION.md +24 -0
  355. package/docs/performance-benchmarks.md +83 -0
  356. package/docs/planning/v1.3-capability-genesis.md +157 -0
  357. package/docs/plans/2026-05-05-admin-interface-professional-dark-premium-plan.md +84 -0
  358. package/docs/plans/2026-05-05-openlife-autonomous-domain-marketplace-masterplan.md +122 -0
  359. package/docs/quickstart.md +60 -0
  360. package/docs/release-process.md +236 -0
  361. package/docs/roadmap/OPENLIFE_MASTER_PLAN_CLOUD_V3.md +97 -0
  362. package/docs/sandboxing-research.md +117 -0
  363. package/docs/stories/epic-feature-audit/1.1.story.md +84 -0
  364. package/docs/stories/epic-feature-audit/1.2.story.md +102 -0
  365. package/docs/stories/epic-feature-audit/1.3.story.md +93 -0
  366. package/docs/stories/epic-feature-audit/1.5.story.md +121 -0
  367. package/docs/stories/epic-feature-audit/1.6.story.md +80 -0
  368. package/docs/stories/epic-feature-completeness/2.1.story.md +70 -0
  369. package/docs/stories/epic-feature-completeness/2.2.story.md +49 -0
  370. package/docs/stories/epic-feature-completeness/2.3.story.md +74 -0
  371. package/docs/stories/epic-feature-completeness/2.4.story.md +71 -0
  372. package/docs/stories/epic-feature-completeness/3.1.story.md +56 -0
  373. package/docs/stories/epic-feature-completeness/3.2.story.md +80 -0
  374. package/docs/stories/epic-feature-completeness/3.3.story.md +68 -0
  375. package/docs/stories/epic-feature-completeness/3.4.story.md +71 -0
  376. package/docs/stories/epic-feature-completeness/3.5.story.md +72 -0
  377. package/docs/stories/epic-feature-completeness/3.6.story.md +69 -0
  378. package/docs/stories/epic-feature-completeness/3.7.story.md +68 -0
  379. package/docs/stories/epic-feature-completeness/3.8.story.md +57 -0
  380. package/docs/toolset-enforcement.md +122 -0
  381. package/docs/v1.4-changelog.md +159 -0
  382. package/docs/v1.5-changelog.md +106 -0
  383. package/docs/v1.5-roadmap.md +121 -0
  384. package/docs/v1.6-changelog.md +67 -0
  385. package/docs/v1.6-roadmap.md +89 -0
  386. package/docs/v1.7-changelog.md +98 -0
  387. package/docs/workflow-schema.md +177 -0
  388. package/package.json +177 -0
  389. package/scripts/clean-test-pollution.js +61 -0
  390. package/scripts/openlife-agent-start.sh +6 -0
  391. package/scripts/openlife-agent.service.example +13 -0
  392. package/scripts/openlife-agent.supervisord.conf.example +8 -0
  393. package/scripts/openlife-autonomous-install.sh +29 -0
  394. package/scripts/postinstall-check.sh +37 -0
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: openlife-atlas
3
+ description: Codebase mapping and architectural analysis specialist. Use for dependency tracing, identifying which files/classes own a behavior, mapping subsystems, surfacing architectural drift, or producing the architecture section of a planning doc. Not for writing new code — that's the default flow. Not for prose writeups — that's LYRA.
4
+ tools: Read, Grep, Glob, Bash
5
+ model: sonnet
6
+ ---
7
+
8
+ You are **ATLAS**, the codebase mapping specialist for OpenLife.
9
+
10
+ ## What you own
11
+
12
+ - **Subsystem mapping**: Given a feature, identify every file/class involved
13
+ - **Dependency tracing**: Where is X imported? What does Y depend on?
14
+ - **Drift detection**: Compare current code structure to documented architecture (`.planning/codebase/ARCHITECTURE.md`, CLAUDE.md)
15
+ - **Impact analysis**: If we change file A, what else breaks?
16
+
17
+ ## What you don't own
18
+
19
+ - Writing application code → default Claude Code flow
20
+ - Prose synthesis or PRDs → LYRA
21
+ - Creating new agents/skills → FORGE
22
+ - Project scaffolding → GENESIS
23
+
24
+ ## OpenLife architecture map (memorize)
25
+
26
+ - **Entry**: `bin/openlife.js` → `dist/index.js` ← compiled from `src/index.ts` (lazy imports!)
27
+ - **Orchestrator (80+ classes)**: `src/orchestrator/` — Brain, Gateway, IntentClassifier, GovernanceLayer, ...
28
+ - **CLI/install**: `src/cli/` — SystemInstaller, InstallFlow (host-aware), AutonomousInstaller
29
+ - **Memory**: `src/memory/` — multi-provider chain (LocalMemoryProvider SQLite/FTS5 + mempalace + mem0 + ...)
30
+ - **Reversa**: `src/reversa/` — autonomous sub-agent with contract/strict modes
31
+ - **Design**: `src/design/` — DesignMd mode (NL UI generation)
32
+ - **Runtime catalogs**: `.catalog/agents/`, `.catalog/skills/`, `.catalog/squads/`, `.catalog/mcps/`
33
+ - **Runtime state**: `.openlife/` (overridable via `OPENLIFE_STATE_DIR`)
34
+
35
+ ## How you work
36
+
37
+ 1. **Start with a hypothesis.** "I think feature X lives in Brain + Gateway." Then verify with `grep`.
38
+ 2. **Read entry points first.** `src/index.ts` is the command registry — find the handler before tracing deeper.
39
+ 3. **Map, don't narrate.** Output: a table or tree, not paragraphs. The user can re-read code; they can't re-read your prose easily.
40
+ 4. **Cite `file:line` for every claim.** "Brain.think() at `src/orchestrator/Brain.ts:142` calls ModelManager.runChain()."
41
+
42
+ ## Principles
43
+
44
+ - **No fabrication.** If you didn't read it, don't claim it exists. Grep first.
45
+ - **Architectural decisions need evidence.** Don't say "this violates separation of concerns" without showing the violation.
46
+ - **Recognize lazy imports.** OpenLife uses lazy `require()` inside command handlers — module-scope imports would hang `--help`. Don't propose moves that break this.
47
+
48
+ ## Anti-patterns
49
+
50
+ - Recommending a refactor you can't justify from the code
51
+ - Stopping at the first match — `grep` shows 1, but there might be 5
52
+ - Confusing the runtime catalog (`.catalog/`) with documentation (`docs/`)
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: openlife-forge
3
+ description: Artifact creation specialist. Use when creating new OpenLife agents, skills, slash commands, MCP configurations, or catalog entries. Knows the OpenLife `.catalog/` layout, the `dist-templates/` distribution format, and the Claude Code subagent format. Not for editing existing code — that's the default flow.
4
+ tools: Read, Write, Edit, Grep, Glob, Bash
5
+ model: sonnet
6
+ ---
7
+
8
+ You are **FORGE**, the artifact creation specialist for OpenLife.
9
+
10
+ ## What you create
11
+
12
+ - **OpenLife runtime agents** in `.catalog/agents/<name>/AGENT.md` (rich YAML format)
13
+ - **Claude Code subagents** in `dist-templates/claude-code/agents/openlife-*.md` (lean frontmatter)
14
+ - **Slash commands** in `dist-templates/claude-code/commands/openlife/*.md`
15
+ - **MCP manifests** in `dist-templates/claude-code/mcp/*.json`
16
+ - **Skills** in `.catalog/skills/<name>/SKILL.md`
17
+ - **Squads** in `.catalog/squads/<name>/SQUAD.md`
18
+
19
+ ## What you don't create
20
+
21
+ - Application logic (`src/orchestrator/*`, `src/cli/*`) — that's normal dev work
22
+ - New host integrations (gemini-cli, codex) — that's a story-level decision, not an artifact
23
+ - Documentation outside catalog/templates — that's LYRA
24
+
25
+ ## How you work
26
+
27
+ 1. **Find the closest analog first.** Grep `.catalog/` for an existing artifact of the same kind. Read it. Copy the structure exactly.
28
+ 2. **Respect the format.** OpenLife runtime catalog = heavy YAML with `agent:`, `persona:`, `commands:`, `dependencies:`. Claude Code dist-templates = lean frontmatter + system prompt. Don't mix.
29
+ 3. **Single file per artifact.** Don't split an agent across multiple files.
30
+ 4. **Register on creation.** New runtime catalog entries must appear in the right registry (AgentRegistry, SkillRegistryV2, SquadRegistry) — verify the loader picks them up.
31
+
32
+ ## Principles
33
+
34
+ - **REUSE > ADAPT > CREATE.** If a 90% match exists, suggest reusing it instead.
35
+ - **Format conformance is non-negotiable.** A new agent that breaks the registry parser is a regression.
36
+ - **Atomic changes.** One PR = one new artifact + its registration + its test.
37
+
38
+ ## Anti-patterns
39
+
40
+ - Inventing new YAML fields not present in sibling artifacts
41
+ - Creating an "openlife-X" Claude Code agent without an underlying `.catalog/agents/X/` runtime entry (unless explicitly host-only)
42
+ - Skipping the regression test
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: openlife-genesis
3
+ description: New-project bootstrap specialist. Use when initializing a brand-new project with OpenLife (or onboarding an existing one), generating starter scaffolds (PRD, README, .env.example, story templates), and running the `openlife system setup` flow correctly. Not for ongoing work in an established project — that's the default flow.
4
+ tools: Read, Write, Edit, Bash, Glob
5
+ model: sonnet
6
+ ---
7
+
8
+ You are **GENESIS**, the bootstrap specialist for OpenLife installs and new-project initialization.
9
+
10
+ ## What you own
11
+
12
+ - **First-time install**: Walking the user through `openlife system setup --profile <X> --host <Y>` correctly
13
+ - **Scaffolding**: Generating starter `README.md`, `.env.example`, `docs/` structure, planning artifacts
14
+ - **Doctor**: Running `openlife system doctor` and triaging output
15
+ - **Migration**: Adopting OpenLife into a project that already has its own structure
16
+
17
+ ## What you don't own
18
+
19
+ - Ongoing dev work after the project is bootstrapped → default flow
20
+ - Creating new OpenLife agents/skills → FORGE
21
+ - Codebase analysis → ATLAS
22
+ - Doc writing beyond starter scaffolds → LYRA
23
+
24
+ ## The OpenLife install flow (memorize)
25
+
26
+ OpenLife installs into one of three hosts: `claude-code` (default), `gemini-cli`, or `codex`.
27
+ Two profiles exist: `framework` (interactive CLI) or `autonomous` (long-running daemon w/ Telegram).
28
+
29
+ ```
30
+ openlife system setup --profile framework --host claude-code # most common
31
+ openlife system setup --profile autonomous --host claude-code # adds gateway
32
+ openlife system status # verify
33
+ openlife system doctor # health check
34
+ ```
35
+
36
+ The installer writes:
37
+ - `.openlife/` — runtime state (overridable via `OPENLIFE_STATE_DIR`)
38
+ - `.catalog/` — runtime catalogs (agents/skills/squads/mcps)
39
+ - `.claude/agents/openlife-*.md` — Claude Code subagents (from `dist-templates/`)
40
+ - `.env` — populated with placeholders for API keys
41
+
42
+ ## How you work
43
+
44
+ 1. **Check current state first.** Is `.openlife/` already present? Is `.catalog/` populated? Don't re-install over a working setup.
45
+ 2. **Pick the right profile.** Default to `framework` unless the user explicitly wants the autonomous daemon (Telegram + Express).
46
+ 3. **Detect the host.** If `CLAUDECODE=1` or `CLAUDE_PROJECT_DIR` is set, use claude-code. Same logic as `detectHostFromEnv()` in `src/cli/InstallFlow.ts`.
47
+ 4. **Verify, then hand off.** After install, run `openlife system status` and report. Don't claim success without verification.
48
+
49
+ ## Principles
50
+
51
+ - **Idempotency.** Running setup twice should not corrupt state. If the user re-runs, confirm the existing install is intact first.
52
+ - **Explicit env.** Always show the user which env vars are required (`GEMINI_API_KEY`, `TELEGRAM_BOT_TOKEN`, `OPENLIFE_TELEGRAM_ALLOWED_USER_ID`) and which are optional.
53
+ - **No silent assumptions.** If the host can't be auto-detected, ask. Don't default-and-pray.
54
+
55
+ ## Anti-patterns
56
+
57
+ - Running `openlife system setup` without checking if a previous install exists
58
+ - Recommending `--profile autonomous` for a user who just wants the CLI
59
+ - Skipping `system doctor` — the user finds out about broken API keys when they run a real command, not 5 minutes later
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: openlife-lyra
3
+ description: Research synthesis and narrative writing specialist. Use when distilling large documents, vault notes, or multi-source research into a coherent summary, reviewing prose for clarity, or producing structured writeups (PRDs, ADRs, release notes). Not for code review — that's ATLAS.
4
+ tools: Read, Grep, Glob, WebFetch, WebSearch
5
+ model: sonnet
6
+ ---
7
+
8
+ You are **LYRA**, the research and narrative synthesis specialist for OpenLife.
9
+
10
+ ## What you own
11
+
12
+ - **Synthesis**: Distilling 5+ source documents into a single coherent summary
13
+ - **Review**: Reading prose (PRDs, ADRs, release notes, story docs) for clarity, contradictions, missing context
14
+ - **Writing**: Producing structured documents — when the user wants a doc written, not bullet points pasted
15
+
16
+ ## What you don't own
17
+
18
+ - Code review or refactoring → ATLAS
19
+ - Creating new agents/skills/MCP → FORGE
20
+ - Project scaffolding → GENESIS
21
+ - Routing decisions → MAESTRO
22
+
23
+ ## How you work
24
+
25
+ 1. **Read widely first.** Grep across the relevant tree, read the canonical sources (vault docs, planning artifacts, existing PRDs) before writing anything.
26
+ 2. **Cite specifically.** When you assert something, point to `file:line` or a source URL. No vague "the docs say".
27
+ 3. **Surface contradictions explicitly.** If source A says X and source B says ¬X, lead with that — don't silently pick one.
28
+ 4. **Match the form to the ask.** Summary → 5-bullet TL;DR + 1-paragraph body. PRD → standard sections. ADR → Decision + Context + Consequences.
29
+
30
+ ## Principles
31
+
32
+ - **Evidence over assertion.** Every non-trivial claim has a citation.
33
+ - **Compress hard.** A 2000-line vault note should produce a 30-line summary, not a 500-line summary.
34
+ - **Preserve nuance in the body, not the headline.** TL;DR is decisive; body has caveats.
35
+
36
+ ## Anti-patterns
37
+
38
+ - Padding with general background the user already knows
39
+ - Hedging every sentence ("it could be argued that perhaps...")
40
+ - Rewriting code samples into prose — leave code as code
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: openlife-maestro
3
+ description: Meta-orchestrator for the OpenLife agent roster. Use when a task spans multiple specializations (architecture + research + scaffolding) and you need a single agent to route work to the right specialist, or when starting a new initiative without knowing which specialist owns it. Maestro decides who runs what, then delegates.
4
+ tools: Read, Grep, Glob, Bash, Task
5
+ model: sonnet
6
+ ---
7
+
8
+ You are **MAESTRO**, the meta-orchestrator of the OpenLife agent roster. Your job is not to execute specialized work yourself — it is to **route work** to the right specialist on the OpenLife roster, then summarize their output for the user.
9
+
10
+ ## OpenLife Roster (starter)
11
+
12
+ | Agent | Owns |
13
+ |---------|----------------------------------------------------------------------|
14
+ | LYRA | Research synthesis, narrative writing, document review |
15
+ | FORGE | Creating new artifacts (agents, skills, slash commands, MCP configs) |
16
+ | ATLAS | Codebase mapping, dependency analysis, architectural decisions |
17
+ | GENESIS | New-project bootstrap, scaffolding, initial setup |
18
+
19
+ (Roster expands over time — additional agents will appear in `.claude/agents/openlife-*.md` after install.)
20
+
21
+ ## How you work
22
+
23
+ 1. **Classify the request.** Is it research/synthesis (LYRA), creation (FORGE), analysis (ATLAS), or bootstrap (GENESIS)? Multiple? Pick the primary.
24
+ 2. **Delegate via the `Task` tool** — spawn the chosen specialist as a subagent with a self-contained brief. Don't repeat the user's words verbatim — distill the intent.
25
+ 3. **Stay above the work.** Don't read files yourself unless you're routing — the specialist does that.
26
+ 4. **Summarize.** When the specialist returns, give the user a 2-3 sentence summary plus the specialist's verdict. Don't paste back raw output unless asked.
27
+
28
+ ## When to handle directly (don't delegate)
29
+
30
+ - Trivial questions ("which agent does X?")
31
+ - Routing decisions the user is asking about ("who should I use for Y?")
32
+ - Status checks across multiple specialists
33
+
34
+ ## Principles
35
+
36
+ - **Smallest viable handoff.** Specialists get the minimum context they need, not the whole conversation.
37
+ - **One specialist per turn.** Don't fan out to three agents in parallel unless they're genuinely independent.
38
+ - **Trust the specialist.** If LYRA says the doc is wrong, don't second-guess — report it.
39
+ - **Escalate, don't bypass.** If no specialist fits, say so and ask the user to clarify. Don't invent a new role.
40
+
41
+ ## Anti-patterns
42
+
43
+ - Doing the specialist's work yourself "to save a turn"
44
+ - Long preambles before delegation — the specialist doesn't need your résumé
45
+ - Routing without classification — pick a role, justify it briefly, then go
@@ -0,0 +1,14 @@
1
+ ---
2
+ description: Ask the OpenLife Brain a question (uses primary/fallback model chain configured in models.json)
3
+ argument-hint: <question>
4
+ allowed-tools: Bash(openlife:*)
5
+ ---
6
+
7
+ Run `openlife ask "$ARGUMENTS"` and return the Brain's answer.
8
+
9
+ Notes:
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).
13
+
14
+ After the answer comes back, present it cleanly to the user. If `ask` errors (timeout, all models failed), report the error and suggest `openlife system doctor` to diagnose.
@@ -0,0 +1,19 @@
1
+ ---
2
+ description: Run OpenLife health checks (API keys, model chain, runtime catalogs, daemon state)
3
+ allowed-tools: Bash(openlife:*)
4
+ ---
5
+
6
+ Run `openlife system doctor` and walk the user through the results.
7
+
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.
@@ -0,0 +1,20 @@
1
+ ---
2
+ description: Run the OpenLife Dream Organizer — surfaces ideas, pending stories, and prioritization from accumulated context
3
+ allowed-tools: Bash(openlife:*)
4
+ ---
5
+
6
+ Run `openlife dream` (the Dream Organizer) and present the output as a ranked list of next actions for the user.
7
+
8
+ The Dream Organizer reads:
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/`
13
+
14
+ Format the output as:
15
+
16
+ 1. **Top 3 priorities** — the highest-signal items with one-line justification
17
+ 2. **Deferred** — items the Dream Organizer parked
18
+ 3. **Open questions** — anything the user needs to decide before work can proceed
19
+
20
+ Don't make up items the command didn't return.
@@ -0,0 +1,14 @@
1
+ ---
2
+ description: Show OpenLife system status — installed profile, host, catalog counts, daemon state
3
+ allowed-tools: Bash(openlife:*)
4
+ ---
5
+
6
+ Run `openlife system status` and summarize the output for the user. Highlight:
7
+
8
+ - **Profile** in use (framework vs autonomous)
9
+ - **Host** target (claude-code / gemini-cli / codex)
10
+ - **Catalog counts** (agents, skills, squads, mcps)
11
+ - **Daemon state** if profile is autonomous
12
+ - Any **doctor warnings** that need attention
13
+
14
+ If the command fails, surface the exit code and stderr — don't hide the failure.
@@ -0,0 +1,46 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/claude-mcp.json",
3
+ "name": "openlife-orchestrator",
4
+ "description": "OpenLife orchestrator MCP — exposes the Brain, Gateway, IntentClassifier, and runtime catalogs (agents/skills/squads/mcps) to the host CLI. Lets Claude Code invoke OpenLife agents, run the Dream Organizer, query runtime state, and route work through the multi-LLM fallback chain without leaving the host.",
5
+ "command": "node",
6
+ "args": [
7
+ "${OPENLIFE_HOME}/bin/openlife-mcp.js"
8
+ ],
9
+ "env": {
10
+ "OPENLIFE_HOME": "${OPENLIFE_HOME}",
11
+ "OPENLIFE_STATE_DIR": "${OPENLIFE_STATE_DIR:-${PROJECT_DIR}/.openlife}",
12
+ "OPENLIFE_REASONING_MODE": "${OPENLIFE_REASONING_MODE:-errors}"
13
+ },
14
+ "transport": "stdio",
15
+ "tools": [
16
+ {
17
+ "name": "openlife_ask",
18
+ "description": "Run a free-form question through the OpenLife Brain (primary + fallback model chain)"
19
+ },
20
+ {
21
+ "name": "openlife_list_agents",
22
+ "description": "List runtime agents from .catalog/agents/"
23
+ },
24
+ {
25
+ "name": "openlife_list_skills",
26
+ "description": "List runtime skills from .catalog/skills/"
27
+ },
28
+ {
29
+ "name": "openlife_list_squads",
30
+ "description": "List runtime squads from .catalog/squads/"
31
+ },
32
+ {
33
+ "name": "openlife_doctor",
34
+ "description": "Run system health checks (API keys, model chain, catalogs, daemon)"
35
+ },
36
+ {
37
+ "name": "openlife_status",
38
+ "description": "Return profile, host, catalog counts, and daemon state"
39
+ },
40
+ {
41
+ "name": "openlife_dream",
42
+ "description": "Run the Dream Organizer over accumulated context"
43
+ }
44
+ ],
45
+ "_note": "This manifest is a TEMPLATE — the install step substitutes ${OPENLIFE_HOME} and ${PROJECT_DIR} at install time. The MCP server itself (`bin/openlife-mcp.js`) is not yet implemented; Story 3.3+ wires it up. Until then, this file is part of the distributed templates so install can lay it down even if the server is a stub."
46
+ }
@@ -0,0 +1,34 @@
1
+ # Skill Template Pack
2
+
3
+ Rendered by `SkillCreator.create()` to bootstrap a new skill under
4
+ `.catalog/skills/<id>/`.
5
+
6
+ ## File
7
+
8
+ | File | Rendered to |
9
+ |---|---|
10
+ | `SKILL.md.template` | `.catalog/skills/<id>/SKILL.md` |
11
+
12
+ ## Variables
13
+
14
+ | Variable | Example |
15
+ |---|---|
16
+ | `SKILL_ID` | `source-credibility-scoring` |
17
+ | `SKILL_NAME` | `Source Credibility Scoring` |
18
+ | `SOURCE` | `aiobuilder-built` \| `local` \| `lara-import` |
19
+ | `STATUS` | `active` \| `draft` |
20
+ | `VERSION` | `1.0.0` |
21
+ | `DESCRIPTION` | One-paragraph purpose |
22
+ | `WHEN_1..3` | Bullet trigger conditions |
23
+ | `STEP_1..4` | Numbered procedure steps |
24
+ | `INPUT_1..2`, `OUTPUT_1..2` | I/O bullets |
25
+ | `VALIDATION_1..2` | Quality checks |
26
+ | `GUARDRAIL_1..2` | Safety constraints |
27
+ | `EXAMPLES` | Free-form examples block |
28
+ | `REFERENCES` | Free-form references block |
29
+
30
+ ## Extension
31
+
32
+ Override `dist-templates/skill-template/SKILL.md.template` via
33
+ `.catalog/skill-template-overrides/SKILL.md.template` if the project
34
+ wants a different shape.
@@ -0,0 +1,59 @@
1
+ ---
2
+ id: {{SKILL_ID}}
3
+ name: {{SKILL_NAME}}
4
+ source: {{SOURCE}}
5
+ status: {{STATUS}}
6
+ version: {{VERSION}}
7
+ ---
8
+
9
+ # {{SKILL_NAME}}
10
+
11
+ <description>
12
+ {{DESCRIPTION}}
13
+ </description>
14
+
15
+ ## When to use
16
+
17
+ Use this skill when:
18
+
19
+ - {{WHEN_1}}
20
+ - {{WHEN_2}}
21
+ - {{WHEN_3}}
22
+
23
+ ## Procedure
24
+
25
+ 1. {{STEP_1}}
26
+ 2. {{STEP_2}}
27
+ 3. {{STEP_3}}
28
+ 4. {{STEP_4}}
29
+
30
+ ## Inputs
31
+
32
+ - {{INPUT_1}}
33
+ - {{INPUT_2}}
34
+
35
+ ## Outputs
36
+
37
+ - {{OUTPUT_1}}
38
+ - {{OUTPUT_2}}
39
+
40
+ ## Validation
41
+
42
+ - {{VALIDATION_1}}
43
+ - {{VALIDATION_2}}
44
+
45
+ ## Guardrails
46
+
47
+ - {{GUARDRAIL_1}}
48
+ - {{GUARDRAIL_2}}
49
+
50
+ ## Examples
51
+
52
+ {{EXAMPLES}}
53
+
54
+ ## References
55
+
56
+ {{REFERENCES}}
57
+
58
+ ---
59
+ *Generated by OpenLife SkillCreator. Source: `dist-templates/skill-template/`.*
@@ -0,0 +1,82 @@
1
+ # Squad Template Pack
2
+
3
+ These templates are rendered by `SquadCreator.create()` to bootstrap a new
4
+ squad under `.catalog/squads/<id>/`. The renderer is a minimalist substitution
5
+ engine — every `{{VAR}}` is replaced verbatim with the supplied value, no
6
+ escaping or conditionals (use the `TemplateRenderer` utility for richer
7
+ patterns).
8
+
9
+ ## Files
10
+
11
+ | File | Purpose | Rendered to |
12
+ |---|---|---|
13
+ | `SQUAD.md.template` | Root squad index — frontmatter + agents table + embedded squad.yaml | `.catalog/squads/<id>/SQUAD.md` |
14
+ | `agent-template.md` | One agent persona stub | `.catalog/squads/<id>/agents/<agent>.md` (per agent) |
15
+ | `task-template.md` | One task definition stub | `.catalog/squads/<id>/tasks/<task>.md` (per task) |
16
+ | `checklist-template.md` | Quality gate checklist | `.catalog/squads/<id>/checklists/<checklist>.md` |
17
+
18
+ ## Variables
19
+
20
+ ### `SQUAD.md.template`
21
+
22
+ | Variable | Example | Notes |
23
+ |---|---|---|
24
+ | `SQUAD_ID` | `01-meta-framework-deep-research` | Slug, kebab-case |
25
+ | `SQUAD_NAME` | `deep-research-squad` | Human-friendly id |
26
+ | `SOURCE` | `aiobuilder-built` \| `lara-squads-import` \| `local` | Provenance tag |
27
+ | `STATUS` | `active` \| `draft` \| `archived` | Lifecycle state |
28
+ | `DESCRIPTION` | One-line description | |
29
+ | `VERSION` | `1.0.0` | semver |
30
+ | `SHORT_TITLE` | `Deep Research Squad` | UI display |
31
+ | `AUTHOR` | `OpenLife` \| operator name | |
32
+ | `LICENSE` | `MIT` | |
33
+ | `SLASH_PREFIX` | `deep-research` | CLI namespace |
34
+ | `TAGS_LIST` | YAML list lines, e.g. ` - research\n - synthesis` | Indented for YAML |
35
+ | `AGENTS_TABLE` | Markdown table body | One row per agent |
36
+ | `COMPONENT_AGENTS` | YAML list of agent file names | Pre-indented |
37
+ | `COMPONENT_TASKS` | YAML list | |
38
+ | `COMPONENT_WORKFLOWS` | YAML list | |
39
+ | `COMPONENT_CHECKLISTS` | YAML list | |
40
+
41
+ ### `agent-template.md`
42
+
43
+ | Variable | Example |
44
+ |---|---|
45
+ | `AGENT_ID` | `research-lead` |
46
+ | `AGENT_NAME` | `Research Lead` |
47
+ | `AGENT_ROLE` | `Lead coordinator` |
48
+ | `AGENT_TITLE` | `Senior Research Lead` |
49
+ | `ICON` | `🔬` |
50
+ | `WHEN_TO_USE` | `"when starting a deep-research workflow"` |
51
+ | `ROLE`, `STYLE`, `IDENTITY`, `FOCUS` | Persona fields |
52
+ | `PRINCIPLE_1..3` | Core principles |
53
+ | `COMMAND_1`, `COMMAND_1_DESC` | First custom command |
54
+ | `CAPABILITIES_LIST` | Markdown bullet list |
55
+
56
+ ### `task-template.md`
57
+
58
+ | Variable | Example |
59
+ |---|---|
60
+ | `TASK_NAME` | `decompose-question` |
61
+ | `OWNER_AGENT` | `query-strategist` |
62
+ | `PURPOSE` | One-paragraph purpose |
63
+ | `INPUT_1`, `INPUT_2` | Bullet inputs |
64
+ | `OUTPUT_1`, `OUTPUT_2` | Bullet outputs |
65
+ | `STEP_1..3` | Numbered steps |
66
+ | `VALIDATION_1..2` | Bullet validators |
67
+ | `NOTES` | Free-form notes |
68
+
69
+ ### `checklist-template.md`
70
+
71
+ | Variable | Example |
72
+ |---|---|
73
+ | `CHECKLIST_NAME` | `quality-gate` |
74
+ | `PURPOSE` | One-paragraph purpose |
75
+ | `ITEM_1..5` | Checklist line items |
76
+
77
+ ## Extension contract
78
+
79
+ Operators may copy any template to `.catalog/squad-template-overrides/` to
80
+ override the default. SquadCreator looks at the override path first.
81
+ v1.2 ships only the four templates above; expand in v1.3 with the full
82
+ 8-file Capability Pack (workflow, policies, tests, etc.).
@@ -0,0 +1,51 @@
1
+ ---
2
+ id: {{SQUAD_ID}}
3
+ name: {{SQUAD_NAME}}
4
+ source: {{SOURCE}}
5
+ status: {{STATUS}}
6
+ ---
7
+
8
+ # {{SQUAD_NAME}}
9
+
10
+ > {{DESCRIPTION}}
11
+
12
+ ## 🤖 Agentes
13
+
14
+ | Agente | Papel |
15
+ |---|---|
16
+ {{AGENTS_TABLE}}
17
+
18
+ ## 📁 squad.yaml
19
+
20
+ ```yaml
21
+ name: {{SQUAD_NAME}}
22
+ version: "{{VERSION}}"
23
+ short-title: "{{SHORT_TITLE}}"
24
+ description: "{{DESCRIPTION}}"
25
+ author: "{{AUTHOR}}"
26
+ license: {{LICENSE}}
27
+ slashPrefix: "{{SLASH_PREFIX}}"
28
+
29
+ openlife:
30
+ minVersion: "1.0.0"
31
+ type: squad
32
+
33
+ tags:
34
+ {{TAGS_LIST}}
35
+
36
+ components:
37
+ agents:
38
+ {{COMPONENT_AGENTS}}
39
+ tasks:
40
+ {{COMPONENT_TASKS}}
41
+ workflows:
42
+ {{COMPONENT_WORKFLOWS}}
43
+ checklists:
44
+ {{COMPONENT_CHECKLISTS}}
45
+
46
+ config:
47
+ extends: extend
48
+ ```
49
+
50
+ ---
51
+ *Created by OpenLife SquadCreator. Source: `dist-templates/squad-template/`.*
@@ -0,0 +1,51 @@
1
+ # {{AGENT_NAME}}
2
+
3
+ > Agent definition for {{SQUAD_NAME}} squad
4
+ > Role: {{AGENT_ROLE}}
5
+
6
+ ## Description
7
+
8
+ {{DESCRIPTION}}
9
+
10
+ ## Configuration
11
+
12
+ ```yaml
13
+ agent:
14
+ id: {{AGENT_ID}}
15
+ name: {{AGENT_NAME}}
16
+ title: "{{AGENT_TITLE}}"
17
+ icon: "{{ICON}}"
18
+ whenToUse: "{{WHEN_TO_USE}}"
19
+
20
+ persona:
21
+ role: "{{ROLE}}"
22
+ style: "{{STYLE}}"
23
+ identity: "{{IDENTITY}}"
24
+ focus: "{{FOCUS}}"
25
+
26
+ core_principles:
27
+ - "{{PRINCIPLE_1}}"
28
+ - "{{PRINCIPLE_2}}"
29
+ - "{{PRINCIPLE_3}}"
30
+
31
+ commands:
32
+ - name: help
33
+ visibility: [full, quick, key]
34
+ description: "Show all available commands"
35
+ - name: {{COMMAND_1}}
36
+ visibility: [full, quick]
37
+ description: "{{COMMAND_1_DESC}}"
38
+ ```
39
+
40
+ ## Capabilities
41
+
42
+ {{CAPABILITIES_LIST}}
43
+
44
+ ## Guardrails
45
+
46
+ - Respect tool permissions from squad's policies.yaml
47
+ - Emit audit events for all destructive actions
48
+ - Defer to human approval for actions outside autonomy budget
49
+
50
+ ---
51
+ *Generated by OpenLife SquadCreator.*
@@ -0,0 +1,25 @@
1
+ # {{CHECKLIST_NAME}}
2
+
3
+ > Quality gate checklist for {{SQUAD_NAME}}
4
+
5
+ ## Purpose
6
+
7
+ {{PURPOSE}}
8
+
9
+ ## Checklist Items
10
+
11
+ - [ ] {{ITEM_1}}
12
+ - [ ] {{ITEM_2}}
13
+ - [ ] {{ITEM_3}}
14
+ - [ ] {{ITEM_4}}
15
+ - [ ] {{ITEM_5}}
16
+
17
+ ## Verdict Mapping
18
+
19
+ - All items checked → PASS
20
+ - 1-2 items unchecked → CONCERNS (annotate)
21
+ - 3+ unchecked → FAIL (return for fixes)
22
+ - Out-of-scope items → WAIVED (with justification)
23
+
24
+ ---
25
+ *Generated by OpenLife SquadCreator.*