mcpbeat Sign in

Capture Triage Agent Skill

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".

5k tokens
context cost
the whole folder, loaded on every use
7
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
275
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/nicepkg/ai-workflow --skill capture-triage

The instruction itself

27 sections, as written by the author

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.


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 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_url from YAML frontmatter
  • This URL MUST be included when routing to Ready

For other captures with URLs:

  • Check for url:, source_url:, or link: in frontmatter
  • Check for markdown links text in body
  • Preserve any URLs found for routing step

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: or Idea: → IDEA
  • Research: → RESEARCH (triggers swarm option)
  • for [Project Name] → PROJECT_UPDATE
  • Task: or TODO: → 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 - 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
  • Articles: Article Title
  • Obsidian docs: [[Document Name]]
  • YouTube: Video Title

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 ## Ready section
  • 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].md exists
  • If exists: Append to ## Interactions section
  • 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

  • Two-step preview - Show table first, ask decision second (separate messages)
  • Ready, not Captures - All triaged items become tasks in ## Ready section
  • 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
  • Review tasks need links - Always include source URL or wikilink so Ed can find the content

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) |


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)

Other skills for the same job

different authors, same section of the catalogue
Daily Meeting Update
by softaworks
×2

Interactive daily standup/meeting update generator. Use when user says 'daily', 'standup', 'scrum update', 'status update', 'what did I do yesterday', 'prepare for meeting', 'morning update', or 'team sync'. Pulls activity from GitHub, Jira, and Claude Code session history. Conducts 4-question interview (yesterday, today, blockers, discussion topics) and generates formatted Markdown update.

8k tokens scripts
Daily Briefing
by anthropics
vendor ×1

Start your day with a prioritized sales briefing. Works standalone when you tell me your meetings and priorities, supercharged when you connect your calendar, CRM, and email. Trigger with "morning briefing", "daily brief", "what's on my plate today", "prep my day", or "start my day".

2k tokens
Prospect
by anthropics
vendor ×1

Full ICP-to-leads pipeline. Describe your ideal customer in plain English and get a ranked table of enriched decision-maker leads with emails and phone numbers.

901 tokens
Capture Tasks From Meeting Notes
by openai
vendor ×1

Analyze meeting notes to find action items and create Jira tasks for assigned work. When an agent needs to: (1) Create Jira tasks or tickets from meeting notes, (2) Extract or find action items from notes or Confluence pages, (3) Parse meeting notes for assigned tasks, or (4) Analyze notes and generate tasks for team members. Identifies assignees, looks up account IDs, and creates tasks with proper context.

6k tokens
Onboarding Cro
by ComeOnOliver
×1

When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value. Also use when the user mentions "onboarding flow," "activation rate," "user activation," "first-run experience," "empty states," "onboarding checklist," "aha moment," or "new user experience." For signup/registration optimization, see signup-flow-cro. For ongoing email sequences, see email-sequence.

5k tokens
Daily Prep
by github
vendor

Prepare for tomorrow''s meetings and tasks. Pulls calendar from Outlook via WorkIQ, cross-references open tasks and workspace context, classifies meetings, detects conflicts and day-fit issues, finds learning and deep-work slots, and generates a structured HTML prep file with productivity recommendations.

2k tokens
Gtm Operating Cadence
by github
vendor

Design meeting rhythms, metric reporting, quarterly planning, and decision-making velocity for scaling companies. Use when decisions are slow, planning is broken, the company is growing but alignment is worse, or leadership meetings consume all time without producing decisions.

4k tokens
Add Gcal Tool
by nanocoai

Add Google Calendar as an MCP tool (list calendars, list/search/create events, free/busy queries) using OneCLI-managed OAuth. Multi-calendar and multi-account supported. Mirrors /add-gmail-tool's stub pattern — no raw credentials ever reach the container; OneCLI injects real tokens at request time.

3k tokens scripts

How to use it

Copy the folder

Take nicepkg/capture-triage from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.