
capture-triage
by Eddale
SKILL.md
name: capture-triage description: Processes Drafts Pro captures from the Inbox folder. Classifies by intent, shows preview for approval, routes to Ready as tasks. Use when triaging captures, processing mobile notes, or as part of daily review. Triggers on "triage captures", "process captures", "check my captures". allowed-tools: Read, Glob, Grep, Edit, Write, AskUserQuestion, Bash skills: mission-context
Capture Triage
What This Does
Turns mobile captures into actionable tasks in your Ready queue. Everything captured has intent - this skill makes it explicit so task-clarity-scanner can decide what's important.
Who It's For
Ed - capturing quick thoughts in Drafts Pro throughout the day.
The Philosophy
Everything captured has intent. Route to Ready, let task-clarity-scanner decide what moves to Someday/Maybe.
No passive filing. Every capture becomes a decision point.
CRITICAL: Process, Don't Bookmark
You are NOT a bookmark service. The point of triage is to PROCESS content, not defer decisions.
Ed has already seen the link. He captured it because he believes it's important. Your job is to:
- Fetch and read the actual content
- Summarize what it says (not just link to it)
- Translate technical concepts to coach/copywriter language
- Apply verdict (Act now / Research / Bookmark / Ignore)
- Give recommendations - what should Ed do with this?
| Content Type | Wrong (Bookmarking) | Right (Processing) |
|---|---|---|
| YouTube URL | Review: [URL] (MM-DD) | Spawn youtube-processor → full notes with verdicts |
| Article link | Review: [URL] (MM-DD) | WebFetch → summarize → mission relevance → verdict |
| X bookmark | Review: [URL] (MM-DD) | Read tweet + linked content → context → verdict |
| Tweet thread | Review: [URL] (MM-DD) | Extract key points → translate jargon → recommendations |
The test: Can Ed act on this task without opening another tool first? If not, you haven't processed it - you've just moved it.
Processing Output Template
Every processed capture should include:
## [Title/Topic]
**What It Is:** [1-2 sentence plain English summary]
**Key Points:** (for substantial content)
- Point 1
- Point 2
- Point 3
**Translation:** (if technical content)
[Explain in business coach / copywriter terms]
**Mission Relevance:** [BlackBelt / Powerhouse / Newsletter / Skill building / Daily workflow / Personal / None]
**Verdict:** [Act now / Research / Bookmark / Ignore]
- **Act now** = Do this today, specific next step
- **Research** = Worth deeper investigation, spawn swarm
- **Bookmark** = Know it exists, reference when relevant
- **Ignore** = Not applicable to mission
**Recommendations:**
1. [Specific action if Act now]
2. [What to do with this information]
Bookmarked vs Processed Examples
WRONG (Bookmarked):
- [ ] Review: [Claude Code notifications](https://x.com/...) - enable "ping me when done" (01-24)
Ed still has to: open the link, read it, figure out what it means, decide what to do.
RIGHT (Processed):
## Claude Code Notifications
**What It Is:** Claude Code can send system notifications when tasks complete or need attention.
**Key Points:**
- `idle_prompt` notification fires after 60+ seconds of waiting
- `SubagentStop` fires when background agents complete
- Can trigger custom scripts (e.g., send iMessage when done)
**Translation:** Like having an assistant text you "I'm done" instead of you checking back constantly.
**Mission Relevance:** Skill building / Daily workflow
**Verdict:** Act now
**Recommendations:**
1. Today (5 min): Enable iTerm2 notifications in Preferences → Profiles → Terminal
2. This week: Create Notification hook for background agents
3. Future: Add to onboarding for AI Powerhouse members
Now Ed can act immediately without opening any links.
Paths
Inbox: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Inbox/
Processed: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Inbox/Processed/
Daily note: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/YYYY-MM-DD.md
Projects: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/PROJECT - *.md
Contacts: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/CONTACT - *.md
Important: Naming Clarification
| Term | What It Means |
|---|---|
| Inbox folder | /Zettelkasten/Inbox/ - where Drafts Pro sends mobile notes |
| Captures section | ## Captures in daily note - links to docs created today |
| Ready destination | ## Ready section in daily note - where triaged tasks go |
Remember: This skill reads from the Inbox FOLDER and routes to the Ready SECTION. Tasks go to Ready section only - Captures section is for document links.
Instructions
Step 0: Sync Drafts to Inbox (Automatic)
Before checking the filesystem, sync any pending captures from Drafts Pro:
osascript /Users/eddale/Documents/GitHub/powerhouse-lab/skills/capture-triage/scripts/sync-drafts-inbox.scpt
This runs the "Move To ZETTLE inbox" action on all drafts in Drafts Inbox, moving them to the Obsidian filesystem folder.
Note: If this fails (Drafts not running, Mac not available), continue to Step 1 - there may still be captures from previous syncs.
Step 1: Check Inbox Folder (Root Only)
Important: Only check files directly in Inbox/, NOT subdirectories.
ls /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Inbox/*.md 2>/dev/null
If no files found: Report "No captures waiting" and stop. If files found: Continue to Step 2.
Step 2: Load Context
Pull active project names from mission-context skill AND:
Glob: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/PROJECT - *.md
Build a list of project names for matching.
Step 3: Read and Classify Each Capture (Background OK)
This step can run in background. Read and classify all captures before surfacing to user.
For each .md file in Inbox:
- Read full content
- Extract source URL from frontmatter (see Step 3b)
- Detect if already-processed (see Step 3a)
- Classify by intent (see Step 4)
Surface to user only after ALL files are read and classified.
Step 3b: Extract Source URLs
For x-bookmark files (filename starts with x-):
- Read
tweet_urlfrom YAML frontmatter - This URL MUST be included when routing to Ready
For other captures with URLs:
- Check for
url:,source_url:, orlink:in frontmatter - Check for markdown links
[text](url)in body - Preserve any URLs found for routing step
Step 3c: Process YouTube URLs (Don't Bookmark)
If a capture contains a YouTube URL (youtube.com, youtu.be):
-
Spawn youtube-processor in background:
Task( description="Process YouTube: [title or URL]", prompt="Process this YouTube video: [URL]. User context: [any notes from capture]. Save full note to Zettelkasten with Mission Relevance, Action Verdict, Learning Triggers.", subagent_type="general-purpose", run_in_background=true ) -
Mark capture as processing - Don't route to Ready yet
-
When agent completes - Route the NOTE (not URL) to Ready:
- [ ] **REVIEW:** [[YT - Title - YYYY-MM-DD]] - [Verdict]: [one-line summary] (MM-DD)
Never create tasks like Review: [YouTube URL] - that's bookmarking, not processing.
Step 3d: Process Articles and Tweets (Don't Bookmark)
If a capture contains an article URL (substack, medium, blog, documentation):
-
Fetch the content:
WebFetch(url="[URL]", prompt="Extract the main content, key points, and any actionable advice") -
Summarize with mission lens:
- What is this about? (plain English)
- How does it relate to Ed's work? (BlackBelt, Powerhouse, Newsletter, Skills)
- What's the verdict? (Act now / Research / Bookmark / Ignore)
-
Translate technical concepts:
- Programming terms → business/coaching analogies
- Developer workflows → coach/creator equivalents
- API/tool features → "what this lets you do"
-
Route the SUMMARY to Ready, not the URL:
- [ ] **[VERDICT]:** [Topic] - [one-line actionable summary]. See [[Processed - Topic - YYYY-MM-DD]] (MM-DD)
If a capture contains an X/Twitter URL:
- Read the tweet content (already in x-bookmark files from x-bookmarks skill)
- If tweet links to external content - Fetch and process that content too
- Apply the same processing template - summary, translation, verdict, recommendations
Processing depth by verdict:
| Verdict | Processing Depth |
|---|---|
| Act now | Full summary + specific next steps + implementation notes |
| Research | Summary + why it matters + questions to investigate |
| Bookmark | Brief summary + when it would be useful |
| Ignore | One line explaining why not relevant |
Example processing for a technical article:
Input capture: https://code.claude.com/docs/en/hooks - check this out
Processed output:
## Claude Code Hooks
**What It Is:** Hooks let you run custom scripts automatically when Claude does things - like getting notified when a task finishes.
**Key Points:**
- Notification hook fires when Claude needs attention or finishes
- Can trigger any shell command (send iMessage, play sound, log to file)
- SubagentStop hook fires specifically when background agents complete
**Translation:** Think of hooks like "if this, then that" rules for your AI assistant. When Claude finishes a task, automatically do X.
**Mission Relevance:** Skill building - enables "fire and forget" background work
**Verdict:** Act now
**Recommendations:**
1. Set up iTerm2 notifications (5 min setup)
2. Create hook that pings when overnight tasks complete
3. Document pattern for AI Powerhouse members
Step 3a: Detect Already-Processed Content
If capture content looks like a summary (has structure, headers, quotes sources):
- Flag as
[PROCESSED] - Will suggest routing as REFERENCE
- Won't offer research-swarm (already researched)
Signals of processed content:
- Has markdown headers (##, ###)
- Contains bullet lists with structured info
- Quotes or attributes other sources
- Looks like notes from a video/article
Step 4: Classify Each Capture
Priority Rule: Inline hints override auto-detection. Check for these FIRST:
IDEA:orIdea:→ IDEAResearch:→ RESEARCH (triggers swarm option)for [Project Name]→ PROJECT_UPDATETask:orTODO:→ TASK
Auto-Detection (if no inline hint):
| Signal | Classification |
|---|---|
| Starts with verb (call, email, buy, check, send, schedule) | TASK |
Contains Research: hint or explicit question needing investigation | RESEARCH |
| "What if..." or speculative language | IDEA |
| Mentions active project name | PROJECT_UPDATE |
| Person's name + action context | CONTACT |
| Links, articles, saved content, observations | REFERENCE |
Step 5: Show Classification Preview (Two-Step)
Two-Step Pattern: Show preview table first, then ask decision in a separate message. Let user absorb the information before asking what to do.
Step 5a: Present the Table
Show what you found. Let user absorb the information first:
## Capture Triage Preview
Found [N] captures. Here's how I've classified them:
| # | File | Preview | Classification | Suggested Routing |
|---|------|---------|----------------|-------------------|
| 1 | note1.md | "Call dentist..." | TASK | Ready: Call dentist (MM-DD) |
| 2 | note2.md | "What if we..." | IDEA | Ready: Consider: [idea] (MM-DD) |
| 3 | summary.md | [PROCESSED] "Article about..." | REFERENCE | Ready: Review: [title] (MM-DD) |
| 4 | question.md | "Research: how do..." | RESEARCH | Spawn research-swarm? |
Pause here. Let the user see and absorb the table before asking for a decision.
Step 5b: Ask for Decision
After showing the table, ask ONE question using AskUserQuestion:
How would you like to proceed?
1. **Approve all** - Route everything as shown
2. **Go one-by-one** - Review each item individually
3. **Modify** - Change specific classifications before routing
4. **Skip all** - Don't process any captures right now
Key points:
- Show [PROCESSED] flag for already-summarized content
- RESEARCH items present in preview table with spawn option - user approves before spawning
- Let user approve, modify, or skip before any changes
Step 6: Route by Classification
After approval, route each capture:
| Classification | Destination | Format |
|---|---|---|
| TASK | Ready | - [ ] [action] (MM-DD) |
| IDEA | Ready | - [ ] Consider: [idea] (MM-DD) |
| REFERENCE | Ready | - [ ] Review: [linked title](URL) - brief context (MM-DD) |
| RESEARCH | If approved: spawn agent | See Step 7 |
| PROJECT_UPDATE | Project file | Timestamped append to ## Context Gathered |
| CONTACT | Create note + Ready | - [ ] Follow up with [Name] (MM-DD) |
IMPORTANT: Review tasks MUST include links.
For REFERENCE items, always include the source link so Ed can find it:
- X bookmarks:
[Title](https://x.com/author/status/ID) - Articles:
[Article Title](URL) - Obsidian docs:
[[Document Name]] - YouTube:
[Video Title](URL)
If a capture has no URL but references external content, note this: (source needed)
Edit Instructions:
For each item routed to Ready:
- Open today's daily note at:
/Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/YYYY-MM-DD.md - Find the
## Readysection - Use Edit tool to append the task in the format shown above
- Do NOT add to
## Captures- that section is for document links only
Example Edit operation:
old_string: "## Ready\n- [ ] existing task"
new_string: "## Ready\n- [ ] existing task\n- [ ] [new task from capture] (01-06)"
If creating PROJECT or CONTACT files: Those files get created separately, and a
LINK to them goes in Ready as a task (e.g., - [ ] [[PROJECT - Name]] - brief desc).
Step 7: Handle Research (Only When Requested)
Only spawn research-swarm if:
- User explicitly approved during Step 5 preview
- Capture has
Research:inline hint AND user confirmed
For each approved RESEARCH item:
Task(
description="Research: [Topic]",
prompt="Research question: [Full capture content]
Use research-swarm pattern to investigate. Save findings to Zettelkasten.
When complete, add review task to Ready: '- [ ] Review: [[Research - Topic]] (MM-DD)'",
subagent_type="research-swarm",
run_in_background=true
)
Add placeholder to daily note:
- [RESEARCH] [Topic] - swarm running in background
Step 8: Handle Contacts
When a capture mentions a person with action context:
- Check if
CONTACT - [Name].mdexists - If exists: Append to
## Interactionssection - If new: Create contact note using template
- Always add follow-up task to Ready
Contact Note Template:
---
type: contact
created: YYYY-MM-DD
source: capture-triage
---
# [Person Name]
## Context
[Original capture content]
## Interactions
- YYYY-MM-DD: Initial capture - [summary]
## Follow-up
[Any implied next steps]
Step 9: Move to Processed
After routing each capture:
mv "[Inbox file]" "[Processed folder]"
Move files to Inbox/Processed/ as safety net (preserves originals).
Step 10: Generate Triage Summary
## Capture Triage - YYYY-MM-DD HH:MM
**Processed:** N items | **Research spawned:** M (if any)
### Routed to Ready
- [N] tasks
- [N] ideas (Consider:)
- [N] references (Review:)
### Research Running
- [Topic] - spawned at HH:MM
### Actions Taken
- Moved N files to Inbox/Processed/
- Created CONTACT - [Name].md (if any)
- Updated PROJECT - [Name].md (if any)
Examples
Example 1: Dry Run Preview
Inbox folder contains 4 files:
1. "Call dentist Monday about cleaning"
2. "What if we did a 5-day hook challenge?"
3. [PROCESSED] "Summary of Karpathy video - 6 paradigm shifts..."
4. "Research: how do successful coaches use AI?"
Skill shows:
## Capture Triage Preview
| # | Capture | Classification | Suggested Action |
|---|---------|----------------|------------------|
| 1 | "Call dentist..." | TASK | → Ready: "Call dentist Monday (01-05)" |
| 2 | "What if we..." | IDEA | → Ready: "Consider: 5-day hook challenge (01-05)" |
| 3 | [PROCESSED] "Summary of Karpathy..." | REFERENCE | → Ready: "Review: [Karpathy video](URL) - 6 paradigm shifts (01-05)" |
| 4 | "Research: how do coaches..." | RESEARCH | → Spawn research-swarm? |
Approve all, modify, or skip items?
Example 2: After Approval
User approves all, including research swarm for #4.
Result:
- Ready gets 3 new tasks + 1 research placeholder
- Research-swarm spawns in background
- All 4 files moved to Processed/
- Summary generated
Guidelines
- Process, don't bookmark - Fetch content, summarize, translate, give verdict and recommendations
- Two-step preview - Show table first, ask decision second (separate messages)
- Ready, not Captures - All triaged items become tasks in
## Readysection - Dry run is standard - Always show preview before routing
- Respect inline hints - They override auto-detection
- Research-swarm is opt-in - Ask before spawning
- [PROCESSED] content - Flag summaries, suggest REFERENCE routing
- Everything to Ready - Let task-clarity-scanner handle prioritization
- Preserve originals - Move to Processed/ folder as safety net
- Translate jargon - Technical concepts become coach/copywriter language
- Ed has seen the link - He captured it because it matters. Your job is to tell him what it says and what to do with it
Version History
| Version | Date | Changes |
|---|---|---|
| 1.0 | 2025-01-05 | Initial build as inbox-triage |
| 2.0 | 2025-01-05 | Renamed to capture-triage, added dry run, AskUserQuestion flow, all routes to Ready |
| 2.1 | 2026-01-06 | Renamed folder Captures→Inbox, split Step 5 into two-step preview, explicit Ready section routing, background OK for classification |
| 2.2 | 2026-01-12 | Added requirement: Review tasks MUST include source links (URL or wikilink). Added Step 3b to extract URLs from frontmatter (especially x-bookmark tweet_url) |
| 2.3 | 2026-01-24 | Major upgrade: Process ALL content like YouTube - fetch, summarize, translate, verdict, recommendations. Added Step 3d for articles/tweets. Added Processing Output Template. Explicit examples of bookmarked vs processed. Ed has already seen the link - job is to tell him what it says and what to do. |
| 2.4 | 2026-01-26 | Added Step 0: Automatic Drafts sync via AppleScript. Runs "Move To ZETTLE inbox" action before checking filesystem. Ed no longer needs to remember to sync manually. |
Notes & Learnings
- Day 1 test processed 32 captures with backlog - dry run prevented overwhelm
- [PROCESSED] detection helps avoid re-researching already-summarized content
- Research-swarm opt-in prevents runaway agent spawning
- Review tasks without links are useless - Ed can't find the content to review (added v2.2)
- "Review: [link]" is bookmarking, not processing - Ed has already seen the link. The skill's job is to fetch content, summarize it, translate technical jargon, apply a verdict, and give actionable recommendations. If Ed still needs to open the link to understand what to do, it wasn't processed. (added v2.3)
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon