Help us improve
Share bugs, ideas, or general feedback.
From gtd
Automates two-pass GTD inbox triage in Obsidian Markdown files: annotates unprocessed items with routing proposals, then routes reviewed items to projects based on user // comments.
npx claudepluginhub digital-stoic-org/agent-skills --plugin gtdHow this skill is triggered — by the user, by Claude, or both
Slash command
/gtd:triagesonnetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Two-pass inline triage. Claude annotates inbox, human reviews in Obsidian, Claude routes on second pass.
Processes notes in 00-Inbox/: scans, classifies by content, routes to vault folders, updates MOCs, extracts action items, generates daily digest. Activates on multilingual triage triggers.
Processes Obsidian inbox notes by reading each, suggesting a PARA destination, and confirming with the user before moving/deleting. Activated by commands like /process-inbox or 'process my inbox'.
Routes GTD tasks directly to project Markdown files via <item> → <target> #tags, globbing folders, and editing 01-*.md to insert dated tasks into Next, Waiting For, or Backlog sections.
Share bugs, ideas, or general feedback.
Two-pass inline triage. Claude annotates inbox, human reviews in Obsidian, Claude routes on second pass.
// on lines)Trigger: /gtd:triage when ### New has lines WITHOUT //
/home/mat/dev/gtd-pcm/01-inbox.md, extract ### New items03-projects/ for routing targets (Glob + Grep)// → target #tags to each unannotated line// comments, then run /gtd:triage again."// blocks)Trigger: /gtd:triage when ### New has lines with TWO // blocks
// blocks//:
// ok → route using Claude's proposal (first //)// ok → different-target #tags → route with human override// delete → remove from inbox entirely// any other text → interpret intent (question = flag with ❓, target name = reroute)### New// (unreviewed) untouched — never strip proposalsOn invocation, detect which pass to run:
### New has two // blocks → Pass 2// → Pass 1Type: task | reference | waiting-for | someday | trash | project-seed
Destination: Scan 03-projects/ for best match
03-projects/**/*.md38-mind-body)Tags: ONLY allowed GTD tags
#next #frog #waiting #recurring#phone #field #admin #read-quick #read-deep #read-book #listen #watch #shop#deep #braindead#agenda/Name #waiting/NameUnclear items: Mark with // ❓ + reason instead of routing proposal
Dates: [due:: YYYY-MM-DD] or [scheduled:: YYYY-MM-DD] — never emoji shorthand
Standard project template sections (see CLAUDE.md § Project Template):
| Type | Destination | Section |
|---|---|---|
task + #next/#frog | project 01-{name}.md | ### ⚡ Next |
| task (no priority tag) | project 01-{name}.md | ### 📋 Backlog |
| waiting-for | project 01-{name}.md | ### 👥 Waiting For with #waiting/Name |
| reference | project file | ## 📎 Reference |
| someday | 50-59 project | ### 📋 Backlog |
| trash | (delete) | Remove from inbox |
| project-seed | (flag ❓) | Needs new project — ask human |
Fallback (if section not found): ### 📋 Backlog → ## ✅ Tasks → before ## 📎 Reference → end of file
### New section- [x]) are skipped// ❓ no project match — don't guess01-{name}.md files (never in reference docs)[field:: value] date format// flow IS the human gateDirect: /gtd:triage
Natural language: "process inbox", "triage inbox", "route inbox", "process triage"