monomind 1.16.6 → 1.16.8
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/package.json +3 -1
- package/packages/@monomind/cli/.claude/agents/architecture/system-design/arch-system-design.md +54 -0
- package/packages/@monomind/cli/.claude/agents/consensus/crdt-synchronizer.md +977 -0
- package/packages/@monomind/cli/.claude/agents/consensus/quorum-manager.md +803 -0
- package/packages/@monomind/cli/.claude/agents/consensus/security-manager.md +602 -0
- package/packages/@monomind/cli/.claude/agents/core/coder.md +262 -0
- package/packages/@monomind/cli/.claude/agents/core/coordinator.md +71 -0
- package/packages/@monomind/cli/.claude/agents/core/planner.md +170 -0
- package/packages/@monomind/cli/.claude/agents/core/researcher.md +192 -0
- package/packages/@monomind/cli/.claude/agents/core/reviewer.md +327 -0
- package/packages/@monomind/cli/.claude/agents/core/tester.md +318 -0
- package/packages/@monomind/cli/.claude/agents/design/design-monodesign.md +121 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +212 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-ai-engineer.md +165 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +108 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-backend-architect.md +254 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-code-reviewer.md +95 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-data-engineer.md +307 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-database-optimizer.md +200 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-devops-automator.md +430 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +174 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-feishu-integration-developer.md +607 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-frontend-developer.md +249 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-git-workflow-master.md +108 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-incident-response-commander.md +482 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-mobile-app-builder.md +499 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-rapid-prototyper.md +463 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-security-engineer.md +303 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-senior-developer.md +195 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-software-architect.md +100 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +528 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-sre.md +114 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-technical-writer.md +412 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-threat-detection-engineer.md +540 -0
- package/packages/@monomind/cli/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +351 -0
- package/packages/@monomind/cli/.claude/agents/generated/case-analyst.md +50 -0
- package/packages/@monomind/cli/.claude/agents/generated/channel-intelligence-director.md +87 -0
- package/packages/@monomind/cli/.claude/agents/generated/chief-growth-officer.md +88 -0
- package/packages/@monomind/cli/.claude/agents/generated/churn-analyst.md +53 -0
- package/packages/@monomind/cli/.claude/agents/generated/code-reviewer.md +55 -0
- package/packages/@monomind/cli/.claude/agents/generated/code-validator.md +57 -0
- package/packages/@monomind/cli/.claude/agents/generated/complexity-scanner.md +56 -0
- package/packages/@monomind/cli/.claude/agents/generated/content-seo-strategist.md +90 -0
- package/packages/@monomind/cli/.claude/agents/generated/copy-editor.md +45 -0
- package/packages/@monomind/cli/.claude/agents/generated/court-reporter.md +50 -0
- package/packages/@monomind/cli/.claude/agents/generated/defender.md +51 -0
- package/packages/@monomind/cli/.claude/agents/generated/devbot-orchestrator.md +58 -0
- package/packages/@monomind/cli/.claude/agents/generated/devbot-planner.md +63 -0
- package/packages/@monomind/cli/.claude/agents/generated/developer-community-strategist.md +91 -0
- package/packages/@monomind/cli/.claude/agents/generated/editor-in-chief.md +45 -0
- package/packages/@monomind/cli/.claude/agents/generated/fact-checker.md +45 -0
- package/packages/@monomind/cli/.claude/agents/generated/impact-assessor.md +54 -0
- package/packages/@monomind/cli/.claude/agents/generated/judge.md +51 -0
- package/packages/@monomind/cli/.claude/agents/generated/outreach-partnership-strategist.md +90 -0
- package/packages/@monomind/cli/.claude/agents/generated/prosecutor.md +51 -0
- package/packages/@monomind/cli/.claude/agents/generated/reporter.md +45 -0
- package/packages/@monomind/cli/.claude/agents/generated/social-media-strategist.md +91 -0
- package/packages/@monomind/cli/.claude/agents/generated/video-visual-strategist.md +90 -0
- package/packages/@monomind/cli/.claude/agents/github/code-review-swarm.md +557 -0
- package/packages/@monomind/cli/.claude/agents/github/github-modes.md +154 -0
- package/packages/@monomind/cli/.claude/agents/github/issue-tracker.md +299 -0
- package/packages/@monomind/cli/.claude/agents/github/multi-repo-swarm.md +525 -0
- package/packages/@monomind/cli/.claude/agents/github/pr-manager.md +163 -0
- package/packages/@monomind/cli/.claude/agents/github/project-board-sync.md +478 -0
- package/packages/@monomind/cli/.claude/agents/github/release-manager.md +296 -0
- package/packages/@monomind/cli/.claude/agents/github/repo-architect.md +359 -0
- package/packages/@monomind/cli/.claude/agents/github/swarm-issue.md +548 -0
- package/packages/@monomind/cli/.claude/agents/github/swarm-pr.md +427 -0
- package/packages/@monomind/cli/.claude/agents/github/sync-coordinator.md +355 -0
- package/packages/@monomind/cli/.claude/agents/github/workflow-automation.md +640 -0
- package/packages/@monomind/cli/.claude/agents/goal/goal-planner.md +168 -0
- package/packages/@monomind/cli/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -0
- package/packages/@monomind/cli/.claude/agents/hive-mind/queen-coordinator.md +202 -0
- package/packages/@monomind/cli/.claude/agents/hive-mind/scout-explorer.md +241 -0
- package/packages/@monomind/cli/.claude/agents/hive-mind/swarm-memory-manager.md +192 -0
- package/packages/@monomind/cli/.claude/agents/hive-mind/worker-specialist.md +216 -0
- package/packages/@monomind/cli/.claude/agents/marketing/marketing-competitive-content.md +155 -0
- package/packages/@monomind/cli/.claude/agents/marketing/marketing-cro-specialist.md +147 -0
- package/packages/@monomind/cli/.claude/agents/marketing/marketing-email-specialist.md +90 -0
- package/packages/@monomind/cli/.claude/agents/marketing/marketing-launch-strategist.md +129 -0
- package/packages/@monomind/cli/.claude/agents/marketing/marketing-pricing-strategist.md +127 -0
- package/packages/@monomind/cli/.claude/agents/optimization/benchmark-suite.md +665 -0
- package/packages/@monomind/cli/.claude/agents/optimization/load-balancer.md +431 -0
- package/packages/@monomind/cli/.claude/agents/optimization/performance-monitor.md +672 -0
- package/packages/@monomind/cli/.claude/agents/optimization/resource-allocator.md +674 -0
- package/packages/@monomind/cli/.claude/agents/optimization/topology-optimizer.md +808 -0
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/boss.md +113 -0
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/critic-architect.md +132 -0
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/git-manager.md +145 -0
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/idea-generator.md +95 -0
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/implementer.md +112 -0
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/integration-planner.md +112 -0
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/source-analyst.md +103 -0
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/target-analyst.md +118 -0
- package/packages/@monomind/cli/.claude/agents/reengineer-squad/tester.md +105 -0
- package/packages/@monomind/cli/.claude/agents/schemas/architecture-output.json +43 -0
- package/packages/@monomind/cli/.claude/agents/schemas/code-review-output.json +28 -0
- package/packages/@monomind/cli/.claude/agents/schemas/generic-task-input.json +12 -0
- package/packages/@monomind/cli/.claude/agents/schemas/implementation-output.json +18 -0
- package/packages/@monomind/cli/.claude/agents/schemas/research-output.json +31 -0
- package/packages/@monomind/cli/.claude/agents/schemas/security-audit-output.json +29 -0
- package/packages/@monomind/cli/.claude/agents/schemas/test-report-output.json +29 -0
- package/packages/@monomind/cli/.claude/agents/sparc/architecture.md +453 -0
- package/packages/@monomind/cli/.claude/agents/sparc/pseudocode.md +299 -0
- package/packages/@monomind/cli/.claude/agents/sparc/refinement.md +504 -0
- package/packages/@monomind/cli/.claude/agents/sparc/specification.md +258 -0
- package/packages/@monomind/cli/.claude/agents/specialists/integration-architect.md +94 -0
- package/packages/@monomind/cli/.claude/agents/specialized/agentic-identity-trust.md +388 -0
- package/packages/@monomind/cli/.claude/agents/specialized/agents-orchestrator.md +368 -0
- package/packages/@monomind/cli/.claude/agents/specialized/automation-governance-architect.md +217 -0
- package/packages/@monomind/cli/.claude/agents/specialized/blockchain-security-auditor.md +497 -0
- package/packages/@monomind/cli/.claude/agents/specialized/compliance-auditor.md +159 -0
- package/packages/@monomind/cli/.claude/agents/specialized/identity-graph-operator.md +261 -0
- package/packages/@monomind/cli/.claude/agents/specialized/lsp-index-engineer.md +315 -0
- package/packages/@monomind/cli/.claude/agents/specialized/mobile/spec-mobile-react-native.md +89 -0
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +89 -0
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-developer-advocate.md +318 -0
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-document-generator.md +56 -0
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-mcp-builder.md +64 -0
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-model-qa.md +489 -0
- package/packages/@monomind/cli/.claude/agents/specialized/specialized-workflow-architect.md +598 -0
- package/packages/@monomind/cli/.claude/agents/specialized/zk-steward.md +212 -0
- package/packages/@monomind/cli/.claude/agents/swarm/mesh-coordinator.md +363 -0
- package/packages/@monomind/cli/.claude/agents/templates/automation-smart-agent.md +185 -0
- package/packages/@monomind/cli/.claude/agents/templates/coordinator-swarm-init.md +83 -0
- package/packages/@monomind/cli/.claude/agents/templates/implementer-sparc-coder.md +231 -0
- package/packages/@monomind/cli/.claude/agents/testing/production-validator.md +374 -0
- package/packages/@monomind/cli/.claude/agents/testing/tdd-london-swarm.md +241 -0
- package/packages/@monomind/cli/.claude/agents/testing/testing-accessibility-auditor.md +322 -0
- package/packages/@monomind/cli/.claude/agents/testing/testing-api-tester.md +307 -0
- package/packages/@monomind/cli/.claude/agents/testing/testing-evidence-collector.md +211 -0
- package/packages/@monomind/cli/.claude/agents/testing/testing-performance-benchmarker.md +269 -0
- package/packages/@monomind/cli/.claude/agents/testing/testing-test-results-analyzer.md +306 -0
- package/packages/@monomind/cli/.claude/agents/testing/testing-tool-evaluator.md +395 -0
- package/packages/@monomind/cli/.claude/agents/testing/testing-workflow-optimizer.md +451 -0
- package/packages/@monomind/cli/.claude/commands/agents/README.md +14 -0
- package/packages/@monomind/cli/.claude/commands/agents/agent-capabilities.md +25 -0
- package/packages/@monomind/cli/.claude/commands/agents/agent-coordination.md +32 -0
- package/packages/@monomind/cli/.claude/commands/agents/agent-spawning.md +32 -0
- package/packages/@monomind/cli/.claude/commands/agents/agent-types.md +30 -0
- package/packages/@monomind/cli/.claude/commands/analysis/README.md +18 -0
- package/packages/@monomind/cli/.claude/commands/analysis/bottleneck-detect.md +69 -0
- package/packages/@monomind/cli/.claude/commands/analysis/performance-bottlenecks.md +59 -0
- package/packages/@monomind/cli/.claude/commands/analysis/performance-report.md +52 -0
- package/packages/@monomind/cli/.claude/commands/analysis/token-usage.md +47 -0
- package/packages/@monomind/cli/.claude/commands/automation/README.md +19 -0
- package/packages/@monomind/cli/.claude/commands/automation/auto-agent.md +86 -0
- package/packages/@monomind/cli/.claude/commands/automation/self-healing.md +108 -0
- package/packages/@monomind/cli/.claude/commands/automation/session-memory.md +89 -0
- package/packages/@monomind/cli/.claude/commands/automation/smart-agents.md +81 -0
- package/packages/@monomind/cli/.claude/commands/automation/smart-spawn.md +66 -0
- package/packages/@monomind/cli/.claude/commands/automation/workflow-select.md +60 -0
- package/packages/@monomind/cli/.claude/commands/coordination/README.md +13 -0
- package/packages/@monomind/cli/.claude/commands/coordination/agent-spawn.md +69 -0
- package/packages/@monomind/cli/.claude/commands/coordination/swarm-init.md +82 -0
- package/packages/@monomind/cli/.claude/commands/coordination/task-orchestrate.md +79 -0
- package/packages/@monomind/cli/.claude/commands/github/README.md +24 -0
- package/packages/@monomind/cli/.claude/commands/github/github-modes.md +151 -0
- package/packages/@monomind/cli/.claude/commands/github/issue-tracker.md +293 -0
- package/packages/@monomind/cli/.claude/commands/github/pr-manager.md +173 -0
- package/packages/@monomind/cli/.claude/commands/github/release-manager.md +343 -0
- package/packages/@monomind/cli/.claude/commands/github/repo-architect.md +379 -0
- package/packages/@monomind/cli/.claude/commands/github/sync-coordinator.md +297 -0
- package/packages/@monomind/cli/.claude/commands/hive-mind/README.md +42 -0
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-consensus.md +72 -0
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-init.md +68 -0
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-memory.md +73 -0
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-spawn.md +82 -0
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-status.md +56 -0
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-stop.md +55 -0
- package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind.md +87 -0
- package/packages/@monomind/cli/.claude/commands/hooks/README.md +66 -0
- package/packages/@monomind/cli/.claude/commands/hooks/overview.md +117 -0
- package/packages/@monomind/cli/.claude/commands/hooks/post-edit.md +78 -0
- package/packages/@monomind/cli/.claude/commands/hooks/post-task.md +62 -0
- package/packages/@monomind/cli/.claude/commands/hooks/pre-edit.md +81 -0
- package/packages/@monomind/cli/.claude/commands/hooks/pre-task.md +76 -0
- package/packages/@monomind/cli/.claude/commands/hooks/session-end.md +82 -0
- package/packages/@monomind/cli/.claude/commands/hooks/setup.md +132 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/_repeat.md +472 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/_taskfile.md +235 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/adr.md +11 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/approve.md +94 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/architect.md +55 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/autodev.md +32 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/brain.md +102 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/budget.md +7 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/build.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/code-review.md +317 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/content.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/createorg.md +139 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/createtask.md +383 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/debug.md +22 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/design.md +20 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/do.md +528 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/execute.md +20 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/finance.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/finish.md +20 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/graph-status.md +7 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/help.md +118 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/idea.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/ideate.md +261 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/improve.md +345 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/loops.md +7 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/marketing.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/master.md +1070 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/memory.md +230 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/ops.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/orgs.md +21 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/orgstatus.md +59 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/plan.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/receive-review.md +20 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/release.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/repeat.md +257 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/research.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/review.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/runorg.md +156 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/sales.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/skill-builder.md +20 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/specialagents.md +125 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/stoporg.md +78 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/swarm.md +161 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/taskdev.md +26 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/tdd.md +22 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/techport.md +30 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/understand.md +139 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/verify.md +22 -0
- package/packages/@monomind/cli/.claude/commands/mastermind/worktree.md +20 -0
- package/packages/@monomind/cli/.claude/commands/mastermind.md +121 -0
- package/packages/@monomind/cli/.claude/commands/memory/README.md +79 -0
- package/packages/@monomind/cli/.claude/commands/memory/memory-search.md +77 -0
- package/packages/@monomind/cli/.claude/commands/monitoring/README.md +69 -0
- package/packages/@monomind/cli/.claude/commands/monitoring/agent-metrics.md +65 -0
- package/packages/@monomind/cli/.claude/commands/monitoring/agents.md +71 -0
- package/packages/@monomind/cli/.claude/commands/monitoring/status.md +108 -0
- package/packages/@monomind/cli/.claude/commands/monobrowse.md +21 -0
- package/packages/@monomind/cli/.claude/commands/monograph/README.md +102 -0
- package/packages/@monomind/cli/.claude/commands/monograph/monograph-build.md +79 -0
- package/packages/@monomind/cli/.claude/commands/monograph/monograph-search.md +96 -0
- package/packages/@monomind/cli/.claude/commands/monograph/monograph-stats.md +53 -0
- package/packages/@monomind/cli/.claude/commands/monograph/monograph-watch.md +63 -0
- package/packages/@monomind/cli/.claude/commands/monograph/monograph-wiki.md +91 -0
- package/packages/@monomind/cli/.claude/commands/optimization/auto-topology.md +85 -0
- package/packages/@monomind/cli/.claude/commands/optimization/performance-optimize.md +79 -0
- package/packages/@monomind/cli/.claude/commands/pair/README.md +79 -0
- package/packages/@monomind/cli/.claude/commands/pair/examples.md +156 -0
- package/packages/@monomind/cli/.claude/commands/pair/modes.md +122 -0
- package/packages/@monomind/cli/.claude/commands/pair/session.md +124 -0
- package/packages/@monomind/cli/.claude/commands/sparc/analyzer.md +35 -0
- package/packages/@monomind/cli/.claude/commands/sparc/architect.md +36 -0
- package/packages/@monomind/cli/.claude/commands/sparc/ask.md +56 -0
- package/packages/@monomind/cli/.claude/commands/sparc/batch-executor.md +37 -0
- package/packages/@monomind/cli/.claude/commands/sparc/code.md +48 -0
- package/packages/@monomind/cli/.claude/commands/sparc/coder.md +37 -0
- package/packages/@monomind/cli/.claude/commands/sparc/debug.md +42 -0
- package/packages/@monomind/cli/.claude/commands/sparc/debugger.md +37 -0
- package/packages/@monomind/cli/.claude/commands/sparc/designer.md +36 -0
- package/packages/@monomind/cli/.claude/commands/sparc/devops.md +68 -0
- package/packages/@monomind/cli/.claude/commands/sparc/docs-writer.md +39 -0
- package/packages/@monomind/cli/.claude/commands/sparc/documenter.md +37 -0
- package/packages/@monomind/cli/.claude/commands/sparc/innovator.md +37 -0
- package/packages/@monomind/cli/.claude/commands/sparc/integration.md +42 -0
- package/packages/@monomind/cli/.claude/commands/sparc/mcp.md +76 -0
- package/packages/@monomind/cli/.claude/commands/sparc/memory-manager.md +57 -0
- package/packages/@monomind/cli/.claude/commands/sparc/optimizer.md +37 -0
- package/packages/@monomind/cli/.claude/commands/sparc/orchestrator.md +70 -0
- package/packages/@monomind/cli/.claude/commands/sparc/post-deployment-monitoring-mode.md +42 -0
- package/packages/@monomind/cli/.claude/commands/sparc/refinement-optimization-mode.md +42 -0
- package/packages/@monomind/cli/.claude/commands/sparc/researcher.md +37 -0
- package/packages/@monomind/cli/.claude/commands/sparc/reviewer.md +37 -0
- package/packages/@monomind/cli/.claude/commands/sparc/security-review.md +39 -0
- package/packages/@monomind/cli/.claude/commands/sparc/sparc-modes.md +120 -0
- package/packages/@monomind/cli/.claude/commands/sparc/sparc.md +71 -0
- package/packages/@monomind/cli/.claude/commands/sparc/spec-pseudocode.md +39 -0
- package/packages/@monomind/cli/.claude/commands/sparc/supabase-admin.md +301 -0
- package/packages/@monomind/cli/.claude/commands/sparc/swarm-coordinator.md +50 -0
- package/packages/@monomind/cli/.claude/commands/sparc/tdd.md +37 -0
- package/packages/@monomind/cli/.claude/commands/sparc/tester.md +37 -0
- package/packages/@monomind/cli/.claude/commands/sparc/tutorial.md +38 -0
- package/packages/@monomind/cli/.claude/commands/sparc/workflow-manager.md +37 -0
- package/packages/@monomind/cli/.claude/commands/sparc.md +112 -0
- package/packages/@monomind/cli/.claude/commands/stream-chain/pipeline.md +116 -0
- package/packages/@monomind/cli/.claude/commands/stream-chain/run.md +156 -0
- package/packages/@monomind/cli/.claude/commands/swarm/README.md +40 -0
- package/packages/@monomind/cli/.claude/commands/swarm/analysis.md +73 -0
- package/packages/@monomind/cli/.claude/commands/swarm/development.md +72 -0
- package/packages/@monomind/cli/.claude/commands/swarm/examples.md +103 -0
- package/packages/@monomind/cli/.claude/commands/swarm/maintenance.md +75 -0
- package/packages/@monomind/cli/.claude/commands/swarm/optimization.md +84 -0
- package/packages/@monomind/cli/.claude/commands/swarm/research.md +76 -0
- package/packages/@monomind/cli/.claude/commands/swarm/swarm.md +79 -0
- package/packages/@monomind/cli/.claude/commands/swarm/testing.md +80 -0
- package/packages/@monomind/cli/.claude/commands/tokens.md +18 -0
- package/packages/@monomind/cli/.claude/commands/truth/start.md +121 -0
- package/packages/@monomind/cli/.claude/commands/ts.md +14 -0
- package/packages/@monomind/cli/.claude/commands/workflows/README.md +65 -0
- package/packages/@monomind/cli/.claude/commands/workflows/development.md +86 -0
- package/packages/@monomind/cli/.claude/commands/workflows/research.md +89 -0
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-create.md +84 -0
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-execute.md +103 -0
- package/packages/@monomind/cli/.claude/commands/workflows/workflow-export.md +90 -0
- package/packages/@monomind/cli/.claude/helpers/auto-memory-hook.mjs +413 -0
- package/packages/@monomind/cli/.claude/helpers/control-start.cjs +155 -0
- package/packages/@monomind/cli/.claude/helpers/event-logger.cjs +155 -0
- package/packages/@monomind/cli/.claude/helpers/extras-registry.json +5141 -0
- package/packages/@monomind/cli/.claude/helpers/graphify-freshen.cjs +115 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/adr-draft-handler.cjs +78 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/agent-start-handler.cjs +108 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/budget-status-handler.cjs +14 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/capture-handler.cjs +473 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/compact-handler.cjs +35 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/edit-handler.cjs +145 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/gates-handler.cjs +138 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/graph-status-handler.cjs +45 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/loops-status-handler.cjs +48 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/route-handler.cjs +457 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/session-handler.cjs +174 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/session-restore-handler.cjs +370 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/stats-handler.cjs +14 -0
- package/packages/@monomind/cli/.claude/helpers/handlers/task-handler.cjs +341 -0
- package/packages/@monomind/cli/.claude/helpers/hook-handler.cjs +400 -0
- package/packages/@monomind/cli/.claude/helpers/intelligence.cjs +164 -0
- package/packages/@monomind/cli/.claude/helpers/learning-service.mjs +60 -0
- package/packages/@monomind/cli/.claude/helpers/loop-tracker.cjs +119 -0
- package/packages/@monomind/cli/.claude/helpers/memory-palace.cjs +461 -0
- package/packages/@monomind/cli/.claude/helpers/memory.cjs +193 -0
- package/packages/@monomind/cli/.claude/helpers/metrics-db.mjs +87 -0
- package/packages/@monomind/cli/.claude/helpers/monolean-activate.cjs +20 -0
- package/packages/@monomind/cli/.claude/helpers/monolean-config.cjs +76 -0
- package/packages/@monomind/cli/.claude/helpers/monolean-instructions.cjs +109 -0
- package/packages/@monomind/cli/.claude/helpers/monolean-propagate.cjs +9 -0
- package/packages/@monomind/cli/.claude/helpers/monolean-tracker.cjs +18 -0
- package/packages/@monomind/cli/.claude/helpers/router.cjs +326 -0
- package/packages/@monomind/cli/.claude/helpers/session.cjs +140 -0
- package/packages/@monomind/cli/.claude/helpers/skill-registry.json +1043 -0
- package/packages/@monomind/cli/.claude/helpers/statusline.cjs +1350 -0
- package/packages/@monomind/cli/.claude/helpers/toggle-statusline.cjs +73 -0
- package/packages/@monomind/cli/.claude/helpers/token-tracker.cjs +934 -0
- package/packages/@monomind/cli/.claude/helpers/utils/micro-agents.cjs +354 -0
- package/packages/@monomind/cli/.claude/helpers/utils/monograph.cjs +386 -0
- package/packages/@monomind/cli/.claude/helpers/utils/telemetry.cjs +146 -0
- package/packages/@monomind/cli/.claude/skills/agent-browser-testing/SKILL.md +964 -0
- package/packages/@monomind/cli/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
- package/packages/@monomind/cli/.claude/skills/github-issue-triage/SKILL.md +354 -0
- package/packages/@monomind/cli/.claude/skills/github-repo-recap/SKILL.md +207 -0
- package/packages/@monomind/cli/.claude/skills/hive-mind-advanced/SKILL.md +709 -0
- package/packages/@monomind/cli/.claude/skills/hooks-automation/SKILL.md +1193 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/_agent-select.md +132 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/_delegation.md +83 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/_intake.md +83 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/_protocol.md +404 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/_repeat.md +144 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/access.md +236 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/activity.md +191 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/adapter-manager.md +259 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/adapters.md +204 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/agent-detail.md +242 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/agents.md +178 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/approval-detail.md +259 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/approve.md +188 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/architect.md +863 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/autodev.md +536 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/backup.md +197 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/bootstrap.md +190 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/budgets.md +237 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/build.md +170 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/code-quality-reviewer-prompt.md +60 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/companies.md +256 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/content.md +197 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/costs.md +151 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/createorg.md +853 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/debug.md +232 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/design.md +189 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/diagnose.md +249 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/env.md +198 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/environments.md +250 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/execute.md +104 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/export.md +333 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/finance.md +166 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/finish.md +251 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/goal-detail.md +255 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/goals.md +149 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/heartbeat.md +164 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/idea.md +1142 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/implementer-prompt.md +109 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/import.md +281 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/inbox.md +214 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/instance-settings.md +315 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/instance.md +233 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/invite-landing.md +227 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/invites.md +254 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/issue-detail.md +291 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/issues.md +235 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/join-queue.md +170 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/liveness.md +392 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/marketing.md +228 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/memory.md +321 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/monitor.md +1284 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/monotask.md +350 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/my-issues.md +146 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/new-agent.md +241 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/ops.md +168 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/org-chart.md +209 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/org-settings.md +254 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/orgs.md +98 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/orgstatus.md +194 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/plan-to-tasks.md +136 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/plan.md +198 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/plugin-manager.md +241 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/plugin-settings.md +273 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/plugins.md +190 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/profile.md +187 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/project-detail.md +249 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/project-workspace.md +244 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/projects.md +164 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/receive-review.md +213 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/references/copywriting-frameworks.md +181 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/references/persuasion-psychology.md +158 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/release.md +168 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/research.md +168 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/review.md +219 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/routine-detail.md +253 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/routines.md +203 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/runorg.md +684 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/sales.md +170 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/search.md +186 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/secrets.md +199 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/skill-builder.md +274 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/skills.md +156 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/spec-reviewer-prompt.md +63 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/stoporg.md +138 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/taskdev.md +307 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/tasks.md +149 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/tdd.md +394 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/techport.md +743 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/threads.md +259 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/tree-control.md +250 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/verify.md +196 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/wiki.md +314 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/workspace-detail.md +317 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/workspaces.md +261 -0
- package/packages/@monomind/cli/.claude/skills/mastermind/worktree.md +215 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/SKILL.md +333 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/adapt.md +53 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/agents/monodesign-asset-producer.md +100 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/animate.md +65 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/audit.md +89 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/bolder.md +50 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/clarify.md +64 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/colorize.md +68 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/craft.md +51 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/critique.md +66 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/delight.md +47 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/distill.md +56 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/document.md +80 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/extract.md +74 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/harden.md +65 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/live.md +59 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/onboard.md +50 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/optimize.md +64 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/overdrive.md +56 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/polish.md +68 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/quieter.md +57 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/adapt.md +190 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/animate.md +175 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/antipatterns-catalog.md +359 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/audit.md +133 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/bolder.md +113 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/brand-workflow.md +180 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/brand.md +114 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/clarify.md +174 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/codex.md +107 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/cognitive-load.md +106 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/color-and-contrast.md +105 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/colorize.md +154 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-specs.md +260 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-states.md +274 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-system.md +358 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/copy-formulas.md +160 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/craft.md +196 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/critique.md +213 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/delight.md +302 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/design-principles.md +246 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/distill.md +111 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/document.md +427 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/extract.md +69 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/harden.md +347 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/heuristics-scoring.md +234 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/hooks.md +99 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/image-prompts.md +130 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/interaction-design.md +195 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/layout.md +141 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/live.md +622 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/motion-design.md +109 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/onboard.md +234 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/optimize.md +258 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/overdrive.md +130 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/personas.md +179 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/polish.md +233 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/pre-delivery-checklist.md +108 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/product.md +62 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/quieter.md +99 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/responsive-design.md +114 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/shape.md +151 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/spatial-design.md +100 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/teach.md +156 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/token-architecture.md +222 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/typeset.md +124 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/typography.md +159 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-research.md +143 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-rules.md +211 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-writing.md +107 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/shape.md +71 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/teach.md +69 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/typeset.md +59 -0
- package/packages/@monomind/cli/.claude/skills/monolean/SKILL.md +118 -0
- package/packages/@monomind/cli/.claude/skills/monolean-audit/SKILL.md +41 -0
- package/packages/@monomind/cli/.claude/skills/monolean-debt/SKILL.md +46 -0
- package/packages/@monomind/cli/.claude/skills/monolean-help/SKILL.md +60 -0
- package/packages/@monomind/cli/.claude/skills/monolean-review/SKILL.md +57 -0
- package/packages/@monomind/cli/.claude/skills/monomind/browse-agentcore.md +115 -0
- package/packages/@monomind/cli/.claude/skills/monomind/browse-electron.md +188 -0
- package/packages/@monomind/cli/.claude/skills/monomind/browse-qa.md +228 -0
- package/packages/@monomind/cli/.claude/skills/monomind/browse-references/authentication.md +161 -0
- package/packages/@monomind/cli/.claude/skills/monomind/browse-references/trust-boundaries.md +40 -0
- package/packages/@monomind/cli/.claude/skills/monomind/browse-references/video-recording.md +83 -0
- package/packages/@monomind/cli/.claude/skills/monomind/browse-slack.md +188 -0
- package/packages/@monomind/cli/.claude/skills/monomind/browse-vercel.md +239 -0
- package/packages/@monomind/cli/.claude/skills/monomind/browse.md +724 -0
- package/packages/@monomind/cli/.claude/skills/monomotion/SKILL.md +145 -0
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/api-control.md +139 -0
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/effects.md +109 -0
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/integration.md +140 -0
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/scroll.md +131 -0
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/sequencing.md +105 -0
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/svg.md +101 -0
- package/packages/@monomind/cli/.claude/skills/monomotion/rules/text.md +119 -0
- package/packages/@monomind/cli/.claude/skills/pair-programming/SKILL.md +1202 -0
- package/packages/@monomind/cli/.claude/skills/performance-analysis/SKILL.md +560 -0
- package/packages/@monomind/cli/.claude/skills/skill-builder/SKILL.md +910 -0
- package/packages/@monomind/cli/.claude/skills/sparc-methodology/SKILL.md +950 -0
- package/packages/@monomind/cli/.claude/skills/specialagent/SKILL.md +208 -0
- package/packages/@monomind/cli/.claude/skills/stop-slop/SKILL.md +67 -0
- package/packages/@monomind/cli/.claude/skills/stop-slop/references/examples.md +61 -0
- package/packages/@monomind/cli/.claude/skills/stop-slop/references/phrases.md +130 -0
- package/packages/@monomind/cli/.claude/skills/stop-slop/references/structures.md +136 -0
- package/packages/@monomind/cli/.claude/skills/swarm-advanced/SKILL.md +937 -0
- package/packages/@monomind/cli/.claude/skills/swarm-orchestration/SKILL.md +179 -0
- package/packages/@monomind/cli/.claude/skills/verification-quality/SKILL.md +674 -0
- package/packages/@monomind/cli/dist/src/browser/action-builder/analyzer.js +6 -13
- package/packages/@monomind/cli/dist/src/commands/browse-action.js +3 -2
- package/packages/@monomind/cli/dist/src/commands/doctor.js +17 -2
- package/packages/@monomind/cli/dist/src/commands/index.js +2 -0
- package/packages/@monomind/cli/dist/src/commands/sync.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/commands/sync.js +100 -0
- package/packages/@monomind/cli/dist/src/init/executor.js +22 -0
- package/packages/@monomind/cli/dist/src/init/statusline-generator.js +45 -0
- package/packages/@monomind/cli/dist/src/sync/checker.d.ts +12 -0
- package/packages/@monomind/cli/dist/src/sync/checker.js +26 -0
- package/packages/@monomind/cli/package.json +2 -2
|
@@ -0,0 +1,684 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mastermind-runorg
|
|
3
|
+
description: Mastermind runorg — load a saved org definition and start it as a persistent autonomous agent organization. The boss agent coordinates all roles, agents pick up tasks from a shared board, and the org runs until stopped.
|
|
4
|
+
type: domain-skill
|
|
5
|
+
default_mode: auto
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Mastermind Run Org
|
|
9
|
+
|
|
10
|
+
This skill is invoked by `mastermind:runorg` or directly via `/mastermind:runorg`.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
- `brain_context`: BRAIN CONTEXT block (injected by command, or loaded below if standalone)
|
|
17
|
+
- `org_name`: name of the org to run (matches a file at `.monomind/orgs/<org_name>.json`)
|
|
18
|
+
- `session_id`: session ID generated by the command
|
|
19
|
+
- `task`: optional override task/goal for this run (if omitted, uses org's stored goal)
|
|
20
|
+
- `caller`: command | master (controls whether brain load/write runs here)
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Step 0 — Brain Load (standalone only)
|
|
25
|
+
|
|
26
|
+
If `caller` is not "command", load brain context following _protocol.md Brain Load Procedure with namespace: `ops`.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Step 1 — Load Org Config
|
|
31
|
+
|
|
32
|
+
Read `.monomind/orgs/<org_name>.json`. If the file does not exist:
|
|
33
|
+
```bash
|
|
34
|
+
orgs=$(ls .monomind/orgs/*.json 2>/dev/null | grep -vE -- '-approvals|-state|-activity|-goals|-routines|-projects|-members|-issues|-workspaces|-worktrees|-environments|-plugins|-adapters|-bootstrap|-threads|-budgets|-project-workspaces|-approval-comments' | xargs -I{} basename {} .json)
|
|
35
|
+
if [ -z "$orgs" ]; then
|
|
36
|
+
echo "No saved orgs found. Run /mastermind:createorg to define one."
|
|
37
|
+
else
|
|
38
|
+
echo "Available orgs: $orgs"
|
|
39
|
+
fi
|
|
40
|
+
```
|
|
41
|
+
Return `status: blocked` with message: "Org '<org_name>' not found. Run /mastermind:createorg to define it."
|
|
42
|
+
|
|
43
|
+
Validate the config has at minimum: `name`, `goal`, `roles` (non-empty array). The `communication` field is optional; fall back to `edges` if absent (both have the same schema: `from`, `to`, `type`).
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Step 1.5 — Detect Scheduled Org
|
|
48
|
+
|
|
49
|
+
After loading the org config, check whether this is a scheduled (loop) org:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
orgFile=".monomind/orgs/${org_name}.json"
|
|
53
|
+
has_schedule=$(jq -r 'if .loop.poll_interval_minutes then "yes" else "no" end' "$orgFile")
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If `has_schedule == "yes"`, this is a **scheduled org**. Follow the **Scheduled Org Path** below (Steps 1.6 onward) instead of the standard Steps 2–8.
|
|
57
|
+
|
|
58
|
+
If `has_schedule == "no"`, skip to **Step 2** (standard persistent daemon path).
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Step 1.6 — Scheduled Org Path
|
|
63
|
+
|
|
64
|
+
This section handles orgs created with `--schedule`. The loop is owned by the org — it starts with `runorg`, runs each iteration via the loop prompt file, and stops with `stoporg`.
|
|
65
|
+
|
|
66
|
+
### 1.6.1 — Guard against double-activation, then set status to "active"
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
orgFile=".monomind/orgs/${org_name}.json"
|
|
70
|
+
current_loop_status=$(jq -r '.status // "stopped"' "$orgFile")
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
If `current_loop_status == "active"`:
|
|
74
|
+
- Print:
|
|
75
|
+
```
|
|
76
|
+
WARNING: Org '<org_name>' is already active. Starting a second instance would create parallel loop chains.
|
|
77
|
+
To restart cleanly: run /mastermind:stoporg --org <org_name> first, then /mastermind:runorg --org <org_name>.
|
|
78
|
+
To force restart anyway, set status to "stopped" in .monomind/orgs/<org_name>.json and re-run.
|
|
79
|
+
```
|
|
80
|
+
- Return `status: blocked`. **STOP — do not proceed.**
|
|
81
|
+
|
|
82
|
+
If `current_loop_status == "paused"`:
|
|
83
|
+
- Print: "Org '<org_name>' was paused. Reactivating..."
|
|
84
|
+
- Proceed (set to "active" below).
|
|
85
|
+
|
|
86
|
+
For all other statuses (stopped, or absent):
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
tmp="${orgFile}.tmp"
|
|
90
|
+
jq '.status = "active"' "$orgFile" > "$tmp" && mv "$tmp" "$orgFile"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 1.6.2 — Derive scheduled-org variables
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
orgName=$(jq -r '.name' "$orgFile")
|
|
97
|
+
goal="${task:-$(jq -r '.goal' "$orgFile")}"
|
|
98
|
+
sessionId="$session_id"
|
|
99
|
+
poll_interval_minutes=$(jq -r '.loop.poll_interval_minutes' "$orgFile")
|
|
100
|
+
poll_interval_seconds=$(( poll_interval_minutes * 60 ))
|
|
101
|
+
run_prompt_file=$(jq -r '.loop.run_prompt_file' "$orgFile")
|
|
102
|
+
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
|
|
103
|
+
CTRL_URL=$(jq -r '.url // "http://localhost:4242"' "$REPO_ROOT/.monomind/control.json" 2>/dev/null || echo "http://localhost:4242")
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 1.6.3 — Emit org:start event
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" \
|
|
110
|
+
-H "Content-Type: application/json" \
|
|
111
|
+
-d "$(jq -cn \
|
|
112
|
+
--arg session "$sessionId" \
|
|
113
|
+
--arg org "$orgName" \
|
|
114
|
+
--arg goal "$goal" \
|
|
115
|
+
--arg proj "$REPO_ROOT" \
|
|
116
|
+
--argjson ci "${CHECKPOINT_INTERVAL_MS:-600000}" \
|
|
117
|
+
'{type:"org:start",session:$session,org:$org,goal:$goal,project:$proj,checkpointInterval:$ci,ts:(now*1000|floor)}')" || true
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 1.6.4 — Execute first iteration inline
|
|
121
|
+
|
|
122
|
+
Read the loop prompt file and execute its instructions directly (this IS the first iteration):
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
[ ! -f "$run_prompt_file" ] && {
|
|
126
|
+
echo "ERROR: Loop prompt file '${run_prompt_file}' not found."
|
|
127
|
+
echo "Re-run: /mastermind:createorg --name ${orgName} --schedule \"every ${poll_interval_minutes} minutes\" to regenerate it."
|
|
128
|
+
exit 1
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Execute the steps described in `$run_prompt_file` — the file contains the full iteration instructions for this org. Follow them exactly, starting from Step 0 (status gate) through the org-specific work steps.
|
|
133
|
+
|
|
134
|
+
Since this is the first run and status was just set to "active", Step 0 will pass. The org-specific iteration steps run normally.
|
|
135
|
+
|
|
136
|
+
### 1.6.5 — Schedule next iteration via ScheduleWakeup
|
|
137
|
+
|
|
138
|
+
After the iteration completes, re-check status and schedule the next wakeup:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
LOOP_STATUS=$(jq -r '.status // "stopped"' "$orgFile" 2>/dev/null || echo "stopped")
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
If `LOOP_STATUS == "active"` or `LOOP_STATUS == "paused"`:
|
|
145
|
+
|
|
146
|
+
1. Read the loop prompt:
|
|
147
|
+
```bash
|
|
148
|
+
LOOP_PROMPT=$(cat "$run_prompt_file")
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
2. Emit `org:stop` to signal this iteration is pausing:
|
|
152
|
+
```bash
|
|
153
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" \
|
|
154
|
+
-H "Content-Type: application/json" \
|
|
155
|
+
-d "$(jq -cn \
|
|
156
|
+
--arg org "$orgName" \
|
|
157
|
+
--arg runId "run-$(date -u +%Y%m%dT%H%M%S)" \
|
|
158
|
+
'{type:"org:stop",org:$org,runId:$runId,ts:(now*1000|floor),reason:"scheduled-iteration-complete"}')" || true
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
3. Call `ScheduleWakeup` with:
|
|
162
|
+
- `delaySeconds`: `$poll_interval_seconds`
|
|
163
|
+
- `reason`: `"<orgName>: next scheduled poll (every <poll_interval_minutes> min)"`
|
|
164
|
+
- `prompt`: full contents of `$LOOP_PROMPT`
|
|
165
|
+
|
|
166
|
+
4. Update `next_run` in org JSON:
|
|
167
|
+
```bash
|
|
168
|
+
next_ts=$(( $(date +%s) + poll_interval_seconds ))
|
|
169
|
+
next_iso=$(date -u -r "$next_ts" +%Y-%m-%dT%H:%M:%SZ 2>/dev/null \
|
|
170
|
+
|| date -u -d "@$next_ts" +%Y-%m-%dT%H:%M:%SZ 2>/dev/null \
|
|
171
|
+
|| python3 -c "import datetime; print(datetime.datetime.utcfromtimestamp($next_ts).strftime('%Y-%m-%dT%H:%M:%SZ'))")
|
|
172
|
+
tmp="${orgFile}.tmp"
|
|
173
|
+
jq --arg next "$next_iso" '.loop.next_run = $next' "$orgFile" > "$tmp" && mv "$tmp" "$orgFile"
|
|
174
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" \
|
|
175
|
+
-H "Content-Type: application/json" \
|
|
176
|
+
-d "$(jq -cn --arg org "$orgName" --arg next "$next_iso" --arg proj "$REPO_ROOT" \
|
|
177
|
+
'{type:"org:loop:scheduled",org:$org,next_run:$next,project:$proj,ts:(now*1000|floor)}')" || true
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
If `LOOP_STATUS` is anything else → print "Org was stopped during this run — loop will not continue." No ScheduleWakeup.
|
|
181
|
+
|
|
182
|
+
### 1.6.6 — Report to user
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
╔══════════════════════════════════════════════════════════╗
|
|
186
|
+
║ ORG STARTED: <orgName> ║
|
|
187
|
+
║ GOAL: <goal> ║
|
|
188
|
+
║ MODE: scheduled loop ║
|
|
189
|
+
╚══════════════════════════════════════════════════════════╝
|
|
190
|
+
|
|
191
|
+
SCHEDULE
|
|
192
|
+
────────
|
|
193
|
+
Interval: every <poll_interval_minutes> minutes
|
|
194
|
+
Status: active
|
|
195
|
+
Next run: <next_iso (or "see .monomind/orgs/<orgName>.json")>
|
|
196
|
+
|
|
197
|
+
To stop: /mastermind:stoporg --org <orgName>
|
|
198
|
+
Status: /mastermind:orgstatus --org <orgName>
|
|
199
|
+
All orgs: /mastermind:orgs
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### 1.6.7 — Return (skip Steps 2–8)
|
|
203
|
+
|
|
204
|
+
```yaml
|
|
205
|
+
domain: ops
|
|
206
|
+
status: complete
|
|
207
|
+
decisions:
|
|
208
|
+
- what: "Scheduled org <orgName> activated, first iteration complete, next wakeup in <poll_interval_minutes> min"
|
|
209
|
+
why: "Loop started by runorg; ScheduleWakeup queued"
|
|
210
|
+
confidence: 0.9
|
|
211
|
+
outcome: pending
|
|
212
|
+
next_actions:
|
|
213
|
+
- "Stop: /mastermind:stoporg --org <orgName>"
|
|
214
|
+
- "Status: /mastermind:orgstatus --org <orgName>"
|
|
215
|
+
run_id: "<runId>"
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**STOP HERE** — do not execute Steps 2–8 for scheduled orgs.
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Step 2 — Derive Variables
|
|
223
|
+
|
|
224
|
+
Before spawning any agents, derive all variables from the loaded config. These are used in Steps 3 and 4.
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
orgConfig = parsed JSON from .monomind/orgs/<org_name>.json
|
|
228
|
+
orgName = orgConfig.name
|
|
229
|
+
goal = task (if provided) or orgConfig.goal
|
|
230
|
+
sessionId = provided session_id input
|
|
231
|
+
stopFile = `.monomind/orgs/.stops/${orgName}.stop`
|
|
232
|
+
memNs = `org:${orgName}`
|
|
233
|
+
topology = orgConfig.topology
|
|
234
|
+
checkpointMin = orgConfig.run_config?.checkpoint_interval_min ?? 30
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Find the boss role — use filter to detect ambiguity before dereferencing:
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
rootRoles = orgConfig.roles.filter(r => r.reports_to === null || r.reports_to === undefined)
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Abort with `status: blocked` if `rootRoles.length === 0` — message: "Org '<orgName>' has no root role; exactly one role must have reports_to: null."
|
|
244
|
+
|
|
245
|
+
Abort with `status: blocked` if `rootRoles.length > 1` — message: "Org '<orgName>' has multiple root roles; exactly one must have reports_to: null."
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
bossRole = rootRoles[0]
|
|
249
|
+
bossRole_id = bossRole.id
|
|
250
|
+
bossRole_title = bossRole.title
|
|
251
|
+
bossRole_agent_type = bossRole.agent_type
|
|
252
|
+
directReports = orgConfig.roles.filter(r => r.reports_to === bossRole.id)
|
|
253
|
+
runId = new Date().toISOString()
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Also validate that every role has non-empty `id`, `title`, `agent_type`, and `responsibilities` (array). Abort with `status: blocked` listing any malformed role — do this before Step 3 initializes infrastructure.
|
|
257
|
+
|
|
258
|
+
After the conceptual derivations above, **run the ENTIRE Step 2 + Step 3 setup as a SINGLE Bash tool call** so all variables persist through infrastructure creation. Copy the full script below into one Bash call — do NOT split it across multiple calls:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# ── STEP 2+3 COMBINED (must run as one Bash call — variables must persist) ──
|
|
262
|
+
orgFile=".monomind/orgs/${org_name}.json"
|
|
263
|
+
orgName=$(jq -r '.name' "$orgFile")
|
|
264
|
+
goal="${task:-$(jq -r '.goal' "$orgFile")}"
|
|
265
|
+
sessionId="$session_id"
|
|
266
|
+
stopFile=".monomind/orgs/.stops/${orgName}.stop"
|
|
267
|
+
memNs="org:${orgName}"
|
|
268
|
+
topology=$(jq -r '.topology' "$orgFile")
|
|
269
|
+
checkpointMin=$(jq -r '.run_config.checkpoint_interval_min // 30' "$orgFile")
|
|
270
|
+
bossRole_id=$(jq -r '[(.roles // [])[] | select(.reports_to == null or .reports_to == "")][0].id' "$orgFile")
|
|
271
|
+
bossRole_title=$(jq -r '[(.roles // [])[] | select(.reports_to == null or .reports_to == "")][0].title' "$orgFile")
|
|
272
|
+
bossRole_agent_type=$(jq -r '[(.roles // [])[] | select(.reports_to == null or .reports_to == "")][0].agent_type' "$orgFile")
|
|
273
|
+
if [ -z "$bossRole_id" ] || [ "$bossRole_id" = "null" ]; then
|
|
274
|
+
echo "ERROR: Org '${org_name}' has no root role (reports_to: null). Check the org config."
|
|
275
|
+
exit 1
|
|
276
|
+
fi
|
|
277
|
+
board_id=$(jq -r '.board_id // empty' "$orgFile")
|
|
278
|
+
todo_col=$(jq -r '.todo_col_id // empty' "$orgFile")
|
|
279
|
+
doing_col=$(jq -r '.doing_col_id // empty' "$orgFile")
|
|
280
|
+
done_col=$(jq -r '.done_col_id // empty' "$orgFile")
|
|
281
|
+
runId="run-$(date -u +%Y%m%dT%H%M%S)"
|
|
282
|
+
|
|
283
|
+
# Validate board IDs (warning only — boss can still scan/fix code without a board)
|
|
284
|
+
[ -z "$board_id" ] && echo "WARN: board_id missing from org config — task board commands will be skipped by boss"
|
|
285
|
+
|
|
286
|
+
# Remove any stale stop file (MUST happen before boss spawns)
|
|
287
|
+
mkdir -p .monomind/orgs/.stops
|
|
288
|
+
rm -f "$stopFile"
|
|
289
|
+
|
|
290
|
+
# Initialize org state file
|
|
291
|
+
stateFile=".monomind/orgs/${orgName}-state.json"
|
|
292
|
+
if [ ! -f "$stateFile" ]; then
|
|
293
|
+
jq -n --arg org "$orgName" --arg runId "$runId" \
|
|
294
|
+
'{org:$org,run_id:$runId,started_at:(now|todate),agents:{}}' > "$stateFile"
|
|
295
|
+
else
|
|
296
|
+
tmp="${stateFile}.tmp"
|
|
297
|
+
jq --arg runId "$runId" '.run_id = $runId | .started_at = (now|todate)' \
|
|
298
|
+
"$stateFile" > "$tmp" && mv "$tmp" "$stateFile"
|
|
299
|
+
fi
|
|
300
|
+
|
|
301
|
+
# Resolve git-safe monomind directory
|
|
302
|
+
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
|
|
303
|
+
CTRL_URL=$(jq -r '.url // "http://localhost:4242"' "$REPO_ROOT/.monomind/control.json" 2>/dev/null || echo "http://localhost:4242")
|
|
304
|
+
GIT_COMMON=$(git rev-parse --git-common-dir 2>/dev/null || echo ".git")
|
|
305
|
+
if [[ "$GIT_COMMON" != /* ]]; then GIT_COMMON="$REPO_ROOT/$GIT_COMMON"; fi
|
|
306
|
+
GIT_COMMON="${GIT_COMMON%/}"
|
|
307
|
+
MONO_DIR="${GIT_COMMON}/monomind"
|
|
308
|
+
|
|
309
|
+
# Create run file and write run:start
|
|
310
|
+
runDir="${MONO_DIR}/orgs/${orgName}/runs"
|
|
311
|
+
mkdir -p "$runDir"
|
|
312
|
+
runFile="${runDir}/${runId}.jsonl"
|
|
313
|
+
jq -cn \
|
|
314
|
+
--arg runId "$runId" --arg org "$orgName" --arg goal "$goal" \
|
|
315
|
+
--arg bossRole "$bossRole_id" --arg proj "$REPO_ROOT" \
|
|
316
|
+
'{type:"run:start",runId:$runId,org:$org,orgName:$org,goal:$goal,bossRole:$bossRole,project:$proj,ts:(now*1000|floor)}' \
|
|
317
|
+
>> "$runFile"
|
|
318
|
+
|
|
319
|
+
# Emit session:start first — creates the chat tab session record and writes active-session.json
|
|
320
|
+
# so capture-handler can tag all subsequent agent:spawn / agent:complete events with this session
|
|
321
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" \
|
|
322
|
+
-H "Content-Type: application/json" \
|
|
323
|
+
-d "$(jq -cn \
|
|
324
|
+
--arg session "$sessionId" \
|
|
325
|
+
--arg org "$orgName" \
|
|
326
|
+
--arg prompt "$goal" \
|
|
327
|
+
'{type:"session:start",session:$session,org:$org,prompt:$prompt,ts:(now*1000|floor)}')" || true
|
|
328
|
+
|
|
329
|
+
# Emit org:start — must run here while CTRL_URL/runId/orgName are in scope
|
|
330
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" \
|
|
331
|
+
-H "Content-Type: application/json" \
|
|
332
|
+
-d "$(jq -cn \
|
|
333
|
+
--arg session "$sessionId" \
|
|
334
|
+
--arg org "$orgName" \
|
|
335
|
+
--arg runId "$runId" \
|
|
336
|
+
--arg goal "$goal" \
|
|
337
|
+
--arg proj "$REPO_ROOT" \
|
|
338
|
+
--argjson ci "${CHECKPOINT_INTERVAL_MS:-600000}" \
|
|
339
|
+
'{type:"org:start",session:$session,org:$org,runId:$runId,goal:$goal,project:$proj,checkpointInterval:$ci,ts:(now*1000|floor)}')" || true
|
|
340
|
+
|
|
341
|
+
# Print resolved values so Step 3 can embed them in the boss prompt
|
|
342
|
+
echo "ORG_VARS: orgName=${orgName} runId=${runId} sessionId=${sessionId} goal=${goal} bossRole_id=${bossRole_id} bossRole_title=${bossRole_title} bossRole_agent_type=${bossRole_agent_type} board_id=${board_id} todo_col=${todo_col} doing_col=${doing_col} done_col=${done_col} checkpointMin=${checkpointMin} memNs=${memNs} CTRL_URL=${CTRL_URL} MONO_DIR=${MONO_DIR} runFile=${runFile} REPO_ROOT=${REPO_ROOT}"
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
After running the script above, read the `ORG_VARS:` line from its output and hold those values for Step 3 (embed them into the boss prompt as literals — **do not re-run bash to look them up**).
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## Step 3 — Spawn Boss Agent
|
|
350
|
+
|
|
351
|
+
Using the literal values from the `ORG_VARS:` output (not shell variables — they don't persist), spawn the boss agent via Task tool:
|
|
352
|
+
|
|
353
|
+
```javascript
|
|
354
|
+
Task({
|
|
355
|
+
subagent_type: bossRole.agent_type,
|
|
356
|
+
description: `You are the ${bossRole.title} of org "${orgName}". You run persistently until stopped.`,
|
|
357
|
+
run_in_background: true,
|
|
358
|
+
prompt: `You are the ${bossRole.title} of the autonomous organization "${orgName}".
|
|
359
|
+
|
|
360
|
+
ORG GOAL: ${goal}
|
|
361
|
+
|
|
362
|
+
YOUR ROLE: ${bossRole.title}
|
|
363
|
+
YOUR RESPONSIBILITIES: ${bossRole.responsibilities.join('; ')}
|
|
364
|
+
|
|
365
|
+
YOUR TEAM (direct reports):
|
|
366
|
+
${directReports.map(r => `• ${r.title} (subagent_type="${r.agent_type}") — ${r.responsibilities.join(', ')}`).join('\n')}
|
|
367
|
+
|
|
368
|
+
FULL COMMUNICATION TOPOLOGY:
|
|
369
|
+
${(orgConfig.communication || orgConfig.edges || []).map(e => `${e.from} → ${e.to} (${e.type})`).join('\n')}
|
|
370
|
+
|
|
371
|
+
SHARED INFRASTRUCTURE:
|
|
372
|
+
- Task board (monotask): board_id=<board_id>
|
|
373
|
+
Columns: Todo=<todo_col> Doing=<doing_col> Done=<done_col>
|
|
374
|
+
- Memory namespace: <memNs> (use: npx monomind@latest memory store/search --namespace <memNs>)
|
|
375
|
+
- Dashboard events: POST to mastermind control server via curl — see CTRL_URL resolution in DASHBOARD EVENTS section below
|
|
376
|
+
- Session ID for all events: ${sessionId}
|
|
377
|
+
|
|
378
|
+
TASK BOARD COMMANDS (use these for all task management):
|
|
379
|
+
# List all unclaimed Todo cards for a specific role (server-side filters — fast):
|
|
380
|
+
monotask card list ${board_id} --col ${todo_col} --label "role:<role_id>" --json
|
|
381
|
+
|
|
382
|
+
# List all unclaimed Todo cards (any role):
|
|
383
|
+
monotask card list ${board_id} --col ${todo_col} --json | jq '[.[] | select(.labels | index("claimed") | not)]'
|
|
384
|
+
|
|
385
|
+
# List all in-progress cards:
|
|
386
|
+
monotask card list ${board_id} --col ${doing_col} --json
|
|
387
|
+
|
|
388
|
+
# List all cards for a role across all columns:
|
|
389
|
+
monotask card list ${board_id} --label "role:<role_id>" --json
|
|
390
|
+
|
|
391
|
+
# Create a new task in Todo (tagged for a specific role):
|
|
392
|
+
CARD_ID=$(monotask card create ${board_id} ${todo_col} "Task title" --json | jq -r .id)
|
|
393
|
+
monotask card label add ${board_id} $CARD_ID "role:<role_id>"
|
|
394
|
+
|
|
395
|
+
# Break task into subtasks:
|
|
396
|
+
monotask card subtask add ${board_id} $CARD_ID ${board_id} ${todo_col} "Subtask title" --json
|
|
397
|
+
|
|
398
|
+
# Mark a task as blocked by a prerequisite (won't claim until prereq is Done):
|
|
399
|
+
monotask card prerequisite add ${board_id} $BLOCKED_ID ${board_id} $PREREQ_ID
|
|
400
|
+
|
|
401
|
+
# Claim a task (move to Doing + mark claimed):
|
|
402
|
+
monotask card move ${board_id} $CARD_ID ${doing_col}
|
|
403
|
+
monotask card label add ${board_id} $CARD_ID "claimed"
|
|
404
|
+
|
|
405
|
+
# Complete a task:
|
|
406
|
+
monotask card move ${board_id} $CARD_ID ${done_col}
|
|
407
|
+
|
|
408
|
+
ORG STATE FILE (update per agent per cycle for dashboard visibility):
|
|
409
|
+
stateFile=".monomind/orgs/${orgName}-state.json"
|
|
410
|
+
# Mark agent as running:
|
|
411
|
+
jq --arg id "<role_id>" --arg ts "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
|
|
412
|
+
'.agents[$id].status = "running" | .agents[$id].last_heartbeat = $ts' \
|
|
413
|
+
"$stateFile" > "${stateFile}.tmp" && mv "${stateFile}.tmp" "$stateFile"
|
|
414
|
+
# Mark agent as idle after completing:
|
|
415
|
+
jq --arg id "<role_id>" \
|
|
416
|
+
'.agents[$id].status = "idle" | .agents[$id].last_heartbeat_complete = (now|todate)' \
|
|
417
|
+
"$stateFile" > "${stateFile}.tmp" && mv "${stateFile}.tmp" "$stateFile"
|
|
418
|
+
# Add token counts when known:
|
|
419
|
+
jq --arg id "<role_id>" --argjson in <tokens_in> --argjson out <tokens_out> \
|
|
420
|
+
'.agents[$id].tokens_in = ((.agents[$id].tokens_in // 0) + $in) | .agents[$id].tokens_out = ((.agents[$id].tokens_out // 0) + $out)' \
|
|
421
|
+
"$stateFile" > "${stateFile}.tmp" && mv "${stateFile}.tmp" "$stateFile"
|
|
422
|
+
|
|
423
|
+
APPROVAL GATE (when governance.policy is "board" or "strict"):
|
|
424
|
+
Before any external action (sending emails, posting content, making purchases, modifying infrastructure):
|
|
425
|
+
approvalsFile=".monomind/orgs/${orgName}-approvals.json"
|
|
426
|
+
[ ! -f "$approvalsFile" ] && echo '{"approvals":[]}' > "$approvalsFile"
|
|
427
|
+
approval_id="req-$(date +%s)-$$-$RANDOM"
|
|
428
|
+
jq --arg id "$approval_id" --arg agent "<role_id>" --arg title "<action summary>" \
|
|
429
|
+
--arg action "<full action description>" --arg risk "medium" \
|
|
430
|
+
'.approvals += [{"id":$id,"agent_id":$agent,"title":$title,"action":$action,"risk_level":$risk,"status":"pending","requested_at":(now|todate)}]' \
|
|
431
|
+
"$approvalsFile" > "${approvalsFile}.tmp" && mv "${approvalsFile}.tmp" "$approvalsFile"
|
|
432
|
+
# Emit approval request event so human sees it in dashboard
|
|
433
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" -H "Content-Type: application/json" \
|
|
434
|
+
-d "$(jq -cn --arg org "${orgName}" --arg id "$approval_id" --arg title "<title>" \
|
|
435
|
+
'{type:"org:approval:requested",org:$org,approval_id:$id,title:$title,ts:(now*1000|floor)}')" || true
|
|
436
|
+
# Poll until approved or rejected (max 30 min).
|
|
437
|
+
# Check the approvals file first (updated by both dashboard UI and /mastermind:approve command),
|
|
438
|
+
# then fall back to memory in case an external notifier wrote there.
|
|
439
|
+
for i in $(seq 1 60); do
|
|
440
|
+
status=$(jq -r --arg id "$approval_id" '(.approvals // [])[] | select(.id == $id) | .status // ""' "$approvalsFile" 2>/dev/null || echo "")
|
|
441
|
+
if [ -z "$status" ] || [ "$status" = "pending" ]; then
|
|
442
|
+
mem_status=$(npx monomind@latest memory get --key "approval:${approval_id}" --namespace "${memNs}" 2>/dev/null | jq -r '.status // ""' 2>/dev/null)
|
|
443
|
+
[ -n "$mem_status" ] && status="$mem_status"
|
|
444
|
+
fi
|
|
445
|
+
[ "$status" = "approved" ] && break
|
|
446
|
+
[ "$status" = "rejected" ] && { echo "Action rejected by governance policy — skip this action"; break; }
|
|
447
|
+
sleep 30
|
|
448
|
+
done
|
|
449
|
+
|
|
450
|
+
DASHBOARD EVENT HELPER — resolve once at startup, reuse in every step:
|
|
451
|
+
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
|
|
452
|
+
CTRL_URL=$(jq -r '.url // "http://localhost:4242"' "$REPO_ROOT/.monomind/control.json" 2>/dev/null || echo "http://localhost:4242")
|
|
453
|
+
# Git-safe monomind dir — shared across all worktrees, survives branch switches:
|
|
454
|
+
GIT_COMMON=$(git rev-parse --git-common-dir 2>/dev/null || echo ".git")
|
|
455
|
+
# Resolve to absolute path (git returns relative ".git" for main checkout)
|
|
456
|
+
if [[ "$GIT_COMMON" != /* ]]; then GIT_COMMON="$REPO_ROOT/$GIT_COMMON"; fi
|
|
457
|
+
GIT_COMMON="${GIT_COMMON%/}" # strip trailing slash if any
|
|
458
|
+
MONO_DIR="${GIT_COMMON}/monomind"
|
|
459
|
+
runFile="${MONO_DIR}/orgs/${orgName}/runs/${runId}.jsonl"
|
|
460
|
+
|
|
461
|
+
⚠️ DASHBOARD EVENTS ARE MANDATORY — run every curl below exactly as written.
|
|
462
|
+
Do NOT skip, defer, or summarize. These keep the human-visible dashboard current.
|
|
463
|
+
Use Bash tool for all curl calls. Never use WebFetch (it doesn't support POST).
|
|
464
|
+
EVERY event MUST include runId:"${runId}" and org:"${orgName}" so the server routes it to the run file.
|
|
465
|
+
|
|
466
|
+
STOP DETECTION (check this FIRST in every loop iteration):
|
|
467
|
+
[ -f "${stopFile}" ] && echo STOP_REQUESTED
|
|
468
|
+
If the file exists: write run:complete to run file, emit org:complete via curl, then "rm -f ${stopFile}", then exit.
|
|
469
|
+
# REQUIRED — write run:complete directly to run file:
|
|
470
|
+
jq -cn --arg runId "${runId}" --arg org "${orgName}" \
|
|
471
|
+
'{type:"run:complete",runId:$runId,org:$org,status:"stopped",ts:(now*1000|floor)}' >> "${runFile}" || true
|
|
472
|
+
# REQUIRED — emit org:complete via curl (includes runId so it also gets appended):
|
|
473
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" -H "Content-Type: application/json" \
|
|
474
|
+
-d "$(jq -cn --arg s "${sessionId}" --arg o "${orgName}" --arg rid "${runId}" --arg p "$REPO_ROOT" \
|
|
475
|
+
'{type:"org:complete",session:$s,org:$o,runId:$rid,project:$p,ts:(now*1000|floor)}')" || true
|
|
476
|
+
|
|
477
|
+
OPERATING LOOP:
|
|
478
|
+
1. Check for stop signal (above). Exit with run:complete + org:complete events if found.
|
|
479
|
+
|
|
480
|
+
2. List unclaimed Todo cards:
|
|
481
|
+
monotask card list ${board_id} --col ${todo_col} --json | jq '[.[] | select(.labels | index("claimed") | not)]'
|
|
482
|
+
|
|
483
|
+
3. For each unclaimed Todo card, assign to the appropriate role based on its "role:<id>" label.
|
|
484
|
+
Skip cards whose prerequisites are not yet in the Done column.
|
|
485
|
+
|
|
486
|
+
4. For EACH role agent you are about to spawn — do these steps in order:
|
|
487
|
+
a) Move card to Doing and mark claimed:
|
|
488
|
+
monotask card move ${board_id} $CARD_ID ${doing_col}
|
|
489
|
+
monotask card label add ${board_id} $CARD_ID "claimed"
|
|
490
|
+
b) REQUIRED — emit org:comms to dashboard (include runId):
|
|
491
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" -H "Content-Type: application/json" \
|
|
492
|
+
-d "$(jq -cn --arg s "${sessionId}" --arg o "${orgName}" --arg rid "${runId}" --arg p "$REPO_ROOT" \
|
|
493
|
+
--arg role "<role_id>" --arg task "<card title>" \
|
|
494
|
+
'{type:"org:comms",session:$s,org:$o,runId:$rid,from:"boss",to:$role,msg:("Assigning: "+$task),project:$p,ts:(now*1000|floor)}')" || true
|
|
495
|
+
c) REQUIRED — emit org:agent:online before spawning (include runId):
|
|
496
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" -H "Content-Type: application/json" \
|
|
497
|
+
-d "$(jq -cn --arg s "${sessionId}" --arg o "${orgName}" --arg rid "${runId}" --arg p "$REPO_ROOT" \
|
|
498
|
+
--arg role "<role_id>" --arg title "<role title>" --arg at "<agent_type>" \
|
|
499
|
+
'{type:"org:agent:online",session:$s,org:$o,runId:$rid,role:$role,title:$title,agent_type:$at,project:$p,ts:(now*1000|floor)}')" || true
|
|
500
|
+
d) Spawn the agent via Task tool (run_in_background: true) with:
|
|
501
|
+
- Full role briefing (title, responsibilities, who they report to, memory namespace)
|
|
502
|
+
- The specific card title and card_id to work on
|
|
503
|
+
- Report output via: npx monomind@latest memory store --key "${memNs}:report:<card_id>" --namespace "${memNs}"
|
|
504
|
+
- When complete, move card to Done: monotask card move ${board_id} $CARD_ID ${done_col}
|
|
505
|
+
- REQUIRED: Include the following DASHBOARD EVENTS block verbatim in every specialist prompt so
|
|
506
|
+
they can emit their own events to the dashboard:
|
|
507
|
+
|
|
508
|
+
DASHBOARD EVENTS — emit these at the start and end of your work (REQUIRED):
|
|
509
|
+
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
|
|
510
|
+
CTRL_URL=$(jq -r '.url // "http://localhost:4242"' "$REPO_ROOT/.monomind/control.json" 2>/dev/null || echo "http://localhost:4242")
|
|
511
|
+
GIT_COMMON=$(git rev-parse --git-common-dir 2>/dev/null || echo ".git")
|
|
512
|
+
if [[ "$GIT_COMMON" != /* ]]; then GIT_COMMON="$REPO_ROOT/$GIT_COMMON"; fi
|
|
513
|
+
GIT_COMMON="${GIT_COMMON%/}"
|
|
514
|
+
MONO_DIR="${GIT_COMMON}/monomind"
|
|
515
|
+
runFile="${MONO_DIR}/orgs/${orgName}/runs/${runId}.jsonl"
|
|
516
|
+
# On start — announce you are working:
|
|
517
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" -H "Content-Type: application/json" \
|
|
518
|
+
-d "$(jq -cn --arg s "${sessionId}" --arg o "${orgName}" --arg rid "${runId}" \
|
|
519
|
+
--arg from "<role_id>" --arg msg "Starting: <card title>" \
|
|
520
|
+
'{type:"org:comms",session:$s,org:$o,runId:$rid,from:$from,to:"boss",msg:$msg,ts:(now*1000|floor)}')" || true
|
|
521
|
+
# On completion — report back:
|
|
522
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" -H "Content-Type: application/json" \
|
|
523
|
+
-d "$(jq -cn --arg s "${sessionId}" --arg o "${orgName}" --arg rid "${runId}" \
|
|
524
|
+
--arg from "<role_id>" --arg msg "Completed: <one-sentence summary of output>" \
|
|
525
|
+
'{type:"org:comms",session:$s,org:$o,runId:$rid,from:$from,to:"boss",msg:$msg,ts:(now*1000|floor)}')" || true
|
|
526
|
+
# When your task is fully complete — signal offline:
|
|
527
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" -H "Content-Type: application/json" \
|
|
528
|
+
-d "$(jq -cn --arg s "${sessionId}" --arg o "${orgName}" --arg rid "${runId}" \
|
|
529
|
+
--arg from "<role_id>" \
|
|
530
|
+
'{type:"org:agent:offline",session:$s,org:$o,runId:$rid,from:$from,ts:(now*1000|floor)}')" || true
|
|
531
|
+
# TOKEN TRACKING — estimate and persist token usage to state.json for the Budgets dashboard:
|
|
532
|
+
# Count approximate output tokens from your work (1 word ≈ 1.3 tokens):
|
|
533
|
+
_tok_out=$(echo -n "<paste a representative sample of your final output here>" | wc -w)
|
|
534
|
+
_tok_out=$(( _tok_out * 13 / 10 ))
|
|
535
|
+
_tok_in=8000 # fixed estimate for task context
|
|
536
|
+
stateFile="$REPO_ROOT/.monomind/orgs/${orgName}-state.json"
|
|
537
|
+
[ -f "$stateFile" ] && jq --arg id "<role_id>" --argjson in $_tok_in --argjson out $_tok_out \
|
|
538
|
+
'.agents[$id].tokens_in = ((.agents[$id].tokens_in // 0) + $in) | .agents[$id].tokens_out = ((.agents[$id].tokens_out // 0) + $out)' \
|
|
539
|
+
"$stateFile" > "${stateFile}.tmp" && mv "${stateFile}.tmp" "$stateFile" || true
|
|
540
|
+
|
|
541
|
+
Fill in the literal values for orgName="${orgName}", runId="${runId}", sessionId="${sessionId}" — embed them
|
|
542
|
+
directly in the prompt string so the specialist doesn't need to resolve them.
|
|
543
|
+
For token tracking: set _tok_out to the actual word count of your output text (use wc -w on your
|
|
544
|
+
output), and replace <role_id> with the literal role id string.
|
|
545
|
+
|
|
546
|
+
5. Collect completed results from memory (search "${memNs}:report:")
|
|
547
|
+
|
|
548
|
+
6. Synthesize reports, make decisions, create new cards in Todo column based on progress toward goal.
|
|
549
|
+
REQUIRED — after each decision, emit org:comms (include runId):
|
|
550
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" -H "Content-Type: application/json" \
|
|
551
|
+
-d "$(jq -cn --arg s "${sessionId}" --arg o "${orgName}" --arg rid "${runId}" --arg p "$REPO_ROOT" \
|
|
552
|
+
--arg msg "<one-sentence summary of decision or finding>" \
|
|
553
|
+
'{type:"org:comms",session:$s,org:$o,runId:$rid,from:"boss",to:"all",msg:$msg,project:$p,ts:(now*1000|floor)}')" || true
|
|
554
|
+
|
|
555
|
+
7. Write cycle-complete entry (directly to run file AND to activity log):
|
|
556
|
+
pending_count=$(monotask card list ${board_id} --col ${todo_col} --json 2>/dev/null | jq '[.[] | select(.labels | index("claimed") | not)] | length' 2>/dev/null || echo 0)
|
|
557
|
+
jq -cn --arg runId "${runId}" --arg org "${orgName}" --argjson pend "${pending_count:-0}" \
|
|
558
|
+
'{type:"run:cycle:complete",runId:$runId,org:$org,pending:$pend,ts:(now*1000|floor)}' >> "${runFile}" || true
|
|
559
|
+
activityFile=".monomind/orgs/${orgName}-activity.jsonl"
|
|
560
|
+
echo "{\"type\":\"run:cycle:complete\",\"org\":\"${orgName}\",\"runId\":\"${runId}\",\"ts\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\",\"pending\":${pending_count:-0}}" >> "$activityFile" 2>/dev/null || true
|
|
561
|
+
|
|
562
|
+
8. REQUIRED — emit org:checkpoint with a one-sentence progress summary (include runId):
|
|
563
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" -H "Content-Type: application/json" \
|
|
564
|
+
-d "$(jq -cn --arg s "${sessionId}" --arg o "${orgName}" --arg rid "${runId}" --arg p "$REPO_ROOT" \
|
|
565
|
+
--arg prog "<one sentence: what was done this cycle and what is next>" \
|
|
566
|
+
--argjson pend "${pending_count:-0}" \
|
|
567
|
+
'{type:"org:checkpoint",session:$s,org:$o,runId:$rid,progress:$prog,pending_tasks:$pend,project:$p,ts:(now*1000|floor)}')" || true
|
|
568
|
+
|
|
569
|
+
9. Wait ${checkpointMin} minutes, then loop back to step 1.
|
|
570
|
+
|
|
571
|
+
AGENT TYPES FOR YOUR TEAM:
|
|
572
|
+
${orgConfig.roles.filter(r => r.id !== bossRole.id).map(r =>
|
|
573
|
+
`• ${r.title}: subagent_type="${r.agent_type}"`
|
|
574
|
+
).join('\n')}
|
|
575
|
+
|
|
576
|
+
START NOW: resolve CTRL_URL, check for stop signal, assess the board, create initial tasks if none exist, then begin the operating loop.`
|
|
577
|
+
})
|
|
578
|
+
```
|
|
579
|
+
|
|
580
|
+
---
|
|
581
|
+
|
|
582
|
+
## Step 5 — Emit Boss Online Event
|
|
583
|
+
|
|
584
|
+
Emit `org:agent:online` for the boss role (team member events are emitted by the boss itself).
|
|
585
|
+
|
|
586
|
+
**IMPORTANT**: Shell variables do NOT persist across separate Bash tool calls. Read the `ORG_VARS:` line printed in Step 2+3 and substitute each literal value directly into the curl command before running it. Do NOT use `$variableName` syntax — replace each placeholder with its literal string from `ORG_VARS:`.
|
|
587
|
+
|
|
588
|
+
```bash
|
|
589
|
+
# Replace <CTRL_URL>, <sessionId>, <orgName>, <runId>, <bossRole_id>, <bossRole_title>, <bossRole_agent_type>, <REPO_ROOT>
|
|
590
|
+
# with the LITERAL values from the ORG_VARS: line printed in Step 2+3.
|
|
591
|
+
curl -s -X POST "<CTRL_URL>/api/mastermind/event" \
|
|
592
|
+
-H "Content-Type: application/json" \
|
|
593
|
+
-d "$(jq -cn \
|
|
594
|
+
--arg session "<sessionId>" \
|
|
595
|
+
--arg org "<orgName>" \
|
|
596
|
+
--arg runId "<runId>" \
|
|
597
|
+
--arg role "<bossRole_id>" \
|
|
598
|
+
--arg title "<bossRole_title>" \
|
|
599
|
+
--arg agent_type "<bossRole_agent_type>" \
|
|
600
|
+
--arg proj "<REPO_ROOT>" \
|
|
601
|
+
'{type:"org:agent:online",session:$session,org:$org,runId:$runId,role:$role,title:$title,agent_type:$agent_type,project:$proj,ts:(now*1000|floor)}')" || true
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
---
|
|
605
|
+
|
|
606
|
+
## Step 6 — Report to User
|
|
607
|
+
|
|
608
|
+
Print the org startup summary:
|
|
609
|
+
|
|
610
|
+
```
|
|
611
|
+
╔══════════════════════════════════════════════════════════╗
|
|
612
|
+
║ ORG STARTED: <orgName> ║
|
|
613
|
+
║ GOAL: <goal> ║
|
|
614
|
+
║ MODE: persistent daemon ║
|
|
615
|
+
╚══════════════════════════════════════════════════════════╝
|
|
616
|
+
|
|
617
|
+
ACTIVE ROLES
|
|
618
|
+
────────────
|
|
619
|
+
• [<bossRole.id>] <bossRole.title> → running as <bossRole.agent_type> agent
|
|
620
|
+
• [<each direct report>] <title> → will be spawned by boss on demand
|
|
621
|
+
... (all roles from config)
|
|
622
|
+
|
|
623
|
+
BOARD: <orgName>/org-tasks
|
|
624
|
+
MEMORY: org:<orgName>
|
|
625
|
+
DASHBOARD: see .monomind/control.json for URL (default http://localhost:4242)
|
|
626
|
+
|
|
627
|
+
To stop: click STOP in the dashboard Orgs panel
|
|
628
|
+
or run: CTRL_URL=$(jq -r '.url // "http://localhost:4242"' .monomind/control.json 2>/dev/null || echo "http://localhost:4242"); curl -X POST "${CTRL_URL}/api/orgs/<orgName>/stop"
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
---
|
|
632
|
+
|
|
633
|
+
## Step 7 — Return Output Schema
|
|
634
|
+
|
|
635
|
+
```yaml
|
|
636
|
+
domain: ops
|
|
637
|
+
status: complete
|
|
638
|
+
artifacts: []
|
|
639
|
+
decisions:
|
|
640
|
+
- what: "Org <orgName> started with <N> roles, boss agent running"
|
|
641
|
+
why: "Loaded from .monomind/orgs/<orgName>.json"
|
|
642
|
+
confidence: 0.9
|
|
643
|
+
outcome: pending
|
|
644
|
+
lessons:
|
|
645
|
+
- what_worked: "Boss agent spawned and org loop started"
|
|
646
|
+
- what_didnt: ""
|
|
647
|
+
next_actions:
|
|
648
|
+
- "Monitor in Mastermind Orgs panel (CTRL_URL from .monomind/control.json, default http://localhost:4242)"
|
|
649
|
+
- "To stop: click STOP in dashboard or: CTRL_URL=$(jq -r '.url // \"http://localhost:4242\"' .monomind/control.json); curl -X POST \"${CTRL_URL}/api/orgs/<orgName>/stop\""
|
|
650
|
+
board_url: "monotask://<orgName>/org-tasks"
|
|
651
|
+
run_id: "<runId>"
|
|
652
|
+
```
|
|
653
|
+
|
|
654
|
+
---
|
|
655
|
+
|
|
656
|
+
## Step 8 — Brain Write (standalone only)
|
|
657
|
+
|
|
658
|
+
If `caller` is not "command", follow _protocol.md Brain Write Procedure for domain `ops`.
|
|
659
|
+
|
|
660
|
+
---
|
|
661
|
+
|
|
662
|
+
## Reporting Artifacts (optional)
|
|
663
|
+
|
|
664
|
+
When you create or modify a file that represents output of this org run, emit:
|
|
665
|
+
|
|
666
|
+
```bash
|
|
667
|
+
curl -s -X POST "${CTRL_URL}/api/mastermind/event" \
|
|
668
|
+
-H "Content-Type: application/json" \
|
|
669
|
+
-d "$(jq -cn \
|
|
670
|
+
--arg s "${sessionId}" \
|
|
671
|
+
--arg o "${orgName}" \
|
|
672
|
+
--arg rid "${runId}" \
|
|
673
|
+
--arg from "${AGENT_ROLE}" \
|
|
674
|
+
--arg label "Short description" \
|
|
675
|
+
--arg path "${FILE_PATH}" \
|
|
676
|
+
--arg mime "text/markdown" \
|
|
677
|
+
'{type:"org:artifact",session:$s,org:$o,runId:$rid,from:$from,artifact:{label:$label,type:"file",path:$path,mimeType:$mime},ts:(now*1000|floor)}')" || true
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
The dashboard chat will show this as an artifact card with a "View" button. Fill in:
|
|
681
|
+
- `${AGENT_ROLE}` — the literal role id of the agent emitting the artifact
|
|
682
|
+
- `${FILE_PATH}` — the absolute or repo-relative path to the created/modified file
|
|
683
|
+
- `label` — a short human-readable description (e.g., "Weekly report", "Analysis output")
|
|
684
|
+
- `mimeType` — `text/markdown`, `application/json`, `text/plain`, etc.
|