Skip to content
Back to skills

Mastermind Routines

ASecurity

Mastermind routines — manage an org's recurring runs via its `schedule` interval (run by `monomind org serve`): set, clear, pause, resume, run now. Per-agent cron is not enforced.

  • 21 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 10, 2026
ai-agentsgobashexpress

Works with

  • cli

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add monoes/monomind --skill mastermind-routines --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mastermind Routines?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Mastermind Routines
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/monoes-mastermind-routines/badge)](https://www.skillsdirectory.com/skills/monoes-mastermind-routines)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mastermind-routines
description: "Mastermind routines — manage an org's recurring runs via its `schedule` interval (run by `monomind org serve`): set, clear, pause, resume, run now. Per-agent cron is not enforced."
type: domain-skill
default_mode: confirm
pick: low
---

# Mastermind Routines

This skill is invoked directly via `/mastermind-routines`.

The Org Runtime has exactly one recurring trigger: the `schedule` field of the org definition
`.monomind/orgs/<org>.json` (`OrgDefSchema` in `packages/@monomind/cli/src/orgrt/types.ts`).

- Format (`parseSchedule` in `orgrt/scheduler.ts`): `"<N>s"`, `"<N>m"`, `"<N>h"`, or a number of
  minutes. `null` = manual only. Cron expressions are **not** accepted — "weekdays at 9am" cannot be
  expressed; use an interval.
- Only `monomind org serve` runs schedules, and it reads them when it starts. After changing
  `schedule`, restart `org serve` (`org reload` does not re-arm the timer).
- Each tick starts a full org run toward the org's `goal`, bounded by `run_config.max_run` (default:
  the interval). A tick that lands while the org is already running yields; ticks missed while a
  run was in progress coalesce into one catch-up run when it ends. `run_config.prechecks` that fail
  skip the tick. A paused org (`monomind org pause`) skips its ticks until resumed.

There are no per-agent routines, cron schedules, or concurrency/catch-up policies in the runtime.
Never write routines to `.monomind/orgs/<org>-routines.json` — the runtime does not read that file
(only the dashboard displays it), so a routine stored there never fires. When a user asks for one
recurring task, map it to the org's `schedule` + `goal`; when they need several independent
cadences, suggest one org per cadence.

---

## Inputs

- `brain_context`: BRAIN CONTEXT block
- `org_name`: org to manage routines for
- `action`: list | set | clear | pause | resume | trigger
- `schedule`: interval for set (e.g. `30m`, `2h`, `24h` — no `d` unit, no cron)
- `task_title`: for trigger — overrides the org goal for that one run (optional)
- `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 — Load Org

```bash
orgFile=".monomind/orgs/${org_name}.json"
[ ! -f "$orgFile" ] && { echo "ERROR: Org '${org_name}' not found."; exit 1; }
```

---

## Step 2 — Execute Action

### list (default)

```bash
echo "ROUTINES — org: $org_name"
echo "──────────────────────────────────────────────────────"
jq -r '
  "  schedule: \(.schedule // "none (manual — monomind org run)")",
  "  goal:     \(.goal // "" | .[0:100])",
  "  max_run:  \(.run_config.max_run // "(the interval)")",
  "  prechecks: \((.run_config.prechecks // []) | length)"
' "$orgFile"
[ -f ".monomind/orgs/${org_name}/pause" ] && echo "  status:   PAUSED — scheduled ticks are skipped"
echo ""
echo "  Last runs:"
npx -y monomind@latest org report "$org_name" --all 2>/dev/null | tail -n 5

legacy=".monomind/orgs/${org_name}-routines.json"
if [ -f "$legacy" ] && [ "$(jq '(.routines // []) | length' "$legacy" 2>/dev/null)" != "0" ]; then
  echo ""
  echo "  NOT ENFORCED — entries in $legacy (the runtime never reads this file):"
  jq -r '(.routines // [])[] | "    - \(.name // .id) (\(.schedule // "?"))"' "$legacy"
  echo "  Fold the one that matters into the org schedule with --action set, then remove the file."
fi
```

### set

```bash
echo "$schedule" | grep -qE '^[0-9]+(s|m|h)$' \
  || { echo "ERROR: schedule must match ^[0-9]+(s|m|h)$ (e.g. 30m, 2h, 24h) — cron is not supported"; exit 1; }
tmp="${orgFile}.tmp"
jq --arg v "$schedule" '.schedule = $v' "$orgFile" > "$tmp" && mv "$tmp" "$orgFile"
echo "Updated: schedule → $schedule"
npx -y monomind@latest org validate "$org_name" \
  || echo "WARNING: '${org_name}' no longer passes validation — fix it before 'monomind org serve'"
echo "Start (or restart) the scheduler to apply it: npx -y monomind@latest org serve"
```

### clear

```bash
tmp="${orgFile}.tmp"
jq '.schedule = null' "$orgFile" > "$tmp" && mv "$tmp" "$orgFile"
echo "Updated: schedule → none (manual — run with monomind org run ${org_name})"
echo "Restart a running 'monomind org serve' so it drops the timer."
```

### pause / resume

Pausing keeps the schedule but makes every tick skip; resume re-enables them.

```bash
npx -y monomind@latest org "$action" "$org_name"
```

### trigger

Start one run now, outside the schedule:

```bash
npx -y monomind@latest org run "$org_name" ${task_title:+--task "$task_title"}
```

---

## Step 3 — Return Output

```yaml
domain: ops
status: complete
action: <action>
org: <org_name>
schedule: <the org's schedule after the action, or null>
config_file: .monomind/orgs/<org_name>.json
```

---

## Step 4 — Brain Write (standalone only)

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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.