Mastermind goals — define, track, and visualize hierarchical goals for an org. Goals link to tasks, have progress metrics, and form a goal tree.
Scanned 9/10/2026
Install to Claude Code
npx -y skills add monoes/monomind --skill mastermind-goals --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mastermind Goals?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/monoes-mastermind-goals-322c22c8)More formats (shields.io, HTML) on the badges page.
---
name: mastermind-goals
description: Mastermind goals — define, track, and visualize hierarchical goals for an org. Goals link to tasks, have progress metrics, and form a goal tree.
type: domain-skill
default_mode: confirm
---
# Mastermind Goals
This skill is invoked by `mastermind:goals` or directly via `/mastermind:goals`.
---
## Inputs
- `brain_context`: BRAIN CONTEXT block
- `org_name`: org whose goals to manage
- `action`: list | add | update | link | close
- `goal_title`: title for add
- `goal_id`: slug for update/link/close
- `parent_goal`: parent goal slug (for hierarchy)
- `status`: active | achieved | paused | cancelled
- `metric`: success metric description (e.g. "100 blog posts published")
- `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 Goals State
Goals are stored in `.monomind/orgs/<org_name>-goals.json`. Create if missing:
```bash
goalsFile=".monomind/orgs/${org_name}-goals.json"
[ ! -f "$goalsFile" ] && echo '{"goals":[]}' > "$goalsFile"
```
---
## Step 2 — Execute Action
### list (default)
Render goal tree with progress metrics. Goals without a `parent` are root goals; child goals are indented:
```bash
jq -r '
def tree(gs; pid):
gs | map(select(.parent == pid)) | .[] |
(" " * (.depth // 0)) + "[\(.id)] \(.title) [\(.status // "active")] \(.metric // "")" ,
tree(gs; .id);
.goals | tree(.; null)
' "$goalsFile" 2>/dev/null || jq -r '(.goals // [])[] | "[\(.id)] \(.title) [\(.status // "active")]"' "$goalsFile"
```
Render as:
```
GOALS — org: <org_name>
──────────────────────────────────────
[grow-audience] Grow audience to 10k followers [active]
[content-output] Publish 3 posts/week [active] metric: 3 posts/week
[blog-drafts] 5 draft articles in pipeline [active]
[improve-seo] Rank top 10 for target keywords [active]
```
### add
```bash
goal_slug=$(echo "$goal_title" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | tr -s '-')
tmp="${goalsFile}.tmp"
jq --arg id "$goal_slug" \
--arg title "$goal_title" \
--arg parent "${parent_goal:-}" \
--arg status "active" \
--arg metric "${metric:-}" \
--arg created_at "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
'.goals += [{"id":$id,"title":$title,"parent":($parent|if .=="" then null else . end),"status":$status,"metric":$metric,"created_at":$created_at,"tasks":[]}]' \
"$goalsFile" > "$tmp" && mv "$tmp" "$goalsFile"
echo "Goal added: $goal_slug"
```
Emit `org:goal:created` event to dashboard.
### update
Update goal status or metric:
```bash
tmp="${goalsFile}.tmp"
jq --arg id "$goal_id" \
--arg status "${status:-}" \
--arg metric "${metric:-}" \
'.goals = [(.goals // [])[] | if .id == $id then
(if $status != "" then .status = $status else . end) |
(if $metric != "" then .metric = $metric else . end) |
(.updated_at = (now|todate))
else . end]' \
"$goalsFile" > "$tmp" && mv "$tmp" "$goalsFile"
```
### link
Link a task id to a goal (append to goal's tasks array):
```bash
tmp="${goalsFile}.tmp"
jq --arg id "$goal_id" --arg task "$task_id" \
'.goals = [(.goals // [])[] | if .id == $id then .tasks += [$task] else . end]' \
"$goalsFile" > "$tmp" && mv "$tmp" "$goalsFile"
```
### close
Mark goal as achieved and timestamp:
```bash
tmp="${goalsFile}.tmp"
jq --arg id "$goal_id" \
'.goals = [(.goals // [])[] | if .id == $id then .status = "achieved" | .achieved_at = (now|todate) else . end]' \
"$goalsFile" > "$tmp" && mv "$tmp" "$goalsFile"
```
Emit `org:goal:achieved` event.
---
## Step 3 — Return Output
```yaml
domain: ops
status: complete
action: <action>
org: <org_name>
goal_id: <goal_id if applicable>
goals_file: .monomind/orgs/<org_name>-goals.json
```
Suggest next: "Link tasks to this goal with /mastermind:tasks link or /mastermind:goals link --goal-id <id> --task-id <card_id>"
---
## Step 4 — Brain Write (standalone only)
If `caller` is not "command", follow mastermind-protocol/SKILL.md Brain Write Procedure for domain `ops`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!