Mastermind Stop Org

VerifiedCaution

Stops a running scheduled org loop by setting its status to stopped, handling both v1 and v2 orgs and sending stop requests. Prevents orphaned wakeups.

Sby Skills Guide Bot
DevOpsIntermediate
208/30/2026
Claude Code
#orchestration#scheduler#stop#monomind#automation

Recommended for

Our review

This skill stops a scheduled org loop by setting its status to 'stopped' and ensuring it does not reschedule.

Strengths

  • Handles both v1 and v2 orgs with separate execution paths.
  • Prevents orphaned wakeups by killing the loop on its next cycle.
  • Validates the org exists and lists available ones if not.
  • Uses the monomind CLI, a stop file, and an API call for maximum coverage.

Limitations

  • Specific to the Mastermind/monomind system, not portable.
  • Requires external tools like jq, npx, curl, and git.
  • Takes effect on the next loop interval, not immediately for v1 orgs.
When to use it

When you need to cleanly terminate a scheduled org loop without leaving residual tasks.

When not to use it

If you only want to pause a loop temporarily and resume later, as this skill permanently stops the cycle.

Security analysis

Caution
Quality score82/100

The skill performs a legitimate operational stop of a scheduled loop using bash, network calls, and file modifications. It does not instruct destructive or clearly exfiltrating actions, but the token transmission and external package execution warrant caution.

Findings
  • Sends dashboard token via curl to a control server URL defined in control.json; if that URL is malicious, token could be exfiltrated.
  • Executes `npx -y monomind@latest`, which downloads and runs code from the npm registry, introducing supply-chain risk.
  • Modifies org state files and creates stop files without explicit backup or dry-run.

Examples

Stop a specific org loop
/mastermind:stoporg --org weekly-report
Stop an org by natural language
Stop the scheduled org loop for the marketing org.

name: mastermind-stoporg description: Mastermind stoporg — stop a running scheduled org loop by setting its status to "stopped". The next scheduled wakeup will read the status, skip all work, and not reschedule. Loop dies within one interval — no orphaned wakeups. type: domain-skill default_mode: auto

Mastermind Stop Org

This skill is invoked by mastermind:stoporg or directly via /mastermind:stoporg.


Inputs

  • org_name: name of the org to stop (matches .monomind/orgs/<org_name>.json)
  • session_id: session ID generated by the command wrapper
  • caller: command | master

Step 0 — Brain Load (standalone only)

If caller is not "command", load brain context following mastermind-protocol/SKILL.md Brain Load Procedure with namespace: ops.


Step 1 — Validate Org

orgFile=".monomind/orgs/${org_name}.json"
[ ! -f "$orgFile" ] && {
  echo "ERROR: Org '${org_name}' not found."
  echo "Available orgs: $(ls .monomind/orgs/*.json 2>/dev/null | grep -vE -- '-approvals|-state|-activity|-goals|-routines|-projects|-members|-issues|-workspaces|-worktrees|-environments|-plugins|-adapters|-bootstrap|-threads|-budgets|-project-workspaces|-approval-comments' | xargs -I{} basename {} .json | tr '\n' ' ')"
  exit 1
}

Read current status:

current_status=$(jq -r '.status // "no-schedule"' "$orgFile")
has_schedule=$(jq -r 'if .loop.poll_interval_minutes then "yes" else "no" end' "$orgFile")

If has_schedule == "no" — this is a v2 org (Org Runtime v2 has schedule, never .loop). Its daemon polls .monomind/orgs/<name>/stop every 2s, which is exactly what monomind org stop writes — use the CLI, not the v1 .stops/ path:

REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
CTRL_URL=$(jq -r '.url // "http://localhost:4242"' "$REPO_ROOT/.monomind/control.json" 2>/dev/null || echo "http://localhost:4242")
npx -y monomind@latest org stop "${org_name}" \
  || { mkdir -p ".monomind/orgs/${org_name}"; date -u +%Y-%m-%dT%H:%M:%SZ > ".monomind/orgs/${org_name}/stop"; }
# Also POST to the control server in case a dashboard-started instance is running
curl -s -X POST -H "x-monomind-token: $(cat "${REPO_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}/.monomind/dashboard-token" 2>/dev/null || true)" "${CTRL_URL}/api/orgs/${org_name}/stop" >/dev/null 2>&1 || true
echo "Stop requested for org '${org_name}' (v2 daemon exits within 2s)."
  • Exit.
<!-- LEGACY-ORG-V1: remove this branch when v1 orgs are gone -->

Everything below this point only runs for v1 orgs — v2 orgs already exited above.

If current_status == "stopped":

  • Print: "Org '<org_name>' is already stopped."
  • Exit.

<!-- LEGACY-ORG-V1: remove this step when v1 orgs are gone -->

Step 2 — Set Status to Stopped and Clear next_run (v1 only)

orgFile=".monomind/orgs/${org_name}.json"
tmp="${orgFile}.tmp"
# Clear next_run to avoid showing a stale future timestamp in orgstatus
jq '.status = "stopped" | if .loop then .loop.next_run = null else . end' "$orgFile" > "$tmp" && mv "$tmp" "$orgFile"

<!-- LEGACY-ORG-V1: remove this step when v1 orgs are gone -->

Step 3 — Write Stop File (for any running boss agents, v1 only)

Any persistent boss agent checks for this file at the start of each loop iteration:

mkdir -p .monomind/orgs/.stops
touch ".monomind/orgs/.stops/${org_name}.stop"

<!-- LEGACY-ORG-V1: remove this step when v1 orgs are gone -->

Step 5 — Report to User (v1 only)

✓ Org "<org_name>" stopped.

  Current status: stopped
  The loop will exit at its next scheduled wakeup without rescheduling.
  Loop fully dead within: ≤$(jq -r '.loop.poll_interval_minutes // "?"' "$orgFile") minutes

  To restart: /mastermind:runorg --org <org_name>
  Status:     /mastermind:orgstatus --org <org_name>

Step 6 — Return Output

domain: ops
status: complete
decisions:
  - what: "Org <org_name> stopped"
    why: "status set to 'stopped'; next wakeup exits without rescheduling"
    confidence: 1.0
    outcome: shipped
next_actions:
  - "To restart: /mastermind:runorg --org <org_name>"
  - "To check current state: /mastermind:orgstatus --org <org_name>"

Step 7 — Brain Write (standalone only)

If caller is not "command", follow mastermind-protocol/SKILL.md Brain Write Procedure for domain ops.

Related skills