| name | goals |
| description | Obsidian goals review for quarterly, monthly, or weekly goal notes. Use when the user asks to review goals, run an OKR check-in, update goals, set monthly goals, check whether goals are on track, or runs /goals. |
| user-invocable | true |
| argument-hint | [quarterly | monthly | weekly — omit to choose] |
Goals Review
Check-in and update goal notes across quarterly, monthly, and weekly levels. Goal reviews only
matter if they connect to action — this skill always ends with concrete next steps, not just status
updates.
Ask, Don't Assume
Shared principle (canonical version in the vault skill): never guess, deduce, or fill gaps with
assumptions about the user's notes, priorities, or intent. If you don't know — a date range, what
counts as a win, which goals are active — ask. Before writing any synthesis or judgment into a
note, show your draft with its source and get explicit confirmation. Missing data is not permission
to invent.
Step 1 — Determine Review Level
If $ARGUMENTS is provided, validate it against quarterly, monthly, or weekly. If it is
missing or anything else, ask via AskUserQuestion:
"Which goals review would you like?"
Step 2 — Load Context (run in parallel)
obsidian base:query path="2 - Areas/Goals/OKR Dashboard.base" format=json 2>/dev/null
obsidian files folder="1 - Projects/" format=json
Step 3 — Level-Specific Workflow
Weekly Review
Read this week's note using the same flat path logic as the weekly skill. Derive the ISO week-year
from the week being reviewed, not hardcoded placeholders:
WEEK="<ISO week-year>-W<week>"
YEAR="<ISO week-year>"
obsidian read path="2 - Areas/Daily Ops/$YEAR/$WEEK.md"
Check: are this week's planned lanes connected to monthly goals? Identify any monthly goal with no
verified weekly evidence as a question. For next week, confirm up to one Roofr, Markly, Learning,
and Public Artifact outcome; not-planned is valid.
Update the weekly note's named lane and Next Week Prepared sections after approval.
Monthly Review
MONTHLY="2 - Areas/Goals/Monthly/M - $(date +'%B %Y').md"
obsidian read path="$MONTHLY" 2>/dev/null || \
obsidian create path="$MONTHLY" template="Monthly Goals"
Check quarterly progress: which quarterly objectives is this month advancing? Flag at-risk goals
only when source-bound evidence exists: a missed milestone, elapsed due date, explicit blocker, or
user-confirmed concern. Otherwise frame it as a question to verify.
Update with: progress status per goal, adjustments, and next month's focus.
Quarterly Review
Read the current quarterly note:
QTR_PATH="2 - Areas/Goals/Quaterly/Quaterly Goals - Q<N> YYYY.md"
obsidian read path="$QTR_PATH" 2>/dev/null
For a mid-quarter check-in: assess progress, flag at-risk objectives only from missed milestones,
elapsed due dates, explicit blockers, or user-confirmed concerns, and surface blockers.
For a quarter wrap + new quarter: review previous quarter outcomes (hit / partial / missed),
extract learnings, then set new quarterly objectives broken into monthly milestones.
Ask via AskUserQuestion: "Is this a check-in or quarter transition?"
For new quarter setup, create the new quarterly note:
obsidian create path="2 - Areas/Goals/Quaterly/Quaterly Goals - Q<N> YYYY.md" \
template="Quarterly Goals"
Step 4 — Update the Goal Note
Update the relevant note with:
- Progress status per objective, with source evidence
- Adjustments to goals (if circumstances changed)
- Next actions tied to each objective
The CLI has no patch. If the update can append to the note, use obsidian append. If it must
change a specific section, ask the user: MCP obsidian_patch_content (heading-targeted) or read +
create ... overwrite. Always show a preview before writing and wait for explicit approval.
Gotchas
- The quarterly folder is
Quaterly (not "Quarterly") — this is a known vault typo. Match it
exactly or file creation will break.
- Don't create a new quarterly note mid-quarter — read the existing one.
- Don't mark a goal "missed" without asking if it should be adjusted instead. Goals can be refined;
they shouldn't just silently fail.