skills/things-morning-organizer/SKILL.md
Morning review and prioritization of Things todos. Use this skill every morning, or whenever the user asks to review, triage, categorize, or prioritize their Things tasks. Also trigger when the user says things like 'what should I work on today', 'organize my todos', 'morning routine', or 'daily review'.
npx skillsauth add apocohq/skills things-morning-organizerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Help the user start their day by organizing their Things todos and providing a clear, prioritized briefing.
Check for assets/config.json in this skill's directory.
If config exists → Load it and proceed to Step 1.
If config does NOT exist → Auto-generate it:
things_get_areas) and tags (things_get_tags)things_get_today, things_get_anytime, things_get_upcoming, things_get_someday) to infer what each area and tag is used forassets/config.json{
"areas": {
"work": {
"description": "Day job tasks, meetings, team communication",
"examples": ["Prepare slides for team standup", "Coordinate with project lead"]
},
"personal": {
"description": "Family, home, errands, health",
"examples": ["Book a doctor appointment", "Handle home admin"]
}
},
"tags": {
"important": {
"description": "Has a hard deadline, scheduled meeting, or clear strategic urgency",
"examples": ["Finish something by a deadline", "Prepare for a scheduled meeting"]
},
"waiting": {
"description": "Explicitly blocked on another person — waiting for someone or pending a response",
"examples": ["Waiting for a review or approval", "Pending a response"]
},
"quick": {
"description": "Single-step task under 15 minutes — not multi-step work",
"examples": ["Reply to a message", "Check a status", "Approve a request"]
}
},
"daily_routine": [
{ "title": "Check email", "area": null },
{ "title": "Review calendar", "area": null }
]
}
Areas, tags, and daily routines are fully customizable. The examples above are defaults — the user defines what fits their workflow. A null area means uncategorized.
Each area and tag has up to 10 examples. Examples should cover distinct categories without overlap — no need to fill all 10 slots, just enough to represent the range. Area examples should include domain context to distinguish between areas (e.g. "Coordinate with IBM team"). Tag examples should be generic patterns about the nature of the task (e.g. "Reply to a message").
Call in parallel: things_get_today, things_get_inbox, things_get_areas, things_get_anytime
Check day of week with date (working days Mon-Fri have daily habits).
Process items from Today, Inbox, and Anytime that are missing an area or tags. Skip items that already have them.
For items without an area, use the config area descriptions and examples to determine the best fit and move with things_update_todo. If a todo doesn't clearly fit any area, flag it in the briefing.
For items without tags, use the config tag descriptions and examples to determine which apply. Be conservative — only apply a tag when the todo title clearly and obviously matches the tag description and is similar to the examples. Do not infer or guess.
Wait for all things_update_todo calls to complete before proceeding.
Check if the todos from daily_routine in config exist in Today. If missing, create each with things_add_todo set to today, with the area from config.
Match flexibly (case-insensitive, similar wording counts). Skip on weekends.
Use Peter Drucker's "Effective Executive" lens — prioritize by contribution, not busyness. "First things first, second things not at all."
🔴 Must do — Deadlines, meetings, items tagged as important. "What can only I do that, if done really well, will make a real difference?" 🟡 Should do — High-impact strategic work. "What is the greatest contribution I can make?" 🟢 Could do — Non-urgent items, learning, low-priority personal.
Daily Routine items are not listed — they're already created in Things in Step 3.
Output a compact briefing — 15 seconds to read max:
Good morning! [weekend note if applicable]
> "[Relevant Drucker quote for the day]"
🔴 Must do (X)
- **[item]** — [why this matters today]
- **[item]** — [why this matters today]
🟡 Should do (X): [item], [item], [item]
🟢 Could do (X): [X items in backlog] OR [item], [item] if ≤3
✅ [X items categorized · X routine todos created]
[Ambiguous items if any]
[Drucker-inspired closing nudge — e.g. "Two must-dos today. Protect your morning for the budget — it's the one only you can do." or "Heavy list today — what can you delegate or defer?"]
Format rules:
If no config exists yet, run Step 0 first.
When the user asks to add a todo to Things:
when="today" by default, or adjust based on contextActivate when the argument is "silent" (e.g. /things-morning-organizer silent). Designed for automated/headless execution via -p mode.
Requirements:
assets/config.json is missing, output an error message and exitAskUserQuestion toolActivate when the user asks to run in learning mode (e.g. "learning mode", "learn", "improve config").
assets/config.jsonthings_get_today, things_get_anytime, things_get_upcoming, things_get_someday)assets/config.jsontesting
Tracks Architecture Decision Records (ADRs) in docs/adrs/. Creates, lists, and updates ADRs following project conventions. TRIGGER when: user wants to record, review, or update an architectural decision.
development
Create a PRD through user interview, codebase exploration, and module design, then submit as a GitHub issue after user approval. Use when user wants to write a PRD, create a product requirements document, or plan a new feature. Always present the PRD for user approval before submitting.
testing
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
tools
Pick and implement the next user story from a PRD GitHub issue. Analyzes merged PRs for prior work and findings, proposes a plan, implements it, and creates a PR linking back to the PRD. Use when user says "ralph it", "ralph-it", or wants to work through PRD user stories.