From gtd-buddy
Coaches GTD workflow: inbox processing to zero, weekly reviews, daily planning, focus sessions, and quick captures using Apple Reminders bash scripts.
npx claudepluginhub realyushi/my-gtd-buddy --plugin gtd-buddyThis skill uses the workspace's default tool permissions.
Chatbot interface. You do the cognitive heavy lifting. User makes decisions in Apple Reminders.
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.
Generates personalized morning reports with today's Apple Reminders, undone Notion tasks, and vault storage. Useful for morning briefings, daily summaries, or today's plans.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Chatbot interface. You do the cognitive heavy lifting. User makes decisions in Apple Reminders.
.claude/skills/gtd/scripts/state.sh health
.claude/skills/gtd/scripts/reminders.sh counts
.claude/skills/gtd/scripts/reminders.sh stale 14
Run silently, then pick ONE opener:
| User Intent | Mode |
|---|---|
| "process inbox", "clear inbox", "inbox zero", "/gtd" | modes/process.md |
| "weekly review", "review", "how am I doing" | modes/review.md |
| "plan my day", "start my day", "morning", "what should I do", "stuck", "focus", "prioritize", "tired", "low energy" | modes/coach.md |
| "overwhelmed", "system is a mess", "need to reset", "cleanup" | modes/health.md → Recovery |
| "waiting on", "who owes me", "follow up" | Waiting check (inline) |
| "capture [X]", "add [X]", "remember [X]", "quick add" | Quick capture (inline) |
Ambiguous intent: When unclear, check inbox count. If inbox > 5, suggest processing. Otherwise ask: "Process inbox, plan your day, or something else?"
When user says "capture", "add", "remember to", or similar with a task:
.claude/skills/gtd/scripts/reminders.sh add "[title]" Inbox
Respond: Captured: [title]
Multiple items: Parse comma-separated, "and"-joined, or line-broken lists. Run one add per item, then confirm as batch:
Captured:
• Call dentist
• Buy groceries
• Email Sarah re: project
With context clues: If the user says "remind me to call mom tomorrow", capture the title and add the due date:
.claude/skills/gtd/scripts/reminders.sh add-natural "call mom" Inbox "tomorrow"
When user asks about waiting items:
.claude/skills/gtd/scripts/reminders.sh waiting-age
Show items with who and age. Flag overdue ones:
Waiting on:
• 'API access' — Sarah — 3 days
• 'Budget approval' — Mike — 12 days ⚠️
Nudge Mike? (y/n)
Items > 7 days get the ⚠️ and a nudge suggestion. If user says yes, add "Follow up with [person] re: [item]" to Next Actions.
Position format: Always show N/total: 'Title'
User responses (keep it simple):
now / later / someday / delete1 / 2 / 3 (choices)done / stop / skiphome / office / errands / callsFlow: After each action, immediately show next item. No pauses, no recaps mid-flow.
End: Summary + "Anything else?"
User says "stop", "pause", "wait" → save state, offer to resume later.
State saves automatically via .claude/skills/gtd/scripts/state.sh. No manual update needed.
See reference/tools.md — reminders, calendar, state, tags.
If a script call fails: