@monoes/monomindcli 2.9.7 → 2.9.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/.claude/agents/design/design-monodesign.md +1 -2
- package/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +1 -2
- package/.claude/agents/engineering/engineering-ai-engineer.md +1 -2
- package/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +0 -1
- package/.claude/agents/engineering/engineering-backend-architect.md +1 -2
- package/.claude/agents/engineering/engineering-code-reviewer.md +1 -2
- package/.claude/agents/engineering/engineering-data-engineer.md +1 -2
- package/.claude/agents/engineering/engineering-database-optimizer.md +1 -2
- package/.claude/agents/engineering/engineering-devops-automator.md +1 -2
- package/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +1 -2
- package/.claude/agents/engineering/engineering-feishu-integration-developer.md +1 -2
- package/.claude/agents/engineering/engineering-frontend-developer.md +1 -2
- package/.claude/agents/engineering/engineering-git-workflow-master.md +1 -2
- package/.claude/agents/engineering/engineering-incident-response-commander.md +0 -1
- package/.claude/agents/engineering/engineering-mobile-app-builder.md +1 -2
- package/.claude/agents/engineering/engineering-rapid-prototyper.md +1 -2
- package/.claude/agents/engineering/engineering-security-engineer.md +1 -2
- package/.claude/agents/engineering/engineering-senior-developer.md +1 -2
- package/.claude/agents/engineering/engineering-software-architect.md +1 -2
- package/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +1 -2
- package/.claude/agents/engineering/engineering-sre.md +0 -1
- package/.claude/agents/engineering/engineering-technical-writer.md +1 -2
- package/.claude/agents/engineering/engineering-threat-detection-engineer.md +0 -1
- package/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +1 -2
- package/.claude/agents/github/code-review-swarm.md +0 -1
- package/.claude/agents/github/github-modes.md +0 -1
- package/.claude/agents/github/issue-tracker.md +0 -1
- package/.claude/agents/github/multi-repo-swarm.md +0 -1
- package/.claude/agents/github/pr-manager.md +0 -1
- package/.claude/agents/github/project-board-sync.md +0 -1
- package/.claude/agents/github/release-manager.md +0 -1
- package/.claude/agents/github/repo-architect.md +0 -1
- package/.claude/agents/github/swarm-issue.md +0 -1
- package/.claude/agents/github/swarm-pr.md +0 -1
- package/.claude/agents/github/sync-coordinator.md +0 -1
- package/.claude/agents/github/workflow-automation.md +0 -1
- package/.claude/agents/marketing/marketing-competitive-content.md +1 -2
- package/.claude/agents/marketing/marketing-cro-specialist.md +1 -2
- package/.claude/agents/marketing/marketing-email-specialist.md +1 -2
- package/.claude/agents/marketing/marketing-launch-strategist.md +1 -2
- package/.claude/agents/marketing/marketing-pricing-strategist.md +1 -2
- package/.claude/agents/specialized/agentic-identity-trust.md +0 -1
- package/.claude/agents/specialized/agents-orchestrator.md +1 -2
- package/.claude/agents/specialized/automation-governance-architect.md +1 -2
- package/.claude/agents/specialized/blockchain-security-auditor.md +1 -2
- package/.claude/agents/specialized/compliance-auditor.md +1 -2
- package/.claude/agents/specialized/identity-graph-operator.md +0 -1
- package/.claude/agents/specialized/lsp-index-engineer.md +1 -2
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +0 -1
- package/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +0 -1
- package/.claude/agents/specialized/specialized-developer-advocate.md +1 -2
- package/.claude/agents/specialized/specialized-document-generator.md +1 -2
- package/.claude/agents/specialized/specialized-mcp-builder.md +1 -2
- package/.claude/agents/specialized/specialized-model-qa.md +0 -1
- package/.claude/agents/specialized/specialized-workflow-architect.md +1 -2
- package/.claude/agents/specialized/zk-steward.md +1 -2
- package/.claude/agents/testing/production-validator.md +0 -1
- package/.claude/agents/testing/tdd-london-swarm.md +0 -1
- package/.claude/agents/testing/testing-accessibility-auditor.md +0 -1
- package/.claude/agents/testing/testing-api-tester.md +1 -2
- package/.claude/agents/testing/testing-evidence-collector.md +1 -2
- package/.claude/agents/testing/testing-performance-benchmarker.md +1 -2
- package/.claude/agents/testing/testing-test-results-analyzer.md +1 -2
- package/.claude/agents/testing/testing-tool-evaluator.md +1 -2
- package/.claude/agents/testing/testing-workflow-optimizer.md +1 -2
- package/.claude/commands/hooks/README.md +1 -1
- package/.claude/commands/memory/README.md +6 -7
- package/.claude/commands/monitoring/README.md +1 -1
- package/.claude/helpers/control-start.cjs +27 -7
- package/.claude/helpers/handlers/route-handler.cjs +22 -3
- package/.claude/helpers/handlers/session-handler.cjs +43 -0
- package/.claude/helpers/intelligence.cjs +27 -6
- package/.claude/helpers/statusline.cjs +45 -11
- package/.claude/skills/agentic-jujutsu/SKILL.md +17 -15
- package/.claude/skills/hive-mind-advanced/SKILL.md +212 -559
- package/.claude/skills/hooks-automation/SKILL.md +1 -1
- package/.claude/skills/mastermind-adapters/SKILL.md +0 -11
- package/.claude/skills/mastermind-agents/SKILL.md +0 -11
- package/.claude/skills/mastermind-backup/SKILL.md +0 -11
- package/.claude/skills/mastermind-bootstrap/SKILL.md +0 -11
- package/.claude/skills/mastermind-delegation/SKILL.md +14 -12
- package/.claude/skills/mastermind-idea/SKILL.md +0 -5
- package/.claude/skills/mastermind-monitor/SKILL.md +0 -15
- package/.claude/skills/mastermind-org-settings/SKILL.md +0 -11
- package/.claude/skills/mastermind-plugins/SKILL.md +0 -11
- package/.claude/skills/mastermind-protocol/SKILL.md +6 -124
- package/.claude/skills/mastermind-repeat/SKILL.md +0 -25
- package/.claude/skills/mastermind-review/SKILL.md +1 -1
- package/.claude/skills/mastermind-stoporg/SKILL.md +0 -19
- package/.claude/skills/memory-toolkit/SKILL.md +12 -11
- package/.claude/skills/monodesign/scripts/detector/engines/browser/drivers.mjs +8 -1
- package/.claude/skills/pair-programming/SKILL.md +1 -1
- package/.claude/skills/performance-analysis/SKILL.md +228 -484
- package/.claude/skills/specialagent/SKILL.md +31 -133
- package/.claude/skills/swarm-advanced/SKILL.md +2 -2
- package/.claude/skills/swarm-orchestration/SKILL.md +220 -150
- package/.claude/skills/verification-quality/SKILL.md +247 -571
- package/README.md +3 -3
- package/dist/src/commands/agent-lifecycle.js +3 -3
- package/dist/src/commands/agent-lifecycle.js.map +1 -1
- package/dist/src/commands/autopilot.d.ts.map +1 -1
- package/dist/src/commands/autopilot.js +7 -1
- package/dist/src/commands/autopilot.js.map +1 -1
- package/dist/src/commands/doc.d.ts.map +1 -1
- package/dist/src/commands/doc.js +14 -3
- package/dist/src/commands/doc.js.map +1 -1
- package/dist/src/commands/doctor-env-checks.d.ts +1 -1
- package/dist/src/commands/doctor-env-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +3 -37
- 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 +30 -1
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/hooks-coverage-commands.d.ts.map +1 -1
- package/dist/src/commands/hooks-coverage-commands.js +75 -67
- package/dist/src/commands/hooks-coverage-commands.js.map +1 -1
- package/dist/src/commands/hooks-workers.d.ts.map +1 -1
- package/dist/src/commands/hooks-workers.js +41 -10
- package/dist/src/commands/hooks-workers.js.map +1 -1
- package/dist/src/commands/hooks.js +1 -1
- package/dist/src/commands/index.d.ts +1 -1
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +20 -4
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +80 -7
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/mcp.d.ts.map +1 -1
- package/dist/src/commands/mcp.js +78 -2
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/neural-optimize.d.ts.map +1 -1
- package/dist/src/commands/neural-optimize.js +27 -5
- package/dist/src/commands/neural-optimize.js.map +1 -1
- package/dist/src/commands/org-observe.d.ts.map +1 -1
- package/dist/src/commands/org-observe.js +37 -30
- package/dist/src/commands/org-observe.js.map +1 -1
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +129 -2
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/commands/performance.js +1 -1
- package/dist/src/commands/performance.js.map +1 -1
- package/dist/src/commands/security-cve.d.ts.map +1 -1
- package/dist/src/commands/security-cve.js +1 -11
- package/dist/src/commands/security-cve.js.map +1 -1
- package/dist/src/commands/security-misc.d.ts +0 -9
- package/dist/src/commands/security-misc.d.ts.map +1 -1
- package/dist/src/commands/security-misc.js +33 -54
- package/dist/src/commands/security-misc.js.map +1 -1
- package/dist/src/commands/security-scan.d.ts.map +1 -1
- package/dist/src/commands/security-scan.js +3 -11
- package/dist/src/commands/security-scan.js.map +1 -1
- package/dist/src/commands/swarm.d.ts.map +1 -1
- package/dist/src/commands/swarm.js +7 -2
- package/dist/src/commands/swarm.js.map +1 -1
- package/dist/src/commands/ui.d.ts +8 -0
- package/dist/src/commands/ui.d.ts.map +1 -0
- package/dist/src/commands/ui.js +94 -0
- package/dist/src/commands/ui.js.map +1 -0
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js +7 -9
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +13 -3
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/kimi-generator.d.ts +3 -2
- package/dist/src/init/kimi-generator.d.ts.map +1 -1
- package/dist/src/init/kimi-generator.js +45 -13
- package/dist/src/init/kimi-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.d.ts +1 -1
- package/dist/src/init/statusline-generator.js +1 -1
- package/dist/src/init/write-capabilities.js +7 -7
- package/dist/src/init/write-capabilities.js.map +1 -1
- package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
- package/dist/src/knowledge/document-pipeline.js +1 -0
- package/dist/src/knowledge/document-pipeline.js.map +1 -1
- package/dist/src/knowledge/eval/golden-set.d.ts.map +1 -1
- package/dist/src/knowledge/eval/golden-set.js +21 -32
- package/dist/src/knowledge/eval/golden-set.js.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +2 -2
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-intelligence.js +29 -3
- package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.js +32 -19
- package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
- package/dist/src/mcp-tools/monograph/query-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph/query-tools.js +48 -18
- package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
- package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/performance-tools.js +15 -10
- package/dist/src/mcp-tools/performance-tools.js.map +1 -1
- package/dist/src/memory/embedding-operations.d.ts +4 -0
- package/dist/src/memory/embedding-operations.d.ts.map +1 -1
- package/dist/src/memory/embedding-operations.js +125 -32
- package/dist/src/memory/embedding-operations.js.map +1 -1
- package/dist/src/memory/hnsw-operations.d.ts +1 -1
- package/dist/src/memory/hnsw-operations.js +1 -1
- package/dist/src/memory/memory-bridge.d.ts +8 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +37 -8
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-read.d.ts +1 -1
- package/dist/src/memory/memory-read.js +2 -2
- package/dist/src/memory/memory-read.js.map +1 -1
- package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
- package/dist/src/orgrt/antigravity-runner.js +6 -6
- package/dist/src/orgrt/antigravity-runner.js.map +1 -1
- package/dist/src/orgrt/checkpoint-ops.d.ts +11 -1
- package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
- package/dist/src/orgrt/checkpoint-ops.js +18 -86
- package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
- package/dist/src/orgrt/checkpoint.d.ts +1 -1
- package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
- package/dist/src/orgrt/checkpoint.js +3 -3
- package/dist/src/orgrt/checkpoint.js.map +1 -1
- package/dist/src/orgrt/daemon.d.ts +9 -1
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +267 -139
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/decisions.d.ts +13 -0
- package/dist/src/orgrt/decisions.d.ts.map +1 -1
- package/dist/src/orgrt/decisions.js +95 -0
- package/dist/src/orgrt/decisions.js.map +1 -1
- package/dist/src/orgrt/forwarder.d.ts.map +1 -1
- package/dist/src/orgrt/forwarder.js +148 -15
- package/dist/src/orgrt/forwarder.js.map +1 -1
- package/dist/src/orgrt/kimicode-runner.js +1 -1
- package/dist/src/orgrt/kimicode-runner.js.map +1 -1
- package/dist/src/orgrt/opencode-runner.js +1 -1
- package/dist/src/orgrt/opencode-runner.js.map +1 -1
- package/dist/src/orgrt/session.d.ts +27 -1
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +67 -6
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/task-dag.d.ts +11 -1
- package/dist/src/orgrt/task-dag.d.ts.map +1 -1
- package/dist/src/orgrt/task-dag.js +93 -2
- package/dist/src/orgrt/task-dag.js.map +1 -1
- package/dist/src/orgrt/templates.d.ts.map +1 -1
- package/dist/src/orgrt/templates.js +26 -2
- package/dist/src/orgrt/templates.js.map +1 -1
- package/dist/src/orgrt/types.d.ts +77 -1
- package/dist/src/orgrt/types.d.ts.map +1 -1
- package/dist/src/orgrt/types.js +28 -2
- package/dist/src/orgrt/types.js.map +1 -1
- package/dist/src/orgrt/vercel-providers.d.ts.map +1 -1
- package/dist/src/orgrt/vercel-providers.js +9 -4
- package/dist/src/orgrt/vercel-providers.js.map +1 -1
- package/dist/src/orgrt/vercel-runner.d.ts +0 -23
- package/dist/src/orgrt/vercel-runner.d.ts.map +1 -1
- package/dist/src/orgrt/vercel-runner.js +38 -7
- package/dist/src/orgrt/vercel-runner.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/.claude/commands/mastermind/approvev1.md +0 -94
- package/.claude/commands/mastermind/architect.md +0 -52
- package/.claude/commands/mastermind/autodev.md +0 -28
- package/.claude/commands/mastermind/build.md +0 -23
- package/.claude/commands/mastermind/finish.md +0 -17
- package/.claude/commands/mastermind/runorgv1.md +0 -159
- package/.claude/commands/mastermind/taskdev.md +0 -23
- package/.claude/commands/mastermind/tdd.md +0 -19
- package/.claude/commands/mastermind/verify.md +0 -19
- package/.claude/skills/mastermind-approvev1/SKILL.md +0 -191
- package/.claude/skills/mastermind-architect/SKILL.md +0 -862
- package/.claude/skills/mastermind-autodev/SKILL.md +0 -360
- package/.claude/skills/mastermind-build/SKILL.md +0 -169
- package/.claude/skills/mastermind-companies/SKILL.md +0 -256
- package/.claude/skills/mastermind-content/SKILL.md +0 -197
- package/.claude/skills/mastermind-costs/SKILL.md +0 -151
- package/.claude/skills/mastermind-finance/SKILL.md +0 -166
- package/.claude/skills/mastermind-finish/SKILL.md +0 -251
- package/.claude/skills/mastermind-heartbeatv1/SKILL.md +0 -167
- package/.claude/skills/mastermind-instance-settings/SKILL.md +0 -315
- package/.claude/skills/mastermind-marketing/SKILL.md +0 -228
- package/.claude/skills/mastermind-marketing/references/copywriting-frameworks.md +0 -181
- package/.claude/skills/mastermind-marketing/references/persuasion-psychology.md +0 -158
- package/.claude/skills/mastermind-ops/SKILL.md +0 -168
- package/.claude/skills/mastermind-org-chart/SKILL.md +0 -209
- package/.claude/skills/mastermind-project-detail/SKILL.md +0 -249
- package/.claude/skills/mastermind-project-workspace/SKILL.md +0 -244
- package/.claude/skills/mastermind-projects/SKILL.md +0 -167
- package/.claude/skills/mastermind-runorgv1/SKILL.md +0 -731
- package/.claude/skills/mastermind-sales/SKILL.md +0 -170
- package/.claude/skills/mastermind-taskdev/SKILL.md +0 -377
- package/.claude/skills/mastermind-taskdev/code-quality-reviewer-prompt.md +0 -60
- package/.claude/skills/mastermind-taskdev/final-reviewer-prompt.md +0 -144
- package/.claude/skills/mastermind-taskdev/implementer-prompt.md +0 -114
- package/.claude/skills/mastermind-taskdev/spec-reviewer-prompt.md +0 -80
- package/.claude/skills/mastermind-tdd/SKILL.md +0 -424
- package/.claude/skills/mastermind-verify/SKILL.md +0 -196
- package/.claude/skills/mastermind-wiki/SKILL.md +0 -314
- package/.claude/skills/monolean-review/SKILL.md +0 -57
|
@@ -1,315 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: mastermind-instance-settings
|
|
3
|
-
description: Mastermind instance-settings — instance-level administration covering general settings (auth, backup retention, keyboard shortcuts, AI feedback), experimental features (liveness auto-recovery), and user→company access grants. Extends mastermind:instance with InstanceGeneralSettings, InstanceExperimentalSettings, and InstanceAccess.
|
|
4
|
-
type: domain-skill
|
|
5
|
-
default_mode: confirm
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Mastermind Instance Settings
|
|
9
|
-
|
|
10
|
-
This skill is invoked by `mastermind:instance-settings` or directly via `/mastermind:instance-settings`.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Inputs
|
|
15
|
-
|
|
16
|
-
- `brain_context`: BRAIN CONTEXT block (injected by command, or loaded below if standalone)
|
|
17
|
-
- `action`: show | general | experimental | access | set | toggle-liveness | preview-liveness | grant-access | revoke-access | set-admin | unset-admin
|
|
18
|
-
- `key`: general setting key to update (for `set` action)
|
|
19
|
-
- `value`: value to set (for `set` action)
|
|
20
|
-
- `user_id`: user id (for grant-access / revoke-access / set-admin / unset-admin)
|
|
21
|
-
- `org_name`: org name to grant/revoke access to (for grant-access / revoke-access)
|
|
22
|
-
- `search`: search query for user lookup (for access action)
|
|
23
|
-
- `caller`: command | master
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## General Settings Keys
|
|
28
|
-
|
|
29
|
-
| Key | Type | Description |
|
|
30
|
-
|-----|------|-------------|
|
|
31
|
-
| `censorUsernameInLogs` | bool | Redact usernames from log output |
|
|
32
|
-
| `keyboardShortcutsEnabled` | bool | Enable keyboard shortcut navigation |
|
|
33
|
-
| `aiFeedbackSharingEnabled` | bool | Share feedback with AI provider |
|
|
34
|
-
| `dailyBackupRetentionDays` | int | Days to keep daily backups |
|
|
35
|
-
| `weeklyBackupRetentionWeeks` | int | Weeks to keep weekly backups |
|
|
36
|
-
| `monthlyBackupRetentionMonths` | int | Months to keep monthly backups |
|
|
37
|
-
|
|
38
|
-
## Experimental Settings
|
|
39
|
-
|
|
40
|
-
| Key | Type | Description |
|
|
41
|
-
|-----|------|-------------|
|
|
42
|
-
| `livenessAutoRecoveryEnabled` | bool | Auto-create recovery tasks for stalled issues |
|
|
43
|
-
| `livenessAutoRecoveryLookbackHours` | int | Hours to look back for stalled issues |
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Step 0 — Brain Load (standalone only)
|
|
48
|
-
|
|
49
|
-
If `caller` is not "command", load brain context following mastermind-protocol/SKILL.md Brain Load Procedure with namespace: `ops`.
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## Step 1 — Load Instance Config
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
instanceFile=".monomind/instance.json"
|
|
57
|
-
[ ! -f "$instanceFile" ] && echo '{"general":{},"experimental":{},"access":{"users":[]}}' > "$instanceFile"
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## Step 2 — Execute Action
|
|
63
|
-
|
|
64
|
-
### show (default)
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
echo "INSTANCE SETTINGS"
|
|
68
|
-
echo "────────────────────────────────────────────────────────"
|
|
69
|
-
|
|
70
|
-
general=$(jq -r '.general // {}' "$instanceFile")
|
|
71
|
-
exp=$(jq -r '.experimental // {}' "$instanceFile")
|
|
72
|
-
|
|
73
|
-
echo "GENERAL"
|
|
74
|
-
echo " censorUsernameInLogs: $(echo "$general" | jq -r '.censorUsernameInLogs // false')"
|
|
75
|
-
echo " keyboardShortcutsEnabled: $(echo "$general" | jq -r '.keyboardShortcutsEnabled // true')"
|
|
76
|
-
echo " aiFeedbackSharingEnabled: $(echo "$general" | jq -r '.aiFeedbackSharingEnabled // false')"
|
|
77
|
-
echo " dailyBackupRetentionDays: $(echo "$general" | jq -r '.dailyBackupRetentionDays // 7')"
|
|
78
|
-
echo " weeklyBackupRetentionWeeks: $(echo "$general" | jq -r '.weeklyBackupRetentionWeeks // 4')"
|
|
79
|
-
echo " monthlyBackupRetentionMonths: $(echo "$general" | jq -r '.monthlyBackupRetentionMonths // 12')"
|
|
80
|
-
|
|
81
|
-
echo ""
|
|
82
|
-
echo "EXPERIMENTAL"
|
|
83
|
-
echo " livenessAutoRecoveryEnabled: $(echo "$exp" | jq -r '.livenessAutoRecoveryEnabled // false')"
|
|
84
|
-
echo " livenessAutoRecoveryLookbackHours: $(echo "$exp" | jq -r '.livenessAutoRecoveryLookbackHours // 24')"
|
|
85
|
-
|
|
86
|
-
echo ""
|
|
87
|
-
echo " To modify: --action set --key <key> --value <value>"
|
|
88
|
-
echo " To view users: --action access"
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### general
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
echo "GENERAL SETTINGS"
|
|
95
|
-
echo "────────────────────────────────────────────────────────"
|
|
96
|
-
jq -r '.general // {}' "$instanceFile" | jq .
|
|
97
|
-
|
|
98
|
-
echo ""
|
|
99
|
-
echo "BACKUP RETENTION PRESETS"
|
|
100
|
-
echo " Daily: 7d / 14d / 30d / 60d / 90d"
|
|
101
|
-
echo " Weekly: 4w / 8w / 12w / 26w / 52w"
|
|
102
|
-
echo " Monthly: 3m / 6m / 12m / 24m"
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### experimental
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
echo "EXPERIMENTAL SETTINGS"
|
|
109
|
-
echo "────────────────────────────────────────────────────────"
|
|
110
|
-
jq -r '.experimental // {}' "$instanceFile" | jq .
|
|
111
|
-
|
|
112
|
-
enabled=$(jq -r '.experimental.livenessAutoRecoveryEnabled // false' "$instanceFile")
|
|
113
|
-
hours=$(jq -r '.experimental.livenessAutoRecoveryLookbackHours // 24' "$instanceFile")
|
|
114
|
-
|
|
115
|
-
echo ""
|
|
116
|
-
echo "LIVENESS AUTO-RECOVERY"
|
|
117
|
-
echo " Enabled: $enabled"
|
|
118
|
-
echo " Lookback hours: $hours"
|
|
119
|
-
echo ""
|
|
120
|
-
echo " Toggle: --action toggle-liveness"
|
|
121
|
-
echo " Preview: --action preview-liveness"
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### set
|
|
125
|
-
|
|
126
|
-
```bash
|
|
127
|
-
[ -z "$key" ] && { echo "ERROR: --key required."; exit 1; }
|
|
128
|
-
[ -z "$value" ] && { echo "ERROR: --value required."; exit 1; }
|
|
129
|
-
|
|
130
|
-
# Determine target section
|
|
131
|
-
section="general"
|
|
132
|
-
case "$key" in
|
|
133
|
-
livenessAutoRecovery*) section="experimental" ;;
|
|
134
|
-
esac
|
|
135
|
-
|
|
136
|
-
# Coerce booleans and integers
|
|
137
|
-
typedValue="$value"
|
|
138
|
-
case "$value" in
|
|
139
|
-
true|false) typedValue=$(echo "$value") ;;
|
|
140
|
-
*[0-9]*) echo "$value" | grep -qE '^[0-9]+$' && typedValue="$value" ;;
|
|
141
|
-
esac
|
|
142
|
-
|
|
143
|
-
tmp="${instanceFile}.tmp"
|
|
144
|
-
jq --arg section "$section" --arg k "$key" --argjson v "$(
|
|
145
|
-
if echo "$typedValue" | grep -qE '^(true|false|[0-9]+)$'; then echo "$typedValue"; else echo "\"$typedValue\""; fi
|
|
146
|
-
)" \
|
|
147
|
-
'.[$section][$k] = $v' \
|
|
148
|
-
"$instanceFile" > "$tmp" && mv "$tmp" "$instanceFile"
|
|
149
|
-
|
|
150
|
-
echo "Instance setting updated: [$section] $key = $typedValue"
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### toggle-liveness
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
current=$(jq -r '.experimental.livenessAutoRecoveryEnabled // false' "$instanceFile")
|
|
157
|
-
if [ "$current" = "true" ]; then
|
|
158
|
-
newVal=false
|
|
159
|
-
else
|
|
160
|
-
newVal=true
|
|
161
|
-
fi
|
|
162
|
-
|
|
163
|
-
tmp="${instanceFile}.tmp"
|
|
164
|
-
jq --argjson v "$newVal" '.experimental.livenessAutoRecoveryEnabled = $v' \
|
|
165
|
-
"$instanceFile" > "$tmp" && mv "$tmp" "$instanceFile"
|
|
166
|
-
|
|
167
|
-
echo "Liveness auto-recovery toggled: $newVal"
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
### preview-liveness
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
hours=$(jq -r '.experimental.livenessAutoRecoveryLookbackHours // 24' "$instanceFile")
|
|
174
|
-
echo "LIVENESS AUTO-RECOVERY PREVIEW"
|
|
175
|
-
echo " Lookback: last ${hours} hours"
|
|
176
|
-
echo "────────────────────────────────────────────────────────"
|
|
177
|
-
echo " (Preview runs against live issue graph.)"
|
|
178
|
-
echo " To enable: --action toggle-liveness"
|
|
179
|
-
echo ""
|
|
180
|
-
echo " Checking activity files for stalled issues…"
|
|
181
|
-
cutoff=$(date -u -v-${hours}H +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u --date="${hours} hours ago" +%Y-%m-%dT%H:%M:%SZ 2>/dev/null)
|
|
182
|
-
|
|
183
|
-
# Count potentially stalled issues across all orgs
|
|
184
|
-
stalledCount=0
|
|
185
|
-
for issuesFile in .monomind/orgs/*-issues.json; do
|
|
186
|
-
[ -f "$issuesFile" ] || continue
|
|
187
|
-
cnt=$(jq --arg cutoff "$cutoff" \
|
|
188
|
-
'[(.issues // [])[] | select(.status == "in_progress" and (.lastActivityAt // .createdAt // "") < $cutoff)] | length' \
|
|
189
|
-
"$issuesFile" 2>/dev/null || echo 0)
|
|
190
|
-
stalledCount=$((stalledCount + cnt))
|
|
191
|
-
done
|
|
192
|
-
|
|
193
|
-
echo " Potentially stalled issues (in_progress, no activity since cutoff): $stalledCount"
|
|
194
|
-
[ "$stalledCount" -gt 0 ] && echo " Run --action toggle-liveness to enable auto-recovery."
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
### access
|
|
198
|
-
|
|
199
|
-
```bash
|
|
200
|
-
search="${search:-}"
|
|
201
|
-
accessFile=".monomind/instance-access.json"
|
|
202
|
-
[ ! -f "$accessFile" ] && echo '{"users":[]}' > "$accessFile"
|
|
203
|
-
|
|
204
|
-
echo "INSTANCE ACCESS — USER DIRECTORY"
|
|
205
|
-
echo " Search: ${search:-(all)}"
|
|
206
|
-
echo "────────────────────────────────────────────────────────"
|
|
207
|
-
printf "%-32s %-20s %-10s %s\n" "USER ID" "NAME" "ADMIN" "COMPANIES"
|
|
208
|
-
echo "────────────────────────────────────────────────────────"
|
|
209
|
-
|
|
210
|
-
jq -r --arg q "$search" '.users[] |
|
|
211
|
-
select($q == "" or (.id | ascii_downcase | contains($q | ascii_downcase))
|
|
212
|
-
or (.name // "" | ascii_downcase | contains($q | ascii_downcase))) |
|
|
213
|
-
[.id, (.name // "(unnamed)"), (if .isInstanceAdmin then "yes" else "no" end),
|
|
214
|
-
((.companyAccess // []) | length | tostring)] | @tsv' \
|
|
215
|
-
"$accessFile" | while IFS=$'\t' read -r uid name admin count; do
|
|
216
|
-
printf "%-32s %-20s %-10s %s orgs\n" "$uid" "$name" "$admin" "$count"
|
|
217
|
-
done
|
|
218
|
-
|
|
219
|
-
echo ""
|
|
220
|
-
echo " Grant org access: --action grant-access --user-id <uid> --org-name <org>"
|
|
221
|
-
echo " Revoke org access: --action revoke-access --user-id <uid> --org-name <org>"
|
|
222
|
-
echo " Make instance admin: --action set-admin --user-id <uid>"
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
### grant-access
|
|
226
|
-
|
|
227
|
-
```bash
|
|
228
|
-
[ -z "$user_id" ] && { echo "ERROR: --user-id required."; exit 1; }
|
|
229
|
-
[ -z "$org_name" ] && { echo "ERROR: --org-name required."; exit 1; }
|
|
230
|
-
|
|
231
|
-
accessFile=".monomind/instance-access.json"
|
|
232
|
-
[ ! -f "$accessFile" ] && echo '{"users":[]}' > "$accessFile"
|
|
233
|
-
|
|
234
|
-
ts=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
235
|
-
tmp="${accessFile}.tmp"
|
|
236
|
-
jq --arg uid "$user_id" --arg org "$org_name" --arg ts "$ts" \
|
|
237
|
-
'.users = (
|
|
238
|
-
if any((.users // [])[]; .id == $uid) then
|
|
239
|
-
[(.users // [])[] | if .id == $uid then
|
|
240
|
-
.companyAccess = ((.companyAccess // []) | if any(.[]; . == $org) then . else . + [$org] end)
|
|
241
|
-
else . end]
|
|
242
|
-
else
|
|
243
|
-
(.users // []) + [{"id": $uid, "companyAccess": [$org], "isInstanceAdmin": false, "grantedAt": $ts}]
|
|
244
|
-
end)' \
|
|
245
|
-
"$accessFile" > "$tmp" && mv "$tmp" "$accessFile"
|
|
246
|
-
|
|
247
|
-
echo "Access granted: user '$user_id' → org '$org_name'"
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
### revoke-access
|
|
251
|
-
|
|
252
|
-
```bash
|
|
253
|
-
[ -z "$user_id" ] && { echo "ERROR: --user-id required."; exit 1; }
|
|
254
|
-
[ -z "$org_name" ] && { echo "ERROR: --org-name required."; exit 1; }
|
|
255
|
-
|
|
256
|
-
accessFile=".monomind/instance-access.json"
|
|
257
|
-
[ ! -f "$accessFile" ] && { echo "No access file found."; exit 1; }
|
|
258
|
-
|
|
259
|
-
tmp="${accessFile}.tmp"
|
|
260
|
-
jq --arg uid "$user_id" --arg org "$org_name" \
|
|
261
|
-
'.users = [(.users // [])[] | if .id == $uid then
|
|
262
|
-
.companyAccess = [(.companyAccess // [])[] | select(. != $org)]
|
|
263
|
-
else . end]' \
|
|
264
|
-
"$accessFile" > "$tmp" && mv "$tmp" "$accessFile"
|
|
265
|
-
|
|
266
|
-
echo "Access revoked: user '$user_id' from org '$org_name'"
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
### set-admin
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
[ -z "$user_id" ] && { echo "ERROR: --user-id required."; exit 1; }
|
|
273
|
-
|
|
274
|
-
accessFile=".monomind/instance-access.json"
|
|
275
|
-
[ ! -f "$accessFile" ] && echo '{"users":[]}' > "$accessFile"
|
|
276
|
-
|
|
277
|
-
tmp="${accessFile}.tmp"
|
|
278
|
-
jq --arg uid "$user_id" \
|
|
279
|
-
'.users = (if any((.users // [])[]; .id == $uid) then
|
|
280
|
-
[(.users // [])[] | if .id == $uid then .isInstanceAdmin = true else . end]
|
|
281
|
-
else (.users // []) + [{"id":$uid,"companyAccess":[],"isInstanceAdmin":true}] end)' \
|
|
282
|
-
"$accessFile" > "$tmp" && mv "$tmp" "$accessFile"
|
|
283
|
-
|
|
284
|
-
echo "User '$user_id' granted instance admin role."
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### unset-admin
|
|
288
|
-
|
|
289
|
-
```bash
|
|
290
|
-
[ -z "$user_id" ] && { echo "ERROR: --user-id required."; exit 1; }
|
|
291
|
-
|
|
292
|
-
accessFile=".monomind/instance-access.json"
|
|
293
|
-
tmp="${accessFile}.tmp"
|
|
294
|
-
jq --arg uid "$user_id" \
|
|
295
|
-
'.users = [(.users // [])[] | if .id == $uid then .isInstanceAdmin = false else . end]' \
|
|
296
|
-
"$accessFile" > "$tmp" && mv "$tmp" "$accessFile"
|
|
297
|
-
|
|
298
|
-
echo "Instance admin revoked for user '$user_id'."
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
---
|
|
302
|
-
|
|
303
|
-
## Step 3 — Return Output
|
|
304
|
-
|
|
305
|
-
```yaml
|
|
306
|
-
domain: ops
|
|
307
|
-
status: complete
|
|
308
|
-
action: <action>
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
---
|
|
312
|
-
|
|
313
|
-
## Step 4 — Brain Write (standalone only)
|
|
314
|
-
|
|
315
|
-
If `caller` is not "command", follow mastermind-protocol/SKILL.md Brain Write Procedure for domain `ops`.
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: mastermind-marketing
|
|
3
|
-
description: Mastermind marketing domain — campaigns, copy, SEO, social media strategy. Spawns a Marketing Manager who coordinates content, SEO, social, and analytics agents in parallel.
|
|
4
|
-
type: domain-skill
|
|
5
|
-
default_mode: confirm
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Mastermind Marketing Domain
|
|
9
|
-
|
|
10
|
-
This skill is invoked by `mastermind:master` or directly via `/mastermind:marketing`.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Inputs
|
|
15
|
-
|
|
16
|
-
- `brain_context`: BRAIN CONTEXT block (injected by master, or loaded standalone via mastermind-protocol/SKILL.md brain load)
|
|
17
|
-
- `prompt`: the marketing goal for this run
|
|
18
|
-
- `project_name`: monotask space name
|
|
19
|
-
- `board_id`: monotask board ID (set by master, or created standalone)
|
|
20
|
-
- `mode`: auto | confirm
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Reference Library
|
|
25
|
-
|
|
26
|
-
Before building any task briefing, identify which reference files apply and include their paths in the agent's instructions with a directive to Read them before starting work.
|
|
27
|
-
|
|
28
|
-
| Reference | When to include |
|
|
29
|
-
|---|---|
|
|
30
|
-
| `references/persuasion-psychology.md` | **Always** — all marketing tasks |
|
|
31
|
-
| `references/copywriting-frameworks.md` | Copy tasks: landing pages, headlines, CTAs, hero sections, any page copy; email copy: subject lines, cold outreach, nurture sequences |
|
|
32
|
-
| `.claude/skills/stop-slop/SKILL.md` | **All copy review** — run before delivering any written asset |
|
|
33
|
-
| `.claude/skills/stop-slop/references/phrases.md` | Full copy edit pass — check for banned phrases |
|
|
34
|
-
| `.claude/skills/stop-slop/references/structures.md` | Full copy edit pass — check structural patterns |
|
|
35
|
-
|
|
36
|
-
In each agent task briefing, add:
|
|
37
|
-
```
|
|
38
|
-
REFERENCE FILES: Read these before starting:
|
|
39
|
-
- .claude/skills/mastermind-marketing/references/persuasion-psychology.md
|
|
40
|
-
[For copy tasks (landing pages, CTAs, email copy, headlines, subject lines), also read:]
|
|
41
|
-
- .claude/skills/mastermind-marketing/references/copywriting-frameworks.md
|
|
42
|
-
[For all copy review/edit passes, also read:]
|
|
43
|
-
- .claude/skills/stop-slop/SKILL.md
|
|
44
|
-
- .claude/skills/stop-slop/references/phrases.md
|
|
45
|
-
- .claude/skills/stop-slop/references/structures.md
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Specialist Agent Routing
|
|
51
|
-
|
|
52
|
-
Use these agents instead of generic types when the task is domain-specific:
|
|
53
|
-
|
|
54
|
-
| Task | Agent slug | When to use |
|
|
55
|
-
|---|---|---|
|
|
56
|
-
| Email sequences, drip campaigns, cold outreach | `email-specialist` | Any multi-email flow or cold email |
|
|
57
|
-
| Page CRO, signup flow, form, popup optimization | `cro-specialist` | Conversion analysis or optimization |
|
|
58
|
-
| Pricing decisions, tier design, pricing pages | `pricing-strategist` | Any pricing or packaging task |
|
|
59
|
-
| Product launch, feature announcement, GTM | `launch-strategist` | Any launch or release |
|
|
60
|
-
| Competitor pages, content strategy, topic planning | `competitive-content` | Competitive content or editorial planning |
|
|
61
|
-
| General copy and content | `content-creator` | Multi-platform content, brand storytelling |
|
|
62
|
-
| SEO audits, keyword strategy | `seo-specialist` | Technical SEO, organic search |
|
|
63
|
-
| Social media | `social-media-strategist` | Social content and calendars |
|
|
64
|
-
| Paid ads | `ad-creative-strategist` | Ad copy and paid creative |
|
|
65
|
-
|
|
66
|
-
For tasks outside these domains (referral programs, schema markup, analytics tracking), name the appropriate specialist agent in the briefing and let it handle depth.
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Complexity Assessment
|
|
71
|
-
|
|
72
|
-
Assess the prompt to determine execution mode:
|
|
73
|
-
|
|
74
|
-
**Simple (direct execution):** Single asset, single agent:
|
|
75
|
-
- "Write one tweet announcing the new API release"
|
|
76
|
-
- "Draft a subject line for the newsletter"
|
|
77
|
-
→ Use a single Content Creator agent. Skip manager delegation.
|
|
78
|
-
|
|
79
|
-
**Complex (spawn Marketing Manager agent):** Any of these:
|
|
80
|
-
- Full campaign across multiple channels
|
|
81
|
-
- SEO audit or keyword strategy
|
|
82
|
-
- Social media calendar or multi-post series
|
|
83
|
-
- Launch strategy requiring copy + analytics + distribution
|
|
84
|
-
→ Spawn Marketing Manager agent with full briefing.
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## Standalone Execution (when called without master)
|
|
89
|
-
|
|
90
|
-
If this skill is invoked directly (not by master):
|
|
91
|
-
|
|
92
|
-
1. Load brain context following mastermind-protocol/SKILL.md Brain Load Procedure (namespace: `marketing`)
|
|
93
|
-
2. Run intake from mastermind-intake/SKILL.md if prompt is vague
|
|
94
|
-
3. Follow mastermind-protocol/SKILL.md Monotask Space+Board Setup Procedure:
|
|
95
|
-
```bash
|
|
96
|
-
project_name="${project_name:-$(basename "$PWD")}"
|
|
97
|
-
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
|
|
98
|
-
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
99
|
-
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
|
|
100
|
-
board_id=$(monotask board create "marketing" --json | jq -r '.id // empty')
|
|
101
|
-
[ -z "$board_id" ] && { echo "ERROR: Failed to create marketing board"; exit 1; }
|
|
102
|
-
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
103
|
-
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
|
|
104
|
-
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
|
|
105
|
-
done_col=$(monotask column create "$board_id" "Done" --json | jq -r '.id')
|
|
106
|
-
```
|
|
107
|
-
4. Proceed with complexity assessment below
|
|
108
|
-
5. At end: follow mastermind-protocol/SKILL.md Brain Write Procedure (namespace: `marketing`)
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## Complex Execution — Marketing Manager Agent
|
|
113
|
-
|
|
114
|
-
Spawn a Marketing Manager agent via Task tool:
|
|
115
|
-
|
|
116
|
-
```javascript
|
|
117
|
-
Task({
|
|
118
|
-
subagent_type: "coordinator",
|
|
119
|
-
description: `You are the Marketing Manager for project <project_name>.
|
|
120
|
-
|
|
121
|
-
CONTEXT: <date> | Project: <project_name> | Spawned by: mastermind:marketing
|
|
122
|
-
|
|
123
|
-
BRAIN CONTEXT:
|
|
124
|
-
<brain_context>
|
|
125
|
-
|
|
126
|
-
YOUR BOARD: <board_id>
|
|
127
|
-
YOUR GOAL: <prompt>
|
|
128
|
-
|
|
129
|
-
STEP 1 — PLAN
|
|
130
|
-
Decompose the marketing goal into parallel workstreams. For each workstream, identify:
|
|
131
|
-
- Which channel or medium it targets (social, SEO, email, paid, content)
|
|
132
|
-
- Which specialist to assign
|
|
133
|
-
- What deliverables are needed (copy, strategy doc, keyword list, calendar)
|
|
134
|
-
- Dependencies between workstreams
|
|
135
|
-
|
|
136
|
-
STEP 2 — CREATE TASKS
|
|
137
|
-
For each workstream, create a monotask card on the project board.
|
|
138
|
-
First look up column IDs and assign shell variables:
|
|
139
|
-
```bash
|
|
140
|
-
columns=$(monotask column list "$BOARD_ID" --json)
|
|
141
|
-
COL_TODO_ID=$(echo "$columns" | jq -r '.[] | select(.title == "Todo" or .title == "Backlog") | .id' | head -1)
|
|
142
|
-
COL_DONE_ID=$(echo "$columns" | jq -r '.[] | select(.title == "Done") | .id' | head -1)
|
|
143
|
-
```
|
|
144
|
-
Then create the card:
|
|
145
|
-
```bash
|
|
146
|
-
result=$(monotask card create "$BOARD_ID" "$COL_TODO_ID" "<short summary of workstream goal, ≤80 chars>" --json)
|
|
147
|
-
CARD_ID=$(echo "$result" | jq -r '.id // empty')
|
|
148
|
-
monotask card set-description "$BOARD_ID" "$CARD_ID" "[specific marketing workstream goal]"
|
|
149
|
-
monotask card comment add "$BOARD_ID" "$CARD_ID" "CONTEXT: <date> | Project: <project_name> | Created by: Marketing Manager
|
|
150
|
-
BRAIN MEMORY: [paste most relevant 3-5 brain context excerpts]
|
|
151
|
-
SCOPE: [channel, audience, tone, brand constraints]
|
|
152
|
-
CONSTRAINTS: [brand voice, legal/compliance, budget limits, existing assets]
|
|
153
|
-
REFERENCE FILES: [for copy/content workstreams: .claude/skills/mastermind-marketing/references/persuasion-psychology.md; for copy tasks also: .claude/skills/mastermind-marketing/references/copywriting-frameworks.md; for copy review/edit: .claude/skills/stop-slop/SKILL.md, .claude/skills/stop-slop/references/phrases.md, .claude/skills/stop-slop/references/structures.md]
|
|
154
|
-
SUCCESS CRITERIA:
|
|
155
|
-
- [ ] [checkable item]
|
|
156
|
-
AGENT: [Content Creator | Email Marketing Specialist | CRO Specialist | Pricing Strategist | Launch Strategist | Competitive Content Strategist | SEO Specialist | Social Media Strategist | Analytics Reporter | Ad Creative Strategist]
|
|
157
|
-
SWARM: star 5 parallel
|
|
158
|
-
DEPENDENCIES: [task IDs or \"none\"]
|
|
159
|
-
OUTPUT FORMAT: unified output schema"
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
STEP 3 — EXECUTE
|
|
163
|
-
Spawn one Task agent per workstream (all in parallel — star topology, hub aggregates):
|
|
164
|
-
- Copy and content: subagent_type "Content Creator"
|
|
165
|
-
- SEO: subagent_type "SEO Specialist"
|
|
166
|
-
- Social media: subagent_type "Social Media Strategist"
|
|
167
|
-
- Analytics and measurement: subagent_type "Analytics Reporter"
|
|
168
|
-
- Ad creative: subagent_type "Ad Creative Strategist"
|
|
169
|
-
- Email sequences / drip campaigns: subagent_type "Email Marketing Specialist" (slug: email-specialist)
|
|
170
|
-
- Page / flow CRO: subagent_type "CRO Specialist" (slug: cro-specialist)
|
|
171
|
-
- Pricing strategy / packaging: subagent_type "Pricing Strategist" (slug: pricing-strategist)
|
|
172
|
-
- Product launch / GTM: subagent_type "Launch Strategist" (slug: launch-strategist)
|
|
173
|
-
- Competitive content / comparison pages: subagent_type "Competitive Content Strategist" (slug: competitive-content)
|
|
174
|
-
|
|
175
|
-
Also run /mastermind:do --board <board_id> to track execution.
|
|
176
|
-
|
|
177
|
-
STEP 4 — COLLECT AND RETURN
|
|
178
|
-
Collect all agent outputs. Return to caller:
|
|
179
|
-
|
|
180
|
-
domain: marketing
|
|
181
|
-
status: complete | partial | blocked
|
|
182
|
-
artifacts:
|
|
183
|
-
- path: [each asset created — copy doc, keyword list, social calendar]
|
|
184
|
-
type: copy
|
|
185
|
-
decisions:
|
|
186
|
-
- what: [channel prioritization or messaging decisions]
|
|
187
|
-
why: [reasoning]
|
|
188
|
-
confidence: [0.0-1.0]
|
|
189
|
-
outcome: pending | shipped
|
|
190
|
-
lessons:
|
|
191
|
-
- what_worked: [which channels or approaches were strongest]
|
|
192
|
-
- what_didnt: [what needed more brand context or iteration]
|
|
193
|
-
next_actions:
|
|
194
|
-
- [e.g. "run mastermind:content to produce the blog series"]
|
|
195
|
-
- [e.g. "run mastermind:review on the campaign copy"]
|
|
196
|
-
board_url: monotask://<project_name>/marketing
|
|
197
|
-
run_id: <ISO8601-timestamp>`,
|
|
198
|
-
run_in_background: true
|
|
199
|
-
})
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## Simple Execution
|
|
205
|
-
|
|
206
|
-
For simple tasks (single agent, single asset):
|
|
207
|
-
|
|
208
|
-
1. Spawn one Task agent with the marketing request as a self-contained briefing
|
|
209
|
-
2. Collect output
|
|
210
|
-
3. Return unified output schema with `status: complete`
|
|
211
|
-
|
|
212
|
-
---
|
|
213
|
-
|
|
214
|
-
## Domain Swarm Defaults
|
|
215
|
-
|
|
216
|
-
| Task Type | Agent | Swarm |
|
|
217
|
-
|---|---|---|
|
|
218
|
-
| Full campaign | coordinator + channel specialists | star 5 parallel |
|
|
219
|
-
| SEO strategy | SEO Specialist | hierarchical 3 raft specialized |
|
|
220
|
-
| Social calendar | Social Media Strategist | hierarchical 3 raft specialized |
|
|
221
|
-
| Copy production | Content Creator | single agent or hierarchical 3 |
|
|
222
|
-
| Email sequence | Email Marketing Specialist | single agent |
|
|
223
|
-
| Cold outreach | Email Marketing Specialist | single agent |
|
|
224
|
-
| Page / flow CRO | CRO Specialist | single agent |
|
|
225
|
-
| Pricing design | Pricing Strategist | single agent |
|
|
226
|
-
| Product launch | Launch Strategist + Content Creator | hierarchical 3 |
|
|
227
|
-
| Competitive content | Competitive Content Strategist | single agent |
|
|
228
|
-
| Analytics review | Analytics Reporter | single agent |
|