From do-stuff-helper
This skill should be used when the user asks to "plan my week", "what should I focus on", "update my priorities", "forward motion", "what's next", "review my week", "weekly review", or when an n8n trigger fires for plan refresh or weekly review. It evaluates all activities against the user's life priorities and produces a prioritized week-ahead plan. Do NOT trigger for work on a specific activity or waypoint — only for cross-activity prioritization and review.
How this skill is triggered — by the user, by Claude, or both
Slash command
/do-stuff-helper:forward-motionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Maintain a living week-ahead plan that tells the user what 2-3 things to focus on next, updated as work progresses. Start from life priorities and map downward to concrete next steps. Operates in two modes: **plan** (default) and **review** (weekly retrospective + full re-evaluation).
Maintain a living week-ahead plan that tells the user what 2-3 things to focus on next, updated as work progresses. Start from life priorities and map downward to concrete next steps. Operates in two modes: plan (default) and review (weekly retrospective + full re-evaluation).
Plan mode (default): Reads all activity roadmaps, changelogs, inboxes, and user profile. Evaluates priorities using the life-priority-first lens. Produces or updates ~/exoselfai/docs/forward-motion/current-plan.json.
Review mode (invoked with "review" argument, or by Sunday n8n trigger): Reads the week's plan history and activity changelogs. Produces ~/exoselfai/docs/forward-motion/review-YYYY-WNN.md. Then runs a full plan re-evaluation for the new week.
Read all of the following. If a file is missing, note it but continue with what is available.
~/exoselfai/docs/user-profile.json
yearly_theme, overview, life_areas (with importance ratings), ideal_future (major goals with life_areas, success_criteria, timeframe, status), work_habits, known_tendencies~/exoselfai/activities/*/docs/roadmap-*.json
~/exoselfai/activities/*/docs/inbox.json
~/exoselfai/activities/*/docs/changelog.md
~/exoselfai/docs/forward-motion/current-plan.json
first_appeared timestamps, last_progress_at timestamps, user feedbackIf this is the first run and no plan exists, proceed to Step 2 — all tracking fields will be initialized fresh.
Start from the user's stated life priorities, not from activities.
user-profile.json → ideal_future — each has life_areas, success_criteria, timeframe, statuslife_areas → importance (1-7 scale)This produces a goal-to-activity mapping. Example:
Goal: "Launch side businesses" (importance areas: money 7, career 6, adventure 5)
-> wildlife-cards: w3 (implementing), w4 (pending)
-> ai-consulting: no activity exists yet <-- blind spot
Goal: "Lose 10 lbs by June" (importance area: health 5)
-> no activity exists <-- blind spot, approaching deadline
Gather all actionable candidates:
pending with all deps done, or implementing/waiting)Score each candidate by:
known_tendencies from the profile. Boost priority if the candidate addresses a tendency the user is exhibiting.Pick 2-3 items. Apply these rules:
The plan should feel like a reliable to-do list, not something that reshuffles unpredictably.
On each refresh:
last_progress_at to the current timestamp.first_appeared timestamp from when it was first added to the planweeks_without_progress as floor((now - last_progress_at) / 7 days) — this is a derived value computed on each refresh, not a stored counterReasons to change the list:
Reasons NOT to change the list (mid-week):
Staleness signal: Items with weeks_without_progress >= 3 are flagged as stalled. This uses real calendar time, not refresh frequency. Stalled items get a tendency flag noting the pattern.
Mid-week refreshes are incremental. The Sunday run is the full re-evaluation where rankings can shift more freely.
Read user-profile.json -> known_tendencies and check for these patterns:
waiting with no movement.weeks_without_progress >= 3).Tendency flags are constructive nudges, not guilt trips. Only surface a flag when the pattern is actually present in the data. Do not flag every week by default.
Attach relevant tendency_flag strings to individual priority items when applicable. Example flags:
"This has been on the plan for 4 weeks without progress — possible avoidance pattern""All recent progress is on building; customer outreach remains untouched""Health goals have no active work despite approaching timeframe"Check each priority item for user_feedback. If set, process it:
| Feedback | Action |
|---|---|
| "Not important right now" / "Deprioritize" | Drop the item, replace with next best candidate |
| "Deferred until [date]" | Set deferred_until date, remove from active plan |
| "Blocked on [something]" | Hold item with blocker note visible, do not replace |
| "Already working on this" / "Started" | Update status to in_progress |
| "Done" | Update status to done, trigger refresh to rotate in new priority |
| Free-form context | Store in user_feedback, factor into next reasoning pass |
When user provides any feedback, update last_progress_at to the current timestamp for that item (feedback counts as engagement).
Ensure the directory exists: ~/exoselfai/docs/forward-motion/
Write ~/exoselfai/docs/forward-motion/current-plan.json with the following schema:
{
"week": "YYYY-WNN",
"created": "ISO-8601 timestamp of first creation this week",
"refreshed": "ISO-8601 timestamp of this refresh",
"life_priority_snapshot": [
{
"goal": "Goal description from profile",
"timeframe": "end of year | by June | etc.",
"status": "active | not_started | completed",
"coverage": "Summary of which activities/waypoints advance this goal, or 'not started'"
}
],
"priorities": [
{
"rank": 1,
"summary": "Short description of what to focus on",
"activity": "activity-slug or null for blind spots",
"waypoint": "w6 or null",
"type": "waypoint | inbox | user_task | blind_spot",
"rationale": "Why this is the most important thing right now",
"goal_alignment": ["Goal description 1", "Goal description 2"],
"status": "not_started | in_progress | done",
"first_appeared": "ISO-8601 timestamp",
"last_progress_at": "ISO-8601 timestamp — set to first_appeared initially, updated when progress detected or user gives feedback",
"weeks_without_progress": 0,
"tendency_flag": "string or null",
"user_feedback": "string or null",
"deferred_until": "ISO-8601 date or null"
}
],
"blocked_on_user": [
{
"activity": "activity-slug",
"item_id": "q-1",
"subject": "Description of what's blocked",
"age_days": 5
}
],
"blind_spots": [
{
"goal": "Goal with no active work",
"observation": "Description of the gap",
"suggestion": "Concrete next step to address it"
}
],
"tendency_observations": [
"Only present when a pattern is actually detected. Constructive, not guilt-inducing."
],
"next_review": "YYYY-MM-DD (next Sunday)"
}
Field notes:
week uses ISO week numbering (e.g., 2026-W10)created is set once when the plan is first written for a new week; refreshed updates on every runpriorities should contain 2-3 items (rarely more)blocked_on_user surfaces inbox items that need the user's attention, sorted by age descendingblind_spots surfaces major goals with no active worktendency_observations is a top-level array for general patterns; item-level tendency_flag is for per-priority nudgesAfter writing the file, present the plan to the user in a readable format:
Review mode runs on Sundays (via n8n trigger) or when the user asks for a "weekly review". It produces a retrospective, then runs a full plan re-evaluation.
current-plan.json — note the created date to determine the week boundary~/exoselfai/activities/*/docs/changelog.md) for entries within the past 7 daysFor each activity with recent changelog entries:
Cross-reference with the week's plan priorities:
Produce ~/exoselfai/docs/forward-motion/review-YYYY-WNN.md using this template:
# Week NN Review — YYYY-MM-DD
## Progress
- [activity]: [what moved forward]
- [activity]: [what moved forward]
## Stalled
- [activity]: [what didn't move, why if known]
## Effort vs. Priority
[Were the week's priorities addressed? Where did time actually go?
Note any divergence between planned priorities and actual work.]
## Aging Blockers
- [item]: [age], [what's needed to unblock]
## Tendency Watch
[Only include this section when a pattern is actually present.
Reference specific evidence, not general warnings.]
## Goal Coverage
[Which major goals got attention this week, which didn't.
Blind spots identified or resolved.]
Show the review to the user. Ask for any reflections or corrections before saving.
After the review is saved, run a full plan re-evaluation for the new week:
created timestamp marks the start of the new weeklast_progress_at timestamps carry forward (they do not reset on new week — only on actual progress)do-stuff-helper:user-profile-builder. Proceed with activity data only, but skip life-priority lens and tendency checks.do-stuff-helper:discover.do-stuff-helper:user-profile-builder — Suggest if no user profile exists (Step 1 fallback).do-stuff-helper:discover — Suggest if blind spots identify goals with no activity at all.do-stuff-helper:waypoint-implement — After presenting the plan, the user may choose to start working on a priority. Suggest invoking the implement skill for waypoint-type priorities.do-stuff-helper:replan — If the review surfaces structural issues (waypoints that should be split, dependencies that are wrong), suggest running replan.npx claudepluginhub ryanismert/do-stuff-helper --plugin do-stuff-helperDesigns a structured weekly review ritual to process tasks, plan the week, and maintain control of commitments and projects.
Coaches users through GTD for annual goals: generates SOPs, daily tasks, progress tracking, and reviews. Persists state via memory across sessions. Activates on goal/planning queries.