@monoes/monomindcli 2.16.3 → 2.16.5
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/.claude/agents/github/repo-architect.md +1 -1
- package/.claude/agents/specialists/integration-architect.md +9 -13
- package/.claude/commands/agents/agent-capabilities.md +1 -0
- package/.claude/commands/agents/agent-coordination.md +1 -0
- package/.claude/commands/agents/agent-spawning.md +1 -0
- package/.claude/commands/agents/agent-types.md +1 -0
- package/.claude/commands/analysis/bottleneck-detect.md +1 -0
- package/.claude/commands/analysis/performance-bottlenecks.md +1 -0
- package/.claude/commands/analysis/performance-report.md +1 -0
- package/.claude/commands/analysis/token-usage.md +1 -0
- package/.claude/commands/automation/README.md +1 -1
- package/.claude/commands/automation/auto-agent.md +1 -0
- package/.claude/commands/automation/self-healing.md +1 -0
- package/.claude/commands/automation/session-memory.md +1 -0
- package/.claude/commands/automation/smart-agents.md +1 -0
- package/.claude/commands/automation/smart-spawn.md +1 -0
- package/.claude/commands/automation/workflow-select.md +22 -27
- package/.claude/commands/coordination/README.md +2 -2
- package/.claude/commands/coordination/agent-spawn.md +1 -0
- package/.claude/commands/coordination/monoswarm-init.md +9 -8
- package/.claude/commands/coordination/task-orchestrate.md +6 -5
- package/.claude/commands/github/README.md +1 -1
- package/.claude/commands/github/github-modes.md +1 -0
- package/.claude/commands/github/issue-tracker.md +1 -0
- package/.claude/commands/github/pr-manager.md +1 -0
- package/.claude/commands/github/release-manager.md +1 -2
- package/.claude/commands/github/repo-architect.md +1 -0
- package/.claude/commands/github/sync-coordinator.md +1 -0
- package/.claude/commands/hooks/overview.md +1 -0
- package/.claude/commands/hooks/post-edit.md +1 -0
- package/.claude/commands/hooks/post-task.md +1 -0
- package/.claude/commands/hooks/pre-edit.md +1 -0
- package/.claude/commands/hooks/pre-task.md +1 -0
- package/.claude/commands/hooks/session-end.md +1 -0
- package/.claude/commands/hooks/setup.md +1 -0
- package/.claude/commands/mastermind/adr.md +3 -1
- package/.claude/commands/mastermind/brain.md +3 -1
- package/.claude/commands/mastermind/budget.md +3 -1
- package/.claude/commands/mastermind/code-review.md +3 -1
- package/.claude/commands/mastermind/content.md +3 -1
- package/.claude/commands/mastermind/createorg.md +4 -2
- package/.claude/commands/mastermind/createtask.md +6 -4
- package/.claude/commands/mastermind/debug.md +3 -1
- package/.claude/commands/mastermind/design.md +3 -1
- package/.claude/commands/mastermind/do.md +5 -3
- package/.claude/commands/mastermind/execute.md +3 -1
- package/.claude/commands/mastermind/finance.md +3 -1
- package/.claude/commands/mastermind/graph-status.md +3 -1
- package/.claude/commands/mastermind/help.md +17 -20
- package/.claude/commands/mastermind/idea.md +3 -1
- package/.claude/commands/mastermind/ideate.md +4 -2
- package/.claude/commands/mastermind/improve.md +4 -2
- package/.claude/commands/mastermind/loops.md +3 -1
- package/.claude/commands/mastermind/marketing.md +3 -1
- package/.claude/commands/mastermind/master.md +4 -3
- package/.claude/commands/mastermind/memory.md +8 -36
- package/.claude/commands/mastermind/monoswarm.md +3 -2
- package/.claude/commands/mastermind/okf-export.md +3 -1
- package/.claude/commands/mastermind/okf-import.md +3 -1
- package/.claude/commands/mastermind/ops.md +3 -1
- package/.claude/commands/mastermind/orgs.md +3 -1
- package/.claude/commands/mastermind/orgstatus.md +3 -1
- package/.claude/commands/mastermind/plan.md +3 -1
- package/.claude/commands/mastermind/receive-review.md +3 -1
- package/.claude/commands/mastermind/release.md +3 -1
- package/.claude/commands/mastermind/repeat.md +3 -1
- package/.claude/commands/mastermind/research.md +3 -1
- package/.claude/commands/mastermind/review.md +3 -1
- package/.claude/commands/mastermind/runorg.md +4 -2
- package/.claude/commands/mastermind/sales.md +3 -1
- package/.claude/commands/mastermind/skill-builder.md +3 -1
- package/.claude/commands/mastermind/specialagents.md +3 -1
- package/.claude/commands/mastermind/stoporg.md +9 -11
- package/.claude/commands/mastermind/techport.md +3 -1
- package/.claude/commands/mastermind/topology.md +4 -3
- package/.claude/commands/mastermind/understand.md +3 -1
- package/.claude/commands/mastermind/worktree.md +3 -1
- package/.claude/commands/memory/memory-search.md +1 -0
- package/.claude/commands/monitoring/README.md +1 -1
- package/.claude/commands/monitoring/agent-metrics.md +1 -0
- package/.claude/commands/monitoring/agents.md +1 -0
- package/.claude/commands/monitoring/status.md +1 -0
- package/.claude/commands/monoswarm/README.md +3 -3
- package/.claude/commands/monoswarm/analysis.md +2 -2
- package/.claude/commands/monoswarm/consensus.md +1 -0
- package/.claude/commands/monoswarm/development.md +3 -3
- package/.claude/commands/monoswarm/examples.md +4 -4
- package/.claude/commands/monoswarm/init.md +2 -1
- package/.claude/commands/monoswarm/maintenance.md +2 -2
- package/.claude/commands/monoswarm/memory.md +1 -0
- package/.claude/commands/monoswarm/monoswarm.md +5 -5
- package/.claude/commands/monoswarm/optimization.md +2 -2
- package/.claude/commands/monoswarm/research.md +2 -2
- package/.claude/commands/monoswarm/spawn.md +1 -0
- package/.claude/commands/monoswarm/status.md +2 -1
- package/.claude/commands/monoswarm/stop.md +2 -1
- package/.claude/commands/monoswarm/testing.md +2 -2
- package/.claude/commands/pair/README.md +8 -9
- package/.claude/commands/pair/examples.md +3 -4
- package/.claude/commands/pair/session.md +1 -1
- package/.claude/commands/workflows/README.md +45 -40
- package/.claude/commands/workflows/development.md +42 -55
- package/.claude/commands/workflows/research.md +41 -57
- package/.claude/commands/workflows/workflow-create.md +43 -45
- package/.claude/commands/workflows/workflow-execute.md +58 -68
- package/.claude/commands/workflows/workflow-export.md +37 -63
- package/.claude/helpers/agent-registry.cjs +434 -0
- package/.claude/helpers/build-skill-registry.cjs +10 -6
- package/.claude/helpers/handlers/pick-core.cjs +55 -26
- package/.claude/helpers/handlers/route-handler.cjs +11 -3
- package/.claude/helpers/handlers/session-restore-handler.cjs +4 -1
- package/.claude/helpers/hook-handler.cjs +4 -2
- package/.claude/helpers/jev-catalog.cjs +14 -6
- package/.claude/helpers/jev-picker.cjs +52 -8
- package/.claude/helpers/pick-rank.cjs +184 -6
- package/.claude/helpers/pick-stats.cjs +86 -2
- package/.claude/skills/agentic-jujutsu/SKILL.md +2 -3
- package/.claude/skills/github-toolkit/SKILL.md +1 -1
- package/.claude/skills/hooks-automation/SKILL.md +243 -938
- package/.claude/skills/mastermind-agent-detail/SKILL.md +1 -1
- package/.claude/skills/mastermind-agent-select/SKILL.md +16 -1
- package/.claude/skills/mastermind-agents/SKILL.md +31 -38
- package/.claude/skills/mastermind-createorg/SKILL.md +3 -3
- package/.claude/skills/mastermind-env/SKILL.md +4 -18
- package/.claude/skills/mastermind-inbox/SKILL.md +31 -52
- package/.claude/skills/mastermind-instance/SKILL.md +7 -5
- package/.claude/skills/mastermind-new-agent/SKILL.md +3 -3
- package/.claude/skills/mastermind-org-settings/SKILL.md +3 -4
- package/.claude/skills/mastermind-orgs/SKILL.md +26 -32
- package/.claude/skills/mastermind-orgstatus/SKILL.md +49 -140
- package/.claude/skills/mastermind-plugins/SKILL.md +1 -1
- package/.claude/skills/mastermind-release/SKILL.md +9 -1
- package/.claude/skills/mastermind-research/SKILL.md +9 -1
- package/.claude/skills/mastermind-review/SKILL.md +9 -1
- package/.claude/skills/mastermind-routine-detail/SKILL.md +1 -1
- package/.claude/skills/mastermind-runorg/SKILL.md +13 -13
- package/.claude/skills/mastermind-stoporg/SKILL.md +7 -62
- package/.claude/skills/mastermind-tasks/SKILL.md +6 -8
- package/.claude/skills/monodesign/SKILL.md +257 -0
- package/.claude/skills/monodesign/adapt.md +53 -0
- package/.claude/skills/monodesign/agents/monodesign-asset-producer.md +100 -0
- package/.claude/skills/monodesign/agents/monodesign-manual-edit-applier.md +103 -0
- package/.claude/skills/monodesign/animate.md +65 -0
- package/.claude/skills/monodesign/audit.md +89 -0
- package/.claude/skills/monodesign/bolder.md +50 -0
- package/.claude/skills/monodesign/clarify.md +64 -0
- package/.claude/skills/monodesign/colorize.md +68 -0
- package/.claude/skills/monodesign/craft.md +51 -0
- package/.claude/skills/monodesign/critique.md +66 -0
- package/.claude/skills/monodesign/delight.md +47 -0
- package/.claude/skills/monodesign/distill.md +56 -0
- package/.claude/skills/monodesign/document.md +83 -0
- package/.claude/skills/monodesign/extract.md +74 -0
- package/.claude/skills/monodesign/harden.md +65 -0
- package/.claude/skills/monodesign/init.md +30 -0
- package/.claude/skills/monodesign/layout.md +36 -0
- package/.claude/skills/monodesign/live.md +34 -0
- package/.claude/skills/monodesign/onboard.md +50 -0
- package/.claude/skills/monodesign/optimize.md +64 -0
- package/.claude/skills/monodesign/overdrive.md +56 -0
- package/.claude/skills/monodesign/polish.md +68 -0
- package/.claude/skills/monodesign/quieter.md +57 -0
- package/.claude/skills/monodesign/reference/adapt.md +312 -0
- package/.claude/skills/monodesign/reference/adapt.native.md +58 -0
- package/.claude/skills/monodesign/reference/android.md +40 -0
- package/.claude/skills/monodesign/reference/animate.md +203 -0
- package/.claude/skills/monodesign/reference/antipatterns-catalog.md +410 -0
- package/.claude/skills/monodesign/reference/audit.md +135 -0
- package/.claude/skills/monodesign/reference/audit.native.md +139 -0
- package/.claude/skills/monodesign/reference/bolder.md +120 -0
- package/.claude/skills/monodesign/reference/brand-workflow.md +180 -0
- package/.claude/skills/monodesign/reference/brand.md +108 -0
- package/.claude/skills/monodesign/reference/clarify.md +288 -0
- package/.claude/skills/monodesign/reference/codex.md +105 -0
- package/.claude/skills/monodesign/reference/cognitive-load.md +106 -0
- package/.claude/skills/monodesign/reference/color-and-contrast.md +105 -0
- package/.claude/skills/monodesign/reference/colorize.md +257 -0
- package/.claude/skills/monodesign/reference/component-specs.md +260 -0
- package/.claude/skills/monodesign/reference/component-states.md +274 -0
- package/.claude/skills/monodesign/reference/component-system.md +358 -0
- package/.claude/skills/monodesign/reference/copy-formulas.md +160 -0
- package/.claude/skills/monodesign/reference/craft.md +123 -0
- package/.claude/skills/monodesign/reference/critique.md +780 -0
- package/.claude/skills/monodesign/reference/delight.md +302 -0
- package/.claude/skills/monodesign/reference/design-principles.md +246 -0
- package/.claude/skills/monodesign/reference/distill.md +111 -0
- package/.claude/skills/monodesign/reference/document.md +429 -0
- package/.claude/skills/monodesign/reference/extract.md +69 -0
- package/.claude/skills/monodesign/reference/harden.md +347 -0
- package/.claude/skills/monodesign/reference/heuristics-scoring.md +234 -0
- package/.claude/skills/monodesign/reference/hooks.md +92 -0
- package/.claude/skills/monodesign/reference/image-prompts.md +130 -0
- package/.claude/skills/monodesign/reference/init.md +221 -0
- package/.claude/skills/monodesign/reference/interaction-design.md +189 -0
- package/.claude/skills/monodesign/reference/ios.md +45 -0
- package/.claude/skills/monodesign/reference/layout.md +185 -0
- package/.claude/skills/monodesign/reference/live.md +710 -0
- package/.claude/skills/monodesign/reference/motion-design.md +109 -0
- package/.claude/skills/monodesign/reference/onboard.md +234 -0
- package/.claude/skills/monodesign/reference/optimize.md +258 -0
- package/.claude/skills/monodesign/reference/overdrive.md +130 -0
- package/.claude/skills/monodesign/reference/personas.md +179 -0
- package/.claude/skills/monodesign/reference/polish.md +241 -0
- package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +108 -0
- package/.claude/skills/monodesign/reference/product.md +60 -0
- package/.claude/skills/monodesign/reference/quieter.md +99 -0
- package/.claude/skills/monodesign/reference/responsive-design.md +114 -0
- package/.claude/skills/monodesign/reference/shape.md +165 -0
- package/.claude/skills/monodesign/reference/spatial-design.md +100 -0
- package/.claude/skills/monodesign/reference/teach.md +10 -0
- package/.claude/skills/monodesign/reference/token-architecture.md +222 -0
- package/.claude/skills/monodesign/reference/typeset.md +301 -0
- package/.claude/skills/monodesign/reference/typography.md +159 -0
- package/.claude/skills/monodesign/reference/ux-research.md +143 -0
- package/.claude/skills/monodesign/reference/ux-rules.md +211 -0
- package/.claude/skills/monodesign/reference/ux-writing.md +107 -0
- package/.claude/skills/monodesign/scripts/command-metadata.json +94 -0
- package/.claude/skills/monodesign/scripts/context-signals.mjs +260 -0
- package/.claude/skills/monodesign/scripts/context.mjs +1065 -0
- package/.claude/skills/monodesign/scripts/critique-storage.mjs +416 -0
- package/.claude/skills/monodesign/scripts/detect-csp.mjs +193 -0
- package/.claude/skills/monodesign/scripts/detect.mjs +33 -0
- package/.claude/skills/monodesign/scripts/detector/browser/injected/index.mjs +1960 -0
- package/.claude/skills/monodesign/scripts/detector/cli/main.mjs +321 -0
- package/.claude/skills/monodesign/scripts/detector/design-system.mjs +814 -0
- package/.claude/skills/monodesign/scripts/detector/detect-antipatterns-browser.js +5628 -0
- package/.claude/skills/monodesign/scripts/detector/detect-antipatterns.mjs +50 -0
- package/.claude/skills/monodesign/scripts/detector/engines/browser/detect-url.mjs +259 -0
- package/.claude/skills/monodesign/scripts/detector/engines/browser/drivers.mjs +339 -0
- package/.claude/skills/monodesign/scripts/detector/engines/regex/detect-text.mjs +636 -0
- package/.claude/skills/monodesign/scripts/detector/engines/static-html/css-cascade.mjs +1016 -0
- package/.claude/skills/monodesign/scripts/detector/engines/static-html/detect-html.mjs +253 -0
- package/.claude/skills/monodesign/scripts/detector/engines/visual/screenshot-contrast.mjs +198 -0
- package/.claude/skills/monodesign/scripts/detector/findings.mjs +12 -0
- package/.claude/skills/monodesign/scripts/detector/fix/css-regions.mjs +181 -0
- package/.claude/skills/monodesign/scripts/detector/fix/fixers.mjs +373 -0
- package/.claude/skills/monodesign/scripts/detector/fix/index.mjs +426 -0
- package/.claude/skills/monodesign/scripts/detector/node/file-system.mjs +198 -0
- package/.claude/skills/monodesign/scripts/detector/profile/profiler.mjs +166 -0
- package/.claude/skills/monodesign/scripts/detector/registry/antipatterns.mjs +563 -0
- package/.claude/skills/monodesign/scripts/detector/rules/checks.mjs +3024 -0
- package/.claude/skills/monodesign/scripts/detector/shared/color.mjs +124 -0
- package/.claude/skills/monodesign/scripts/detector/shared/constants.mjs +101 -0
- package/.claude/skills/monodesign/scripts/detector/shared/fonts.mjs +30 -0
- package/.claude/skills/monodesign/scripts/detector/shared/inline-ignores.mjs +148 -0
- package/.claude/skills/monodesign/scripts/detector/shared/page.mjs +7 -0
- package/.claude/skills/monodesign/scripts/hook-admin.mjs +694 -0
- package/.claude/skills/monodesign/scripts/hook-before-edit.mjs +516 -0
- package/.claude/skills/monodesign/scripts/hook-lib.mjs +1785 -0
- package/.claude/skills/monodesign/scripts/hook.mjs +61 -0
- package/.claude/skills/monodesign/scripts/lib/design-parser.mjs +809 -0
- package/.claude/skills/monodesign/scripts/lib/is-generated.mjs +69 -0
- package/.claude/skills/monodesign/scripts/lib/monodesign-config.mjs +640 -0
- package/.claude/skills/monodesign/scripts/lib/monodesign-paths.mjs +129 -0
- package/.claude/skills/monodesign/scripts/lib/provider.mjs +4 -0
- package/.claude/skills/monodesign/scripts/lib/target-args.mjs +42 -0
- package/.claude/skills/monodesign/scripts/live/browser-script-parts.mjs +50 -0
- package/.claude/skills/monodesign/scripts/live/completion.mjs +19 -0
- package/.claude/skills/monodesign/scripts/live/event-validation.mjs +137 -0
- package/.claude/skills/monodesign/scripts/live/insert-ui.mjs +458 -0
- package/.claude/skills/monodesign/scripts/live/manual-apply.mjs +939 -0
- package/.claude/skills/monodesign/scripts/live/manual-edit-routes.mjs +357 -0
- package/.claude/skills/monodesign/scripts/live/manual-edits-buffer.mjs +152 -0
- package/.claude/skills/monodesign/scripts/live/session-store.mjs +293 -0
- package/.claude/skills/monodesign/scripts/live/svelte-component.mjs +826 -0
- package/.claude/skills/monodesign/scripts/live/sveltekit-adapter.mjs +279 -0
- package/.claude/skills/monodesign/scripts/live/ui-core.mjs +180 -0
- package/.claude/skills/monodesign/scripts/live/vocabulary.mjs +36 -0
- package/.claude/skills/monodesign/scripts/live-accept.mjs +812 -0
- package/.claude/skills/monodesign/scripts/live-browser-dom.js +147 -0
- package/.claude/skills/monodesign/scripts/live-browser-session.js +124 -0
- package/.claude/skills/monodesign/scripts/live-browser.js +11213 -0
- package/.claude/skills/monodesign/scripts/live-commit-manual-edits.mjs +1241 -0
- package/.claude/skills/monodesign/scripts/live-complete.mjs +75 -0
- package/.claude/skills/monodesign/scripts/live-copy-edit-agent.mjs +683 -0
- package/.claude/skills/monodesign/scripts/live-discard-manual-edits.mjs +51 -0
- package/.claude/skills/monodesign/scripts/live-inject.mjs +596 -0
- package/.claude/skills/monodesign/scripts/live-insert.mjs +272 -0
- package/.claude/skills/monodesign/scripts/live-manual-edit-evidence.mjs +363 -0
- package/.claude/skills/monodesign/scripts/live-poll.mjs +384 -0
- package/.claude/skills/monodesign/scripts/live-resume.mjs +94 -0
- package/.claude/skills/monodesign/scripts/live-server.mjs +1210 -0
- package/.claude/skills/monodesign/scripts/live-status.mjs +61 -0
- package/.claude/skills/monodesign/scripts/live-target.mjs +30 -0
- package/.claude/skills/monodesign/scripts/live-wrap.mjs +884 -0
- package/.claude/skills/monodesign/scripts/live.mjs +297 -0
- package/.claude/skills/monodesign/scripts/modern-screenshot.umd.js +14 -0
- package/.claude/skills/monodesign/scripts/palette.mjs +635 -0
- package/.claude/skills/monodesign/scripts/pin.mjs +221 -0
- package/.claude/skills/monodesign/shape.md +71 -0
- package/.claude/skills/monodesign/teach.md +18 -0
- package/.claude/skills/monodesign/typeset.md +59 -0
- package/.claude/skills/monolean-audit/SKILL.md +4 -6
- package/.claude/skills/monolean-help/SKILL.md +0 -1
- package/.claude/skills/monoswarm/SKILL.md +17 -17
- package/.claude/skills/pair-programming/SKILL.md +127 -1100
- package/README.md +28 -43
- package/dist/src/agents/registry-builder.d.ts +58 -22
- package/dist/src/agents/registry-builder.d.ts.map +1 -1
- package/dist/src/agents/registry-builder.js +41 -341
- package/dist/src/agents/registry-builder.js.map +1 -1
- package/dist/src/agents/registry-freshness.d.ts +4 -4
- package/dist/src/agents/registry-freshness.d.ts.map +1 -1
- package/dist/src/agents/registry-freshness.js +11 -60
- package/dist/src/agents/registry-freshness.js.map +1 -1
- package/dist/src/commands/doc.d.ts.map +1 -1
- package/dist/src/commands/doc.js +6 -15
- package/dist/src/commands/doc.js.map +1 -1
- package/dist/src/commands/doctor-pick-checks.d.ts +20 -3
- package/dist/src/commands/doctor-pick-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-pick-checks.js +138 -45
- package/dist/src/commands/doctor-pick-checks.js.map +1 -1
- package/dist/src/commands/doctor-project-checks.d.ts +2 -2
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +21 -17
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +6 -4
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
- package/dist/src/commands/hooks-routing-commands.js +4 -3
- package/dist/src/commands/hooks-routing-commands.js.map +1 -1
- package/dist/src/commands/init-upgrade.d.ts.map +1 -1
- package/dist/src/commands/init-upgrade.js +10 -0
- package/dist/src/commands/init-upgrade.js.map +1 -1
- package/dist/src/commands/init-wizard.d.ts.map +1 -1
- package/dist/src/commands/init-wizard.js +7 -2
- package/dist/src/commands/init-wizard.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +27 -27
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/monograph.d.ts.map +1 -1
- package/dist/src/commands/monograph.js +16 -21
- package/dist/src/commands/monograph.js.map +1 -1
- package/dist/src/commands/org.js +1 -1
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/commands/pick.d.ts.map +1 -1
- package/dist/src/commands/pick.js +4 -3
- package/dist/src/commands/pick.js.map +1 -1
- package/dist/src/decision/jev.d.ts +20 -0
- package/dist/src/decision/jev.d.ts.map +1 -1
- package/dist/src/decision/jev.js +12 -0
- package/dist/src/decision/jev.js.map +1 -1
- package/dist/src/decision/pick-eval.d.ts +23 -0
- package/dist/src/decision/pick-eval.d.ts.map +1 -1
- package/dist/src/decision/pick-eval.js +24 -1
- package/dist/src/decision/pick-eval.js.map +1 -1
- package/dist/src/decision/pick-real.d.ts +93 -0
- package/dist/src/decision/pick-real.d.ts.map +1 -0
- package/dist/src/decision/pick-real.js +253 -0
- package/dist/src/decision/pick-real.js.map +1 -0
- package/dist/src/decision/picks.d.ts +6 -0
- package/dist/src/decision/picks.d.ts.map +1 -1
- package/dist/src/decision/picks.js +34 -11
- package/dist/src/decision/picks.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js +1 -0
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/copy-assets.d.ts.map +1 -1
- package/dist/src/init/copy-assets.js +17 -9
- package/dist/src/init/copy-assets.js.map +1 -1
- package/dist/src/init/embeddings-step.d.ts +23 -0
- package/dist/src/init/embeddings-step.d.ts.map +1 -0
- package/dist/src/init/embeddings-step.js +53 -0
- package/dist/src/init/embeddings-step.js.map +1 -0
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +35 -5
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/file-guard.d.ts +93 -0
- package/dist/src/init/file-guard.d.ts.map +1 -0
- package/dist/src/init/file-guard.js +239 -0
- package/dist/src/init/file-guard.js.map +1 -0
- package/dist/src/init/helpers-generator.d.ts +7 -0
- package/dist/src/init/helpers-generator.d.ts.map +1 -1
- package/dist/src/init/helpers-generator.js +13 -0
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/init-memory.d.ts +10 -0
- package/dist/src/init/init-memory.d.ts.map +1 -1
- package/dist/src/init/init-memory.js +44 -1
- package/dist/src/init/init-memory.js.map +1 -1
- package/dist/src/init/managed-block.d.ts +3 -1
- package/dist/src/init/managed-block.d.ts.map +1 -1
- package/dist/src/init/managed-block.js +9 -2
- package/dist/src/init/managed-block.js.map +1 -1
- package/dist/src/init/mcp-generator.d.ts +9 -0
- package/dist/src/init/mcp-generator.d.ts.map +1 -1
- package/dist/src/init/mcp-generator.js +28 -0
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/project-indexes.d.ts +19 -0
- package/dist/src/init/project-indexes.d.ts.map +1 -0
- package/dist/src/init/project-indexes.js +44 -0
- package/dist/src/init/project-indexes.js.map +1 -0
- package/dist/src/init/runtime-config-merge.d.ts +21 -0
- package/dist/src/init/runtime-config-merge.d.ts.map +1 -0
- package/dist/src/init/runtime-config-merge.js +88 -0
- package/dist/src/init/runtime-config-merge.js.map +1 -0
- package/dist/src/init/settings-generator.js +1 -1
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/shared-instructions-generator.d.ts +3 -1
- package/dist/src/init/shared-instructions-generator.d.ts.map +1 -1
- package/dist/src/init/shared-instructions-generator.js +14 -39
- package/dist/src/init/shared-instructions-generator.js.map +1 -1
- package/dist/src/init/shared.d.ts +17 -2
- package/dist/src/init/shared.d.ts.map +1 -1
- package/dist/src/init/shared.js +39 -7
- package/dist/src/init/shared.js.map +1 -1
- package/dist/src/init/types.d.ts +22 -2
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +11 -3
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/init/upgrade.d.ts +7 -0
- package/dist/src/init/upgrade.d.ts.map +1 -1
- package/dist/src/init/upgrade.js +60 -48
- package/dist/src/init/upgrade.js.map +1 -1
- package/dist/src/init/write-antigravity.d.ts +1 -0
- package/dist/src/init/write-antigravity.d.ts.map +1 -1
- package/dist/src/init/write-antigravity.js +28 -4
- package/dist/src/init/write-antigravity.js.map +1 -1
- package/dist/src/init/write-claude.d.ts.map +1 -1
- package/dist/src/init/write-claude.js +47 -23
- package/dist/src/init/write-claude.js.map +1 -1
- package/dist/src/init/write-kimicode.d.ts +27 -0
- package/dist/src/init/write-kimicode.d.ts.map +1 -1
- package/dist/src/init/write-kimicode.js +119 -92
- package/dist/src/init/write-kimicode.js.map +1 -1
- package/dist/src/init/write-opencode.d.ts.map +1 -1
- package/dist/src/init/write-opencode.js +45 -6
- package/dist/src/init/write-opencode.js.map +1 -1
- package/dist/src/init/write-runtime-config.d.ts.map +1 -1
- package/dist/src/init/write-runtime-config.js +108 -81
- package/dist/src/init/write-runtime-config.js.map +1 -1
- package/dist/src/knowledge/eval/golden-set.js +0 -15
- package/dist/src/knowledge/eval/golden-set.js.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +14 -5
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.js +4 -3
- package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
- package/dist/src/mcp-tools/monograph/build-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph/build-tools.js +16 -9
- package/dist/src/mcp-tools/monograph/build-tools.js.map +1 -1
- package/dist/src/mcp-tools/org-skill-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/org-skill-tools.js +6 -2
- package/dist/src/mcp-tools/org-skill-tools.js.map +1 -1
- package/dist/src/mcp-tools/pick-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/pick-tools.js +13 -4
- package/dist/src/mcp-tools/pick-tools.js.map +1 -1
- package/dist/src/memory/embedding-operations.d.ts +0 -4
- package/dist/src/memory/embedding-operations.d.ts.map +1 -1
- package/dist/src/memory/embedding-operations.js +11 -85
- package/dist/src/memory/embedding-operations.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +7 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +15 -0
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/orgrt/bash-timeout.d.ts +17 -0
- package/dist/src/orgrt/bash-timeout.d.ts.map +1 -1
- package/dist/src/orgrt/bash-timeout.js +15 -0
- package/dist/src/orgrt/bash-timeout.js.map +1 -1
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +5 -2
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/task-match.d.ts +3 -1
- package/dist/src/orgrt/task-match.d.ts.map +1 -1
- package/dist/src/orgrt/task-match.js +12 -4
- package/dist/src/orgrt/task-match.js.map +1 -1
- package/dist/src/platform-adapters/merge.d.ts +4 -3
- package/dist/src/platform-adapters/merge.d.ts.map +1 -1
- package/dist/src/platform-adapters/merge.js +18 -8
- package/dist/src/platform-adapters/merge.js.map +1 -1
- package/dist/src/platform-adapters/mutation.d.ts +6 -1
- package/dist/src/platform-adapters/mutation.d.ts.map +1 -1
- package/dist/src/platform-adapters/mutation.js +9 -3
- package/dist/src/platform-adapters/mutation.js.map +1 -1
- package/dist/src/platform-adapters/operations.d.ts.map +1 -1
- package/dist/src/platform-adapters/operations.js +14 -6
- package/dist/src/platform-adapters/operations.js.map +1 -1
- package/dist/src/platform-adapters/types.d.ts +5 -0
- package/dist/src/platform-adapters/types.d.ts.map +1 -1
- package/dist/src/routing/agent-pick.d.ts +9 -7
- package/dist/src/routing/agent-pick.d.ts.map +1 -1
- package/dist/src/routing/agent-pick.js +17 -17
- package/dist/src/routing/agent-pick.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/.claude/skills/github-issue-triage/SKILL.md +0 -354
- package/.claude/skills/github-repo-recap/SKILL.md +0 -207
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mastermind-agent-detail
|
|
3
|
-
description: Mastermind agent-detail — deep per-agent inspection: show config, run history, budget usage, heartbeat status, assigned skills, and reset/reconfigure a single agent within an org.
|
|
3
|
+
description: "Mastermind agent-detail — deep per-agent inspection: show config, run history, budget usage, heartbeat status, assigned skills, and reset/reconfigure a single agent within an org."
|
|
4
4
|
type: domain-skill
|
|
5
5
|
default_mode: auto
|
|
6
6
|
pick: low
|
|
@@ -108,7 +108,14 @@ Prefer `mcp__monomind__pick({ task: "<task>", kind: "agents", top: 1 })` and use
|
|
|
108
108
|
```bash
|
|
109
109
|
TASK_DESC="<one-line description of what this agent must do>"
|
|
110
110
|
CATS="engineering core"
|
|
111
|
-
#
|
|
111
|
+
# Local only — never npx. Accept a binary only when its pick output is the
|
|
112
|
+
# unified index (skill entries carry `source`); see mastermind-agent-select.
|
|
113
|
+
mmpick() { for c in monomind ./node_modules/.bin/monomind; do
|
|
114
|
+
command -v "$c" >/dev/null 2>&1 || continue
|
|
115
|
+
out=$("$c" pick "$@" --json 2>/dev/null) || continue
|
|
116
|
+
printf '%s' "$out" | jq -e '[.skills.ranked[]? | has("source")] | (length > 0 and all)' \
|
|
117
|
+
>/dev/null 2>&1 && { printf '%s\n' "$out"; return 0; }
|
|
118
|
+
done; return 127; }
|
|
112
119
|
best_agent=$(mmpick -t "$TASK_DESC" --categories "$CATS" --top 1 \
|
|
113
120
|
| jq -r '.agents.ranked[0].name // .agents.ranked[0].id // empty' 2>/dev/null)
|
|
114
121
|
best_agent="${best_agent:-coder}" # fixed fallback: a real core agent
|
|
@@ -140,6 +147,14 @@ Prefer `mcp__monomind__pick({ task: "<task>", kind: "skills", top: 3 })`. Withou
|
|
|
140
147
|
```bash
|
|
141
148
|
# Best skills for a task: Claude skills (source "platform") and Org-library
|
|
142
149
|
# skills (source "org") ranked together. `invoke` says how to load each one.
|
|
150
|
+
# Local only — never npx. Accept a binary only when its pick output is the
|
|
151
|
+
# unified index (skill entries carry `source`).
|
|
152
|
+
mmpick() { for c in monomind ./node_modules/.bin/monomind; do
|
|
153
|
+
command -v "$c" >/dev/null 2>&1 || continue
|
|
154
|
+
out=$("$c" pick "$@" --json 2>/dev/null) || continue
|
|
155
|
+
printf '%s' "$out" | jq -e '[.skills.ranked[]? | has("source")] | (length > 0 and all)' \
|
|
156
|
+
>/dev/null 2>&1 && { printf '%s\n' "$out"; return 0; }
|
|
157
|
+
done; return 127; }
|
|
143
158
|
mmpick -t "$PROMPT" --skills --top 3 | jq -c '[.skills.ranked[] | {id, source, invoke}]'
|
|
144
159
|
```
|
|
145
160
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mastermind-agents
|
|
3
|
-
description: Mastermind agents — list, inspect, hire,
|
|
3
|
+
description: Mastermind agents — list, inspect, hire, and remove agents in an org, and pause or resume the org. Shows each role, its adapter config, and the org's live runtime status.
|
|
4
4
|
type: domain-skill
|
|
5
5
|
default_mode: confirm
|
|
6
6
|
pick: low
|
|
@@ -44,23 +44,18 @@ If no orgs exist, print: "No orgs found. Run /mastermind:createorg to define one
|
|
|
44
44
|
|
|
45
45
|
### list (default)
|
|
46
46
|
|
|
47
|
-
Display all agents in the org
|
|
47
|
+
Display all agents in the org, then the org's live runtime status:
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
50
|
orgFile=".monomind/orgs/${org_name}.json"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
#
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
echo ""
|
|
60
|
-
echo "RUNTIME STATUS:"
|
|
61
|
-
jq -r '.agents // {} | to_entries[] | " \(.key): \(.value.status // "unknown") last_beat=\(.value.last_heartbeat // "never")"' "$stateFile" 2>/dev/null || true
|
|
62
|
-
fi
|
|
63
|
-
# end LEGACY-ORG-V1
|
|
51
|
+
|
|
52
|
+
jq -r '(.roles // [])[] | "• [\(.id)] \(.title) type=\(.type // "specialist") reports_to=\(.reports_to // "none")"' "$orgFile"
|
|
53
|
+
|
|
54
|
+
# Live runtime status (running/stopped/crashed, current run) — per-role
|
|
55
|
+
# activity for a run is in `monomind org report <org>`.
|
|
56
|
+
echo ""
|
|
57
|
+
echo "RUNTIME STATUS:"
|
|
58
|
+
npx -y monomind@latest org status "$org_name" 2>/dev/null || echo " (not available — is monomind installed?)"
|
|
64
59
|
```
|
|
65
60
|
|
|
66
61
|
Render as table:
|
|
@@ -68,26 +63,28 @@ Render as table:
|
|
|
68
63
|
```
|
|
69
64
|
AGENTS — org: <org_name>
|
|
70
65
|
──────────────────────────────────────────────────────
|
|
71
|
-
ID TITLE
|
|
72
|
-
boss CEO / Boss
|
|
73
|
-
content-writer Content Writer
|
|
74
|
-
reviewer Content Reviewer reviewer
|
|
66
|
+
ID TITLE TYPE REPORTS TO
|
|
67
|
+
boss CEO / Boss boss none
|
|
68
|
+
content-writer Content Writer specialist boss
|
|
69
|
+
reviewer Content Reviewer reviewer boss
|
|
75
70
|
...
|
|
76
71
|
```
|
|
77
72
|
|
|
78
73
|
### inspect
|
|
79
74
|
|
|
80
|
-
Show full config
|
|
75
|
+
Show the full role config (responsibilities, adapter config) and who it reports to / who reports to it:
|
|
81
76
|
|
|
82
77
|
```bash
|
|
83
78
|
jq --arg id "$agent_id" '(.roles // [])[] | select(.id == $id)' "$orgFile"
|
|
84
|
-
jq --arg id "$agent_id" '(.
|
|
79
|
+
jq -r --arg id "$agent_id" '(.roles // [])[] | select(.reports_to == $id) | " direct report: \(.id)"' "$orgFile"
|
|
85
80
|
```
|
|
86
81
|
|
|
87
82
|
### hire
|
|
88
83
|
|
|
89
84
|
Add a new role to the org. Prompt the user for:
|
|
90
|
-
- `id` (slug, e.g. `seo-lead`), `title` (display name), `
|
|
85
|
+
- `id` (slug, e.g. `seo-lead`), `title` (display name), `role_type` → the role's `type` (`specialist`, or a domain synonym such as `reviewer` / `researcher` — free text; only `boss` is special, and an org has exactly one root), `responsibilities` (comma-separated), `reports_to` (an existing role id — a hired role is never the root)
|
|
86
|
+
|
|
87
|
+
Write the Org Runtime role shape (`RoleSchema` in `packages/@monomind/cli/src/orgrt/types.ts`): `type`, never the legacy `agent_type` key — a role carrying `agent_type` makes the whole config read as the retired v1 format.
|
|
91
88
|
|
|
92
89
|
**Adapter/model selection** — present this picker:
|
|
93
90
|
|
|
@@ -114,33 +111,29 @@ adapter_model="${selected_model:-claude-sonnet-5}"
|
|
|
114
111
|
tmp="${orgFile}.tmp"
|
|
115
112
|
jq --arg id "$agent_id" \
|
|
116
113
|
--arg title "$title" \
|
|
117
|
-
--arg
|
|
118
|
-
--arg reports_to "$
|
|
114
|
+
--arg type "${role_type:-specialist}" \
|
|
115
|
+
--arg reports_to "$reports_to" \
|
|
119
116
|
--arg model "$adapter_model" \
|
|
120
117
|
--argjson resp "$(echo "$responsibilities" | jq -R 'split(",") | map(ltrimstr(" "))')" \
|
|
121
|
-
'.roles += [{"id":$id,"title":$title,"
|
|
118
|
+
'.roles += [{"id":$id,"title":$title,"type":$type,
|
|
122
119
|
"responsibilities":$resp,
|
|
123
|
-
"reports_to"
|
|
120
|
+
"reports_to":$reports_to,
|
|
124
121
|
"adapter_config":{"model":$model,"max_tokens":8192}}]' \
|
|
125
122
|
"$orgFile" > "$tmp" && mv "$tmp" "$orgFile"
|
|
126
|
-
echo "Hired: $title ($
|
|
123
|
+
echo "Hired: $title (${role_type:-specialist}) → adapter: $adapter_model"
|
|
124
|
+
npx -y monomind@latest org validate "$org_name"
|
|
127
125
|
```
|
|
128
126
|
|
|
129
127
|
### pause / resume
|
|
130
128
|
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
The Org Runtime pauses and resumes a whole org, not a single role — message
|
|
130
|
+
delivery is suspended while it is paused:
|
|
133
131
|
|
|
134
132
|
```bash
|
|
135
|
-
|
|
136
|
-
[ ! -f "$stateFile" ] && echo '{"agents":{}}' > "$stateFile"
|
|
137
|
-
tmp="${stateFile}.tmp"
|
|
138
|
-
jq --arg id "$agent_id" --arg status "paused" \
|
|
139
|
-
'.agents[$id].status = $status | .agents[$id].updated_at = (now|todate)' \
|
|
140
|
-
"$stateFile" > "$tmp" && mv "$tmp" "$stateFile"
|
|
133
|
+
npx -y monomind@latest org pause "$org_name" # or: org resume "$org_name"
|
|
141
134
|
```
|
|
142
135
|
|
|
143
|
-
|
|
136
|
+
To take one role out of the org, use `remove`.
|
|
144
137
|
|
|
145
138
|
### remove
|
|
146
139
|
|
|
@@ -148,7 +141,7 @@ Confirm with user, then remove role from org config:
|
|
|
148
141
|
|
|
149
142
|
```bash
|
|
150
143
|
tmp="${orgFile}.tmp"
|
|
151
|
-
jq --arg id "$agent_id" '.roles = [(.roles // [])[] | select(.id != $id)]
|
|
144
|
+
jq --arg id "$agent_id" '.roles = [(.roles // [])[] | select(.id != $id)]' \
|
|
152
145
|
"$orgFile" > "$tmp" && mv "$tmp" "$orgFile"
|
|
153
146
|
```
|
|
154
147
|
|
|
@@ -164,7 +157,7 @@ org: <org_name>
|
|
|
164
157
|
agents_count: <N>
|
|
165
158
|
```
|
|
166
159
|
|
|
167
|
-
Print summary and any suggested next actions (e.g. "
|
|
160
|
+
Print summary and any suggested next actions (e.g. "Check live status with `monomind org status <org_name>`").
|
|
168
161
|
|
|
169
162
|
---
|
|
170
163
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mastermind-createorg
|
|
3
|
-
description: Mastermind createorg — design and persist an autonomous agent organization (Org Runtime
|
|
3
|
+
description: Mastermind createorg — design and persist an autonomous agent organization (Org Runtime) as a `.monomind/orgs/<name>.json` config that `monomind org run/serve` loads directly. Supports optional --schedule flag for daemon-scheduled orgs.
|
|
4
4
|
type: domain-skill
|
|
5
5
|
default_mode: confirm
|
|
6
6
|
---
|
|
@@ -9,7 +9,7 @@ default_mode: confirm
|
|
|
9
9
|
|
|
10
10
|
This skill is invoked by `mastermind:createorg` or directly via `/mastermind:createorg`.
|
|
11
11
|
|
|
12
|
-
Org Runtime
|
|
12
|
+
The Org Runtime (`packages/@monomind/cli/src/orgrt/`) is a Node daemon, not a Task-tool-spawned boss agent. Every role in the config becomes a live SDK agent session (`@anthropic-ai/claude-agent-sdk` `query()`) the moment the org starts — there is no task board, no per-role generated `.claude/agents/*.md` file, and no communication-topology array. Roles address each other directly with the `org_send` tool using their `id` (or `<org>:<id>` cross-org). This skill's only job is to produce a config that validates against `OrgDefSchema` (`packages/@monomind/cli/src/orgrt/types.ts`).
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -71,7 +71,7 @@ Exactly one role must have `reports_to: null`. If the user's role list has none,
|
|
|
71
71
|
|
|
72
72
|
A role is **persona-based** if its title is a named real person, a well-known fictional character, or a celebrity/historical figure referred to by name. An org is persona-based if ≥50% of its roles are character names, or the goal/prompt contains `panel`, `debate`, `simulation`, `roleplay`, `celebrity`, `character`, `virtual [name]`, `impersonate`, `as [name]`.
|
|
73
73
|
|
|
74
|
-
Persona roles work the same as any other role
|
|
74
|
+
Persona roles work the same as any other role — there is no separate `agent_type`/subagent registry to resolve against. Put the character depth directly into `responsibilities` (fed into the agent's role briefing by `buildRolePrompt` in `orgrt/session.ts`, alongside the role's `skills` and `instructions_file`, if set — see Step 2.3): write 3-6 specific, voice-defining responsibilities drawn from the character's known career, positions, and communication style, not generic duties. For a living public figure, base it on documented public behavior — do not invent positions they haven't taken.
|
|
75
75
|
|
|
76
76
|
**Step 2.2b — Seed each non-persona role from the agent registry.**
|
|
77
77
|
|
|
@@ -82,18 +82,6 @@ echo " namespace: org:${org_name}"
|
|
|
82
82
|
npx monomind@latest memory list --namespace "org:${org_name}" 2>/dev/null | wc -l | xargs echo " stored entries:"
|
|
83
83
|
echo ""
|
|
84
84
|
|
|
85
|
-
# LEGACY-ORG-V1: board_id/*_col_id only exist on the pre-v2 board-backed org shape
|
|
86
|
-
# Board config
|
|
87
|
-
echo "TASK BOARD"
|
|
88
|
-
echo "──────────"
|
|
89
|
-
board_id=$(jq -r '.board_id // "NOT CONFIGURED"' "$orgFile")
|
|
90
|
-
echo " board_id: $board_id"
|
|
91
|
-
echo " todo_col: $(jq -r '.todo_col_id // "NOT CONFIGURED"' "$orgFile")"
|
|
92
|
-
echo " doing_col: $(jq -r '.doing_col_id // "NOT CONFIGURED"' "$orgFile")"
|
|
93
|
-
echo " done_col: $(jq -r '.done_col_id // "NOT CONFIGURED"' "$orgFile")"
|
|
94
|
-
echo ""
|
|
95
|
-
# end LEGACY-ORG-V1 board block
|
|
96
|
-
|
|
97
85
|
# Run config
|
|
98
86
|
echo "RUN CONFIG"
|
|
99
87
|
echo "──────────"
|
|
@@ -132,12 +120,10 @@ for key in ANTHROPIC_API_KEY; do
|
|
|
132
120
|
fi
|
|
133
121
|
done
|
|
134
122
|
|
|
135
|
-
#
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
[ -z "$board_id" ] && { echo " ✗ MISSING: board_id — boards belong to the legacy v1 runner, see runorgv1"; errors=$((errors + 1)); } || echo " ✓ board_id"
|
|
140
|
-
# end LEGACY-ORG-V1
|
|
123
|
+
# Check the config against the runtime schema and structural invariants
|
|
124
|
+
npx -y monomind@latest org validate "$org_name" >/dev/null 2>&1 \
|
|
125
|
+
&& echo " ✓ config valid (monomind org validate)" \
|
|
126
|
+
|| { echo " ✗ INVALID config — run: monomind org validate $org_name"; errors=$((errors + 1)); }
|
|
141
127
|
|
|
142
128
|
# Check roles
|
|
143
129
|
role_count=$(jq '.roles | length' "$orgFile")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mastermind-inbox
|
|
3
|
-
description: Mastermind inbox — unified view of everything that needs human attention across all orgs: pending approvals, running
|
|
3
|
+
description: "Mastermind inbox — unified view of everything that needs human attention across all orgs: pending tool approvals, running orgs, active task assignments, and budget alerts. The single place to check before starting work."
|
|
4
4
|
type: domain-skill
|
|
5
5
|
default_mode: auto
|
|
6
6
|
pick: low
|
|
@@ -53,25 +53,20 @@ total_alerts=0
|
|
|
53
53
|
for org in $orgs; do
|
|
54
54
|
orgFile=".monomind/orgs/${org}.json"
|
|
55
55
|
stateFile=".monomind/orgs/${org}-state.json"
|
|
56
|
-
approvalsFile=".monomind/orgs/${org}
|
|
56
|
+
approvalsFile=".monomind/orgs/${org}/approvals.json"
|
|
57
|
+
rtFile=".monomind/orgs/${org}/runtime.json"
|
|
57
58
|
|
|
58
|
-
#
|
|
59
|
-
# runner — see runorgv1 / approvev1.
|
|
60
|
-
# 1. Pending approvals
|
|
59
|
+
# 1. Pending tool approvals (the runtime's queue — `monomind org approvals <org>`)
|
|
61
60
|
if [ -f "$approvalsFile" ]; then
|
|
62
|
-
pending=$(jq '[(.approvals // [])[] | select(.
|
|
61
|
+
pending=$(jq '[(.approvals // [])[] | select(.approved == null)] | length' "$approvalsFile" 2>/dev/null || echo 0)
|
|
63
62
|
total_approvals=$((total_approvals + pending))
|
|
64
63
|
fi
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if [ -f "$stateFile" ]; then
|
|
71
|
-
running=$(jq '[.agents // {} | to_entries[] | select(.value.status == "running")] | length' "$stateFile" 2>/dev/null || echo 0)
|
|
72
|
-
total_heartbeats=$((total_heartbeats + running))
|
|
64
|
+
|
|
65
|
+
# 2. Running orgs (runtime.json status "running" with a live pid)
|
|
66
|
+
rt_pid=$(jq -r 'if .status == "running" then (.pid // 0) else 0 end' "$rtFile" 2>/dev/null || echo 0)
|
|
67
|
+
if [ "$rt_pid" -gt 0 ] && kill -0 "$rt_pid" 2>/dev/null; then
|
|
68
|
+
total_heartbeats=$((total_heartbeats + 1))
|
|
73
69
|
fi
|
|
74
|
-
# end LEGACY-ORG-V1
|
|
75
70
|
|
|
76
71
|
# 3. Budget alerts
|
|
77
72
|
budget=$(jq -r '.run_config.budget_tokens // 0' "$orgFile" 2>/dev/null || echo 0)
|
|
@@ -97,36 +92,32 @@ echo "║ MASTERMIND INBOX ║"
|
|
|
97
92
|
echo "╚══════════════════════════════════════════════════════╝"
|
|
98
93
|
echo ""
|
|
99
94
|
echo " 🔴 APPROVALS NEEDED: $total_approvals"
|
|
100
|
-
echo " 🟡
|
|
95
|
+
echo " 🟡 ORGS RUNNING: $total_heartbeats"
|
|
101
96
|
echo " 🟠 BUDGET ALERTS: $total_alerts"
|
|
102
97
|
echo ""
|
|
103
98
|
|
|
104
99
|
for org in $orgs; do
|
|
105
100
|
orgFile=".monomind/orgs/${org}.json"
|
|
106
101
|
stateFile=".monomind/orgs/${org}-state.json"
|
|
107
|
-
approvalsFile=".monomind/orgs/${org}
|
|
102
|
+
approvalsFile=".monomind/orgs/${org}/approvals.json"
|
|
103
|
+
rtFile=".monomind/orgs/${org}/runtime.json"
|
|
108
104
|
|
|
109
105
|
has_items=0
|
|
110
106
|
|
|
111
|
-
#
|
|
112
|
-
# Pending approvals
|
|
107
|
+
# Pending tool approvals
|
|
113
108
|
if [ -f "$approvalsFile" ]; then
|
|
114
|
-
pending_approvals=$(jq -r '(.approvals // [])[] | select(.
|
|
109
|
+
pending_approvals=$(jq -r '(.approvals // [])[] | select(.approved == null) | " [APPROVAL] \(.roleId): \(.action)\(if .requestId then " [\(.requestId)]" else "" end)"' \
|
|
115
110
|
"$approvalsFile" 2>/dev/null)
|
|
116
111
|
[ -n "$pending_approvals" ] && { has_items=1; echo "ORG: $org"; echo "$pending_approvals"; }
|
|
117
112
|
fi
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
" [RUNNING] [\(.key)] since=\(.value.last_heartbeat // "unknown")"
|
|
126
|
-
' "$stateFile" 2>/dev/null)
|
|
127
|
-
[ -n "$running_agents" ] && { has_items=1; [ $has_items -eq 1 ] || echo "ORG: $org"; echo "$running_agents"; }
|
|
113
|
+
|
|
114
|
+
# Running org
|
|
115
|
+
rt_pid=$(jq -r 'if .status == "running" then (.pid // 0) else 0 end' "$rtFile" 2>/dev/null || echo 0)
|
|
116
|
+
if [ "$rt_pid" -gt 0 ] && kill -0 "$rt_pid" 2>/dev/null; then
|
|
117
|
+
[ $has_items -eq 1 ] || echo "ORG: $org"
|
|
118
|
+
has_items=1
|
|
119
|
+
echo " [RUNNING] run=$(jq -r '.run // "?"' "$rtFile") since=$(jq -r '.updated // "unknown"' "$rtFile")"
|
|
128
120
|
fi
|
|
129
|
-
# end LEGACY-ORG-V1
|
|
130
121
|
|
|
131
122
|
[ $has_items -eq 1 ] && echo ""
|
|
132
123
|
done
|
|
@@ -138,34 +129,21 @@ fi
|
|
|
138
129
|
|
|
139
130
|
### filter: approvals only
|
|
140
131
|
|
|
141
|
-
<!-- LEGACY-ORG-V1: approvals belong to the v1 prompt-orchestrated runner — see runorgv1 / approvev1. -->
|
|
142
132
|
```bash
|
|
143
133
|
for org in $orgs; do
|
|
144
|
-
|
|
145
|
-
[ -f "$approvalsFile" ] || continue
|
|
134
|
+
[ -f ".monomind/orgs/${org}/approvals.json" ] || continue
|
|
146
135
|
echo "=== $org ==="
|
|
147
|
-
|
|
148
|
-
"[\(.id)] \(.agent_id): \(.title)\n Action: \(.action)\n Risk: \(.risk_level // "low")\n → /mastermind:approvev1 --org '"$org"' --action approve --approval-id \(.id)"
|
|
149
|
-
' "$approvalsFile" 2>/dev/null || echo " No pending approvals."
|
|
136
|
+
npx -y monomind@latest org approvals "$org"
|
|
150
137
|
echo ""
|
|
151
138
|
done
|
|
152
139
|
```
|
|
153
140
|
|
|
154
141
|
### filter: heartbeats only
|
|
155
142
|
|
|
156
|
-
|
|
157
|
-
Show currently running agent heartbeats across all orgs:
|
|
143
|
+
Show the orgs that are running now:
|
|
158
144
|
|
|
159
145
|
```bash
|
|
160
|
-
|
|
161
|
-
stateFile=".monomind/orgs/${org}-state.json"
|
|
162
|
-
[ -f "$stateFile" ] || continue
|
|
163
|
-
running=$(jq -r '
|
|
164
|
-
.agents // {} | to_entries[] | select(.value.status == "running") |
|
|
165
|
-
" [\(.key)] since=\(.value.last_heartbeat // "?")"
|
|
166
|
-
' "$stateFile" 2>/dev/null)
|
|
167
|
-
[ -n "$running" ] && { echo "=== $org ==="; echo "$running"; echo ""; }
|
|
168
|
-
done
|
|
146
|
+
npx -y monomind@latest org status
|
|
169
147
|
```
|
|
170
148
|
|
|
171
149
|
### filter: alerts only
|
|
@@ -193,11 +171,12 @@ done
|
|
|
193
171
|
From the inbox, the user can directly:
|
|
194
172
|
|
|
195
173
|
```bash
|
|
196
|
-
# Approve a pending request:
|
|
197
|
-
|
|
174
|
+
# Approve or deny a pending tool request:
|
|
175
|
+
monomind org approve <org> <role> "<action>"
|
|
176
|
+
monomind org deny <org> <role> "<action>"
|
|
198
177
|
|
|
199
|
-
# Stop a running
|
|
200
|
-
|
|
178
|
+
# Stop a running org:
|
|
179
|
+
monomind org stop <org>
|
|
201
180
|
|
|
202
181
|
# Check costs:
|
|
203
182
|
/mastermind:costs --org <org> --action report
|
|
@@ -85,8 +85,9 @@ echo " Active orgs: $orgs"
|
|
|
85
85
|
|
|
86
86
|
### heartbeats
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
The Org Runtime does not read role-level `heartbeat` fields — orgs run on their
|
|
89
|
+
top-level `schedule` under `monomind org serve`. This lists any role `heartbeat`
|
|
90
|
+
fields still present in org config files:
|
|
90
91
|
|
|
91
92
|
```bash
|
|
92
93
|
echo "SCHEDULER HEARTBEATS"
|
|
@@ -118,13 +119,14 @@ for orgF in .monomind/orgs/*.json; do
|
|
|
118
119
|
done
|
|
119
120
|
done
|
|
120
121
|
|
|
121
|
-
[ "$found" -eq 0 ] && echo " No
|
|
122
|
+
[ "$found" -eq 0 ] && echo " No role heartbeat fields found. Orgs run on their top-level schedule via: monomind org serve"
|
|
122
123
|
```
|
|
123
124
|
|
|
124
125
|
### toggle-heartbeat
|
|
125
126
|
|
|
126
|
-
|
|
127
|
-
|
|
127
|
+
Flip the role-level `heartbeat.enabled` field for a specific agent. The Org
|
|
128
|
+
Runtime ignores this field — to change when an org runs, edit its `schedule`
|
|
129
|
+
with `/mastermind-org-settings`:
|
|
128
130
|
|
|
129
131
|
```bash
|
|
130
132
|
[ -z "$agent_id" ] && { echo "ERROR: --agent-id required."; exit 1; }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mastermind-new-agent
|
|
3
|
-
description: Mastermind new-agent — wizard to hire/create a new agent within an org. Configures runtime, model, role name, reports_to hierarchy, responsibilities, skill assignments (found with `monomind org skills search`), and budget. Writes a valid Org Runtime
|
|
3
|
+
description: Mastermind new-agent — wizard to hire/create a new agent within an org. Configures runtime, model, role name, reports_to hierarchy, responsibilities, skill assignments (found with `monomind org skills search`), and budget. Writes a valid Org Runtime role to the org config file and validates it.
|
|
4
4
|
type: domain-skill
|
|
5
5
|
default_mode: confirm
|
|
6
6
|
pick: low
|
|
@@ -10,7 +10,7 @@ pick: low
|
|
|
10
10
|
|
|
11
11
|
This skill is invoked by `mastermind:new-agent` or directly via `/mastermind-new-agent`.
|
|
12
12
|
|
|
13
|
-
It writes one role in the Org Runtime
|
|
13
|
+
It writes one role in the Org Runtime shape (`RoleSchema` in `packages/@monomind/cli/src/orgrt/types.ts`) — the same shape `mastermind-createorg` produces — and runs `monomind org validate` on the result. There is no `adapter` object, heartbeat or per-role system prompt in the org config: the runtime reads `runtime`, `adapter_config.model`, `responsibilities`, `skills` and `skill_pool`.
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -82,7 +82,7 @@ Pin 1–3 that define the role in `skills`; put the ones it needs only for some
|
|
|
82
82
|
### list-runtimes
|
|
83
83
|
|
|
84
84
|
```bash
|
|
85
|
-
echo "ORG RUNTIME
|
|
85
|
+
echo "ORG RUNTIME RUNTIMES (latest model)"
|
|
86
86
|
echo "────────────────────────────────────────────────────────"
|
|
87
87
|
cat <<'RUNTIMES'
|
|
88
88
|
claude claude-sonnet-5 (default; also claude-opus-5, claude-fable-5-1, claude-haiku-4-5-20251001)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mastermind-org-settings
|
|
3
|
-
description: Mastermind org-settings — edit Org Runtime
|
|
3
|
+
description: Mastermind org-settings — edit Org Runtime configuration (name, goal, schedule, budget_tokens, memory_namespace, max_turns_per_message), export org as portable JSON, and import an org from a previously exported file.
|
|
4
4
|
type: domain-skill
|
|
5
5
|
default_mode: confirm
|
|
6
6
|
pick: low
|
|
@@ -10,10 +10,9 @@ pick: low
|
|
|
10
10
|
|
|
11
11
|
This skill is invoked by `mastermind:org-settings` or directly via `/mastermind-org-settings`.
|
|
12
12
|
|
|
13
|
-
It edits `.monomind/orgs/<org_name>.json` in place, and only ever touches fields that `OrgDefSchema` (`packages/@monomind/cli/src/orgrt/types.ts`) actually defines — every field listed below is read by the daemon (`org.ts`/`daemon.ts`/`session.ts`) at `monomind org run`/`serve` time. Its primary edit flow targets
|
|
13
|
+
It edits `.monomind/orgs/<org_name>.json` in place, and only ever touches fields that `OrgDefSchema` (`packages/@monomind/cli/src/orgrt/types.ts`) actually defines — every field listed below is read by the daemon (`org.ts`/`daemon.ts`/`session.ts`) at `monomind org run`/`serve` time. Its primary edit flow targets these fields only: `name`, `goal`, `schedule`, and `run_config` (`budget_tokens`, `memory_namespace`, `max_turns_per_message`). Role edits are not yet supported by this skill's `edit` action — `roles` is shown read-only via `show`.
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
There is no `topology`, `governance`, `alert_threshold`, or `ceo_adapter` in Org Runtime v2 — those were v1 board/prompt-orchestration fields with no runtime effect and have been removed from this skill's edit surface. Use `/mastermind-org-settings` only for v2-shaped orgs; v1 orgs must go through `monomind org migrate` first.
|
|
15
|
+
There is no `topology`, `governance`, `alert_threshold`, or `ceo_adapter` in the org config — those are legacy fields with no runtime effect and are not part of this skill's edit surface. If an org's config file still carries them (the legacy format), convert it with `monomind org migrate <name>` first.
|
|
17
16
|
|
|
18
17
|
---
|
|
19
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mastermind-orgs
|
|
3
|
-
description: Mastermind orgs — list all saved orgs with their status, schedule, and last
|
|
3
|
+
description: Mastermind orgs — list all saved orgs with their runtime status, schedule, and last run time. Flags crashed runs and config files still in the legacy format.
|
|
4
4
|
type: domain-skill
|
|
5
5
|
default_mode: auto
|
|
6
6
|
pick: low
|
|
@@ -43,10 +43,12 @@ fi
|
|
|
43
43
|
|
|
44
44
|
## Step 2 — Render Org Table
|
|
45
45
|
|
|
46
|
-
For each org file (skip state/approvals files), extract and display.
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
For each org file (skip state/approvals files), extract and display. An org
|
|
47
|
+
carries `schedule` ("30m"/"2h") in the config and its live state in
|
|
48
|
+
`.monomind/orgs/<name>/runtime.json`. A config file with a `.loop` block is in
|
|
49
|
+
the legacy format — `monomind org run` converts it in memory (its
|
|
50
|
+
`loop.poll_interval_minutes` becomes the schedule), and `monomind org migrate
|
|
51
|
+
<name>` rewrites the file.
|
|
50
52
|
|
|
51
53
|
```bash
|
|
52
54
|
echo ""
|
|
@@ -59,34 +61,25 @@ for f in $orgFiles; do
|
|
|
59
61
|
schedule=$(jq -r '.schedule // empty' "$f" 2>/dev/null)
|
|
60
62
|
loop_interval=$(jq -r '.loop.poll_interval_minutes // empty' "$f" 2>/dev/null)
|
|
61
63
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
last_run=$(jq -r '.updated // "—"' "$rt" 2>/dev/null | sed 's/T/ /;s/\..*Z//' || echo "—")
|
|
64
|
+
# legacy-format config: the runtime turns loop.poll_interval_minutes into the schedule
|
|
65
|
+
[ -z "$schedule" ] && [ -n "$loop_interval" ] && schedule="${loop_interval}m"
|
|
66
|
+
interval="${schedule:-manual}"
|
|
67
|
+
[ -n "$loop_interval" ] && interval="${interval} (legacy)"
|
|
68
|
+
|
|
69
|
+
# live state is in runtime.json (crashed = running record, dead pid)
|
|
70
|
+
rt=".monomind/orgs/${name}/runtime.json"
|
|
71
|
+
rt_status=$(jq -r '.status // "never run"' "$rt" 2>/dev/null || echo "never run")
|
|
72
|
+
rt_pid=$(jq -r '.pid // 0' "$rt" 2>/dev/null || echo 0)
|
|
73
|
+
if [ "$rt_status" = "running" ] && [ "$rt_pid" -gt 0 ] && ! kill -0 "$rt_pid" 2>/dev/null; then
|
|
74
|
+
indicator="✗ crashed"
|
|
75
|
+
elif [ "$rt_status" = "running" ]; then
|
|
76
|
+
indicator="● running"
|
|
77
|
+
elif [ "$rt_status" = "never run" ]; then
|
|
78
|
+
indicator="· never run"
|
|
78
79
|
else
|
|
79
|
-
|
|
80
|
-
# legacy v1 scheduled org — state lives in the config's status field
|
|
81
|
-
interval="${loop_interval}m (v1)"
|
|
82
|
-
status=$(jq -r '.status // "—"' "$f" 2>/dev/null)
|
|
83
|
-
case "$status" in
|
|
84
|
-
active) indicator="● active" ;;
|
|
85
|
-
paused) indicator="⏸ paused" ;;
|
|
86
|
-
*) indicator="○ stopped" ;;
|
|
87
|
-
esac
|
|
88
|
-
last_run=$(jq -r '.loop.last_run // "—"' "$f" 2>/dev/null | sed 's/T/ /;s/Z//')
|
|
80
|
+
indicator="○ ${rt_status}"
|
|
89
81
|
fi
|
|
82
|
+
last_run=$(jq -r '.updated // "—"' "$rt" 2>/dev/null | sed 's/T/ /;s/\..*Z//' || echo "—")
|
|
90
83
|
|
|
91
84
|
printf "%-28s %-14s %-12s %-22s\n" "$name" "$indicator" "$interval" "$last_run"
|
|
92
85
|
echo " └ $goal"
|
|
@@ -108,7 +101,8 @@ COMMANDS
|
|
|
108
101
|
monomind org validate [name] Check config against the runtime schema
|
|
109
102
|
/mastermind:orgstatus --org <name> Detailed status, last runs, activity
|
|
110
103
|
/mastermind:createorg <goal> Create a new org
|
|
111
|
-
/mastermind:runorg --org <name>
|
|
104
|
+
/mastermind:runorg --org <name> Validate and start an org (converts legacy-format configs first)
|
|
105
|
+
monomind org migrate <name> Convert a legacy-format config file
|
|
112
106
|
```
|
|
113
107
|
|
|
114
108
|
---
|