| name | task-clarity-scanner |
| description | Scans daily notes using Personal Kanban structure. Clarifies tasks, manages Today's 3 vs Ready, flags stale items, manages Waiting For items, and helps swap between columns. Use when reviewing todos, scanning task lists, or managing your Kanban board. |
| allowed-tools | Read, Glob, Grep, Edit, Write, AskUserQuestion |
Task Clarity Scanner
What This Does
Scans your daily note, identifies unclear or vague tasks, manages the Personal Kanban flow (Today's 3 ↔ Ready), flags stale items, and updates the file once you approve changes.
When to Use
- "Scan my tasks"
- "Review my daily note"
- "Clarify my todos"
- "Check my task list for today"
- "What can you help me with today?"
- "Swap tasks" / "Update my Today's 3"
Default Daily Note Location
Ed's daily notes live in Obsidian at:
/Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/YYYY-MM-DD.md
When invoked without a specific file, check today's date and look for that file automatically.
Daily Note Structure (Personal Kanban)
The daily note has this structure:
## Ship This = Win Day
[Single focus - WIP limit 1]
## Today's 3
[Active work - pulled from Ready, WIP limit 3]
## Ready
[Backlog - all carried-forward tasks live here]
## Waiting For
[Blocked/delegated items with dates]
## Done Today
[Completed items]
## Captures
[Links to docs created today]
## Scratch
[Quick notes]
Waiting For System
Folder: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Waiting For/
File naming: WAITING - [Person Name] - [Topic].md
Daily note format:
## Waiting For
- [[WAITING - John Smith - Contract Review]] - Follow up 01-12 (01-09)
Name Consistency (Fuzzy Match)
Critical: Before creating any Waiting For item, check for existing names to prevent fragmentation.
Process:
- User provides a name (e.g., "Jon Smith")
- Grep existing Waiting For docs + CONTACT files for similar names:
Glob: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Waiting For/WAITING - *.md Glob: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/CONTACT - *.md - Extract person names from filenames
- If similar names found (case-insensitive, partial match), show options:
I found similar names in your system: 1. John Smith (2 existing Waiting For items) 2. Jonathan Smithson (1 contact) 3. New person: "Jon Smith" Which one? - If user selects existing → use that exact spelling
- If new person → use user's spelling as canonical
Why: Prevents "John" vs "Jon" fragmentation. First occurrence sets canonical spelling.
Instructions
This skill uses the Batch Pattern - clarify all tasks first, then execute work.
Note: If you need to triage mobile captures first, use the daily-review agent which
runs inbox-triage before this skill.
PASS 0: Kanban Health Check
Before clarifying tasks, assess the board:
- Count Today's 3 - Are there exactly 3 tasks? More? Fewer?
- Check for stale items - Any tasks marked
[STALE]? - Review Ready size - Is the backlog growing out of control?
- Check Waiting For items - Read individual docs, check follow-up dates
Waiting For Check:
Glob: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Waiting For/WAITING - *.md
For each file, read frontmatter to get follow-up date. Categorize:
- Overdue - follow-up date before today
- Due today - follow-up date is today
- Upcoming - follow-up date in future
Report findings:
## Board Status
- Today's 3: [N] tasks (target: 3)
- Ready: [N] tasks
- Stale items: [N] (rolling 3+ days)
- Waiting For: [N] items ([M] need follow-up: [X] overdue, [Y] due today)
If Today's 3 has more than 3 items, offer to help prioritize. If stale items exist, flag them for decision (do, delegate, drop). If Waiting For items are due, PASS 1.6 will handle them.
PASS 1: Clarify (One by One)
Step 1: Read the Daily Note
If no file specified, use today's date to find the daily note in the Zettelkasten folder.
Look for tasks in ## Today's 3 and ## Ready sections.
Step 2: Quick Triage (Background OK)
This step can run in background. Scan and categorize all tasks before surfacing to user.
Briefly categorize tasks:
- Clear - Ready to act on
- Unclear - Needs clarification
- Stale - Rolling 3+ days, needs decision
- Done - Already completed, can skip
Complete the full triage before presenting results to user.
Step 3: Clarify One at a Time Present each unclear task individually using this format:
**Task:** "[the task]"
- **Issue:** [what's unclear]
- **Suggested rewrite:** "[agentic-ready version]"
- **What's needed:** [missing context]
Then ask ONE question with options:
- Clarify - "Here's what I mean: [context]"
- Accept rewrite - Use the suggested version
- Skip - Leave as-is for now
- Someday/Maybe - Park it with #someday tag
- Create project file - Start a living doc for this task
- Move to Ready - Not for today, but keep visible
- Move to Waiting For - This is blocked/delegated (see Step 3c)
Move to the next task after each response. Keep momentum.
Step 3a: Stale Item Handling
For tasks marked [STALE]:
**Stale Task:** "[STALE] [task text] (MM-DD)"
This has been rolling for [N] days.
Options:
1. **Do it now** - Move to Today's 3, commit to finishing
2. **Delegate** - Move to Waiting For with context
3. **Drop** - Remove entirely (it's not happening)
4. **Reframe** - Break into smaller pieces
5. **Someday** - Park with #someday tag
Step 3b: Project File Creation When user selects "Create project file":
Create in Obsidian Zettelkasten at:
/Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/PROJECT - [Task Name].mdSeed the file with this template:
---
type: project
status: planning
created: YYYY-MM-DD
linked-from: [[YYYY-MM-DD]]
---
# PROJECT: [Task Name]
## What We're Building
[One paragraph describing the goal and why it matters]
## Constraints & Scope
- In scope: ...
- Out of scope: ...
- Dependencies: ...
## Context Gathered
[Brainstorming notes, research findings, decisions made so far]
## Steps (when ready)
- [ ] Step 1
- [ ] Step 2
## Done State
[How we know this is complete]
## Open Questions
- [ ] Question 1
Update daily note - Replace original task with:
- [ ] [[PROJECT - Task Name]] - [brief description]Offer to continue brainstorming in the project file right now
Step 3c: Create Waiting For Item When user selects "Move to Waiting For":
Gather info using AskUserQuestion:
- Who are you waiting on?
- What are you waiting for? (brief description)
- When should you follow up? (suggest 3 days, 1 week, 2 weeks)
Run name fuzzy-match (see Name Consistency section above)
Create the Waiting For doc at:
/Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Waiting For/WAITING - [Person] - [Topic].mdUsing this template:
--- type: waiting-for person: [Name] topic: [Brief description] delegated: [Today's date] follow-up: [Follow-up date] status: waiting call-links: [] tags: [waiting-for] --- # WAITING: [Person] - [Topic] ## What I'm Waiting For [Description from user input] ## Context - **Delegated:** [Today] - **Follow-up:** [Follow-up date] - **Original task:** [The task being moved] ## Call History <!-- Future: Auto-populated by bb-meeting-summary --> ## Interaction Log - [Today]: Created - [context] ## Notes on [Person] <!-- Add observations as you learn them -->Update daily note:
- Remove original task from Today's 3 or Ready
- Add to
## Waiting Forsection:- [[WAITING - Person - Topic]] - Follow up [date] ([today])
Confirm: "Created Waiting For item. Will surface for follow-up on [date]."
Step 4: Rewrite Principles When suggesting rewrites:
- State the specific action
- Include context needed
- Define the done state
- Make it agent-handoff ready
- Include URLs/links so tasks are self-contained
- Preserve date suffix - Keep
(MM-DD)for staleness tracking
Example:
- Before: "Make Google Drive AI Ready"
- After: "Organize Google Drive for AI access: Create 'AI-Ready' folder, move key docs, document what each folder contains (01-04)"
Step 4b: Flag Task Dependencies While clarifying, watch for blocking relationships:
- [ ] Convert project to skill ← Do first
- [ ] Upload skill ZIP ← Blocked by above
Suggest marking blocked items in Waiting For section.
Step 4c: Surfaced Tasks Clarifying one task often surfaces additional tasks. Track these as you go:
- New research needed
- Dependencies discovered
- Related updates required
These go to the Ready section when updating the file.
Step 4d: Final Check Before moving to PASS 2, ask: "Did we miss anything?"
PASS 1.5: Kanban Swaps (Optional)
If user wants to adjust Today's 3:
Swap Interface:
## Current Today's 3:
1. [Task A]
2. [Task B]
3. [Task C]
## Ready (available to pull):
1. [Task D]
2. [Task E]
3. [Task F]
What would you like to do?
- Swap: "swap 2 with D" - Replace Task B with Task D
- Add: "add E" - Pull Task E into Today's 3 (if under limit)
- Remove: "remove 1" - Move Task A back to Ready
- Done: "done 2" - Mark Task B complete, move to Done Today
Apply changes and confirm.
PASS 1.6: Waiting For Check
Run this if PASS 0 found items due for follow-up.
For each item that's overdue or due today:
### Follow-up Due
**[[WAITING - John Smith - Contract Review]]**
- **Waiting for:** Contract signature
- **Delegated:** 01-05
- **Due:** 01-09 (today)
- **Days waiting:** 4
Options:
1. **Follow up now** - I'll add to Interaction Log, set new follow-up date
2. **Snooze 3 days** - Push follow-up to [new date]
3. **Snooze 1 week** - Push follow-up to [new date]
4. **Resolve** - Item complete, move to Done Today
5. **Skip** - Deal with this later
If user selects "Follow up now":
- Ask: "What's the new follow-up date?" (suggest 3 days, 1 week)
- Ask: "Brief note on follow-up action?" (optional)
- Update the Waiting For doc:
- Add to
## Interaction Log:- [Today]: Followed up - [note] - Update frontmatter
follow-up:to new date
- Add to
- Update daily note link with new follow-up date
If user selects "Resolve":
- Ask: "Brief resolution note?" (optional)
- Update the Waiting For doc:
- Add to
## Interaction Log:- [Today]: Resolved - [note] - Update frontmatter
status:toresolved
- Add to
- Update daily note:
- Remove from
## Waiting Forsection - Add to
## Done Today:- [x] Resolved: [[WAITING - Person - Topic]]
- Remove from
If user selects "Snooze":
- Update frontmatter
follow-up:to new date - Update daily note link with new date
- Confirm: "Snoozed to [date]"
PASS 2: Update the File
Step 5: Batch the Changes After all tasks are clarified, summarize:
Ready to update your daily note:
## Today's 3 Changes:
- [Task moved in from Ready]
- [Task rewritten]
## Ready Changes:
- Task 1: [original] → [rewrite]
- Task 2: Skipped
- Task 3: → Someday/Maybe (#someday added)
## Stale Items:
- [Task] → Dropped
- [Task] → Moved to Waiting For
## Waiting For Changes:
- [[WAITING - Person - Topic]] → Followed up, new date [date]
- [[WAITING - Person - Topic]] → Resolved
- [[WAITING - Person - Topic]] → Snoozed to [date]
- New: [[WAITING - Person - Topic]] created
## New Tasks (surfaced):
- [New task discovered]
Get final approval before making edits.
Step 6: Apply Edits
- Use Edit tool to modify the original file
- Keep tasks in their proper sections (Today's 3 vs Ready)
- Move completed items to Done Today
- Move blocked items to Waiting For
- Add #someday tag for parked items
- Preserve all other content exactly
- Confirm: "Updated [N] tasks."
PASS 3: Execute (Future)
Step 7: Spin Up Agents For tasks marked "Ready to Go", offer to spin up agents:
These tasks are ready for agents:
- [task 1] - I can do this now
- [task 2] - Needs a research agent
- [task 3] - I can do this now
Want me to start working on these?
Execute approved tasks, report back when done.
Guidelines
- Respect the Kanban structure - Today's 3 = active work, Ready = backlog
- Don't over-engineer - A slightly vague task that's obvious to Ed doesn't need rewriting
- Preserve voice - Rewrites should sound like Ed, not corporate jargon
- Flag unknowns honestly - If you don't know what something means, say so
- Suggest, don't assume - Always get approval before modifying
- Keep the human in the loop - Help Ed move faster, don't take over
- Preserve date suffixes - The
(MM-DD)format enables staleness tracking
The Project File Pattern
For tasks that are too big to clarify inline, create a project file instead:
- The file is a living document that grows over sessions
- Daily note links to the project file (keeps it visible)
- When ready to execute, the project file IS the spec
- If parked for 1+ week, move to [[Someday-Maybe]] file
When to suggest a project file:
- Task involves multiple sub-tasks
- Needs research before execution
- Will take multiple sessions to complete
- Has dependencies on other work
- User says "let me think about this"
Research Task Pattern
Research tasks have a distinct completion format:
Format:
- [x] ~~[Research Topic]~~ → **Finding:** [Summary]. See [[Document Name]]
Research Swarm Bundling: When you see 3+ related research tasks, suggest: "These research tasks are related and could run in parallel. Consider bundling as 'Research Swarm - [Topic] - YYYY-MM-DD'"
Examples
Input (from daily note):
## Today's 3
- [ ] Review PR for auth changes (01-02)
- [ ] [STALE] Fix the login bug (12-30)
- [ ] Write newsletter intro
## Ready
- [ ] Convert Offer Diamond to skill (01-03)
- [ ] Set up Gmail App Password (01-01)
- [ ] Research API options
Output (report):
## Board Status
- Today's 3: 3 tasks (target: 3) ✓
- Ready: 3 tasks
- Stale items: 1 (Fix the login bug - 5 days)
- Waiting For: 0
## Needs Attention
### Stale Item
**Task:** "[STALE] Fix the login bug (12-30)"
Rolling for 5 days. Decision needed:
1. Do it now
2. Delegate
3. Drop
4. Reframe
5. Someday
### Unclear Task
**Task:** "Write newsletter intro"
- Issue: Which newsletter? What's the topic?
- Suggested rewrite: "Write intro for LBR article on [topic] - 2-3 sentences, hook + promise (01-04)"
- What's needed: Article topic and angle
### Ready to Go
- "Review PR for auth changes" - Clear, actionable
- "Convert Offer Diamond to skill" - Clear process exists