Cleanup and routing tool that finds standalone files and scattered tasks, then suggests where they belong using your current strategic context (Week Priorities + Quarterly Goals).
What It Does
- Files: Routes standalone files in
00-Inbox/ to projects, person pages, or resource folders
- Tasks: Finds unchecked
- [ ] tasks scattered across notes and routes them appropriately
- Strategic: Uses your Week Priorities and Quarterly Goals to inform routing confidence
Usage
/triage - Process everything (files + tasks)
/triage files - Organize standalone files only
/triage tasks - Extract and route tasks only
Arguments
$MODE: Optional. "files" | "tasks" | "all". Default: "all"
Demo Mode Check
Before executing, check if demo mode is active:
- Read
System/user-profile.yaml and check demo_mode
- If
demo_mode: true:
- Display: "Demo Mode Active — Using sample data"
- Use
System/Demo/ paths instead of root paths
- Write any output to
System/Demo/ subdirectories
- If
demo_mode: false: Use normal vault paths
Step 0: Load Strategic Context & Structure Discovery
Before processing inbox items, load strategic context and build an index of existing entities. This makes triage strategically aware and enables intelligent routing.
0. Load Strategic Context
Read these files to understand current priorities:
Week Priorities: 00-Inbox/Week_Priorities.md
- Extract this week's Top 3 focus items
- Note any specific projects/people mentioned
- Capture keywords and themes
Quarterly Goals: 03-Tasks/Quarterly_Goals.md
- Extract current quarter's goals
- Note associated projects and outcomes
- Capture keywords and themes
This context will inform routing decisions - entries matching current priorities get higher confidence scoring and are surfaced first.
1. Scan Projects
List all files in 04-Projects/:
- Extract project name from filename (convert underscores to spaces)
- Read frontmatter if present for description, status, pillar
- Build index:
{ name, path, description, status, pillar }
2. Scan People
List all files in 05-Areas/People/External/ and 05-Areas/People/Internal/:
- Extract name from filename
- Read frontmatter/metadata table for role, company
- Build index:
{ name, path, company, role, type: internal|external }
3. Scan Role-Specific Areas
List any additional folders under 05-Areas/ that aren't People or Career:
- These may be role-specific areas created during setup (e.g., Accounts/, Team/, Content/)
- Extract relevant names from filenames
- Build index:
{ name, path, type: area_type }
4. Read Pillars
Parse System/pillars.yaml:
- Extract pillar names, descriptions, and keywords
- These inform categorization when no entity match is found
Mode: Files
Organize standalone files in the 00-Inbox/ folder by suggesting where they belong.
Process
Scan 00-Inbox/
- List all files (exclude Week Priorities.md, README.md)
- Read each file's content
Match Against Strategic Context & Entities
For each inbox file, check in this order:
| Check |
Match Criteria |
Action |
Confidence Boost |
| Week Priority match |
Content relates to this week's Top 3 priorities |
Route to associated project/person, flag as HIGH priority |
+30 points |
| Quarterly Goal match |
Content relates to current quarter's goals |
Route to associated project, flag as strategic |
+20 points |
| Project match |
File mentions project name, or filename contains project reference |
Route to specific project file |
+10 points if also matches priority |
| Person match |
File is about a specific person, contains their name prominently |
Route to person page OR suggest linking |
+10 points if person mentioned in priorities |
| Company match |
File mentions company name, or attendees from known domain |
Route to company page in 05-Areas/Companies/ |
Base confidence |
| Pillar keyword match |
Content matches pillar keywords |
Tag with pillar, suggest relevant category |
Base confidence |
| No entity match |
None of the above |
Fall back to category routing |
Low confidence |
Category Fallback Rules
When no specific entity matches, use these rules:
| Destination |
Criteria |
04-Projects/ |
Has deadline, specific outcome, time-bound |
05-Areas/[specific area]/ |
Belongs to a role-specific area (Accounts/, Team/, Content/) |
05-Areas/People/ |
Person-specific information |
06-Resources/ |
Reference material, knowledge, learnings |
07-Archives/ |
Old/completed, no longer active |
| Delete |
No value, redundant, or temporary |
Present Suggestions with Strategic & Entity Context
Show what was matched, prioritizing items that align with current priorities:
File: [filename]
Strategic Context: [Week Priority/Q Goal if matched]
Match: [entity type] → [specific entity name]
Destination: [exact path]
Confidence: [high/medium/low] ([score]/100)
Action: [suggested action]
Sort order:
- Items matching Week Priorities (highest confidence first)
- Items matching Quarterly Goals
- Items matching known entities (projects, people, companies)
- Generic category routing
Flag misalignments:
- If multiple entries relate to something NOT in priorities/goals, surface it: "You've captured 5 items about [topic]. Consider adding to priorities?"
Execute with Confirmation
- Show full plan
- Wait for user approval
- Move files using
mv (not copy)
- For merges, append content to existing file
Mode: Tasks
Extract uncompleted tasks from notes and route them appropriately.
Process
Scan Sources
00-Inbox/Meetings/*.md - Meeting action items
00-Inbox/*.md - Captured tasks
- Any file with unchecked tasks
- [ ]
Extract Tasks
- Find all
- [ ] items
- Note the source file for each
- Extract any mentioned names, projects, companies
Match Tasks to Entities
For each task:
- Check if it mentions a known project → suggest adding to that project
- Check if it mentions a known person → suggest linking to person page
- Check if it mentions a known company → suggest linking to company
Deduplication Check
For each task, check against:
00-Inbox/Weekly_Plans.md
03-Tasks/Tasks.md
Flag items with >60% similarity to existing tasks.
Ambiguity Detection
Flag tasks that are:
- Less than 3 words
- Match vague patterns (e.g., "fix bug", "follow up", "research X")
Generate clarification questions for ambiguous items.
Present Results
Ready to Route (clear, non-duplicate items):
- Show suggested destination with entity context
- Show pillar if detectable
- Show any linked entities
Potential Duplicates (>60% similarity):
- Show the existing task it matches
- Ask: Skip / Merge / Keep Both
Needs Clarification (ambiguous):
- Show the issue
- Ask clarifying questions
- Wait for user input
Route with Confirmation
- To Week Priorities: Add to
00-Inbox/Weekly_Plans.md
- To Project: Add to relevant project file
- To Person: Add to person page's action items
- Skip: Don't process
- Defer: Leave for later
Mode: All (Default)
Process all orphaned items:
- Load strategic context (Week Priorities + Quarterly Goals)
- Run structure discovery (projects, people, companies)
- Organize standalone files in
00-Inbox/
- Extract and route scattered unchecked tasks from all notes
Example Output
📬 Triage Report
=== STRATEGIC CONTEXT ===
Week Priorities:
• Mobile App Launch (beta by Friday)
• Q2 Planning finalization
• Sarah's team onboarding
Quarterly Goals:
• Launch mobile app beta (Q1)
• Expand into EMEA market (Q2)
• Build product marketing team (Q1)
=== STRUCTURE DISCOVERED ===
• 4 projects found in 04-Projects/
• 12 people found in 05-Areas/People/
• 3 companies found in 05-Areas/Companies/
• 3 pillars configured
=== FILES (2) ===
1. "Screenshot 2026-01-28.png"
Found in: 00-Inbox/
Strategic Context: (no automatic match - image file)
Suggested: Review manually or describe context
2. "Q1_Planning_Notes.md"
Strategic Context: ✓ Week Priority "Q2 Planning" (related)
Match: PROJECT → "Q2 Planning"
Destination: 04-Projects/Q2_Planning.md
Confidence: MEDIUM (70/100)
Action: Merge into Q2 Planning project?
=== TASKS (4) ===
🎯 HIGH PRIORITY - MATCHES WEEK PRIORITIES (1):
1. "- [ ] Finalize mobile app pricing model"
Found in: 04-Projects/Mobile_App_Launch.md
Strategic Context: ✓ Week Priority "Mobile App Launch" + Q1 Goal
Match: Already in correct project
Confidence: HIGH (95/100)
Action: Extract to Week Priorities for visibility?
📋 NEEDS ROUTING (2):
2. "- [ ] Follow up with Sarah about timeline concerns"
Found in: random meeting note
Strategic Context: ✓ Week Priority "Sarah's team onboarding"
Match: PERSON → "Sarah Chen"
Destination: Add to Sarah's person page action items
Confidence: HIGH (85/100)
3. "- [ ] Review competitor pricing"
Found in: scattered note
Strategic Context: (no direct priority match)
Match: PILLAR → "Product Strategy"
Destination: Week Priorities or Tasks.md?
Confidence: MEDIUM (60/100)
⚠️ DUPLICATE (1):
4. "- [ ] Reach out to Sarah"
Found in: old meeting note
78% match with existing task in Week Priorities
Action: Skip / Merge / Keep both?
=== TASKS (5 items) ===
✅ READY TO ROUTE (3):
1. "Follow up with Sarah about Q1 budget"
→ Week Priorities
Links: People/External/Sarah_Chen.md
2. "Prep slides for conference"
→ Week Priorities
Pillar: Thought Leadership
3. "Review competitor analysis for Acme deal"
→ 04-Projects/Acme_Deal.md (project match)
Links: 05-Areas/Companies/Acme_Corp.md
⚠️ POTENTIAL DUPLICATE (1):
4. "Contact Tom about implementation"
→ 78% match with "Reach out to Tom" in Week Priorities
[s]kip / [m]erge / [k]eep both?
❓ NEEDS CLARIFICATION (1):
5. "Fix the bug"
- Too vague. Which bug? What system?
---
Proceed with ready items? [y/n]
How Structure Discovery Evolves
Because discovery happens at runtime:
- New projects are automatically recognized in the next triage
- New people pages become available for matching
- New companies get detected
- Custom folders you add are included as destinations
No configuration needed - triage adapts as your structure grows.
Notes
- Never auto-route without confirmation
- Duplicates require explicit decision
- Ambiguous items block until clarified
- Use
mv not cp when moving files
- Entity matches show confidence level (high/medium/low)
- Multiple entity matches are shown for user to choose
Track Usage (Silent)
Update System/usage_log.md to mark inbox triage as used.
Analytics (Beta Feature):
- Call
check_beta_enabled(feature="analytics") - if false, skip
- If beta enabled AND consent given, fire event:
- Fire event:
triage_completed
- Properties:
items_processed, tasks_extracted, files_routed
- Only fires if BOTH: analytics beta activated AND opted in
1---2name: triage3description: Strategically route orphaned files and extract scattered tasks4---56Cleanup and routing tool that finds standalone files and scattered tasks, then suggests where they belong using your current strategic context (Week Priorities + Quarterly Goals).78## What It Does910- **Files**: Routes standalone files in `00-Inbox/` to projects, person pages, or resource folders11- **Tasks**: Finds unchecked `- [ ]` tasks scattered across notes and routes them appropriately12- **Strategic**: Uses your Week Priorities and Quarterly Goals to inform routing confidence1314## Usage1516- `/triage` - Process everything (files + tasks)17- `/triage files` - Organize standalone files only18- `/triage tasks` - Extract and route tasks only1920## Arguments2122$MODE: Optional. "files" | "tasks" | "all". Default: "all"2324---2526---2728## Demo Mode Check2930Before executing, check if demo mode is active:31321. Read `System/user-profile.yaml` and check `demo_mode`332. **If `demo_mode: true`:**34 - Display: "Demo Mode Active — Using sample data"35 - Use `System/Demo/` paths instead of root paths36 - Write any output to `System/Demo/` subdirectories373. **If `demo_mode: false`:** Use normal vault paths383940## Step 0: Load Strategic Context & Structure Discovery4142Before processing inbox items, load strategic context and build an index of existing entities. This makes triage strategically aware and enables intelligent routing.4344### 0. Load Strategic Context4546Read these files to understand current priorities:47481. **Week Priorities**: `00-Inbox/Week_Priorities.md`49 - Extract this week's Top 3 focus items50 - Note any specific projects/people mentioned51 - Capture keywords and themes52532. **Quarterly Goals**: `03-Tasks/Quarterly_Goals.md`54 - Extract current quarter's goals55 - Note associated projects and outcomes56 - Capture keywords and themes5758This context will inform routing decisions - entries matching current priorities get higher confidence scoring and are surfaced first.5960### 1. Scan Projects6162List all files in `04-Projects/`:63- Extract project name from filename (convert underscores to spaces)64- Read frontmatter if present for description, status, pillar65- Build index: `{ name, path, description, status, pillar }`6667### 2. Scan People6869List all files in `05-Areas/People/External/` and `05-Areas/People/Internal/`:70- Extract name from filename71- Read frontmatter/metadata table for role, company72- Build index: `{ name, path, company, role, type: internal|external }`7374### 3. Scan Role-Specific Areas7576List any additional folders under `05-Areas/` that aren't People or Career:77- These may be role-specific areas created during setup (e.g., Accounts/, Team/, Content/)78- Extract relevant names from filenames79- Build index: `{ name, path, type: area_type }`8081### 4. Read Pillars8283Parse `System/pillars.yaml`:84- Extract pillar names, descriptions, and keywords85- These inform categorization when no entity match is found8687---8889## Mode: Files9091Organize standalone files in the `00-Inbox/` folder by suggesting where they belong.9293### Process94951. **Scan 00-Inbox/**96 - List all files (exclude Week Priorities.md, README.md)97 - Read each file's content98992. **Match Against Strategic Context & Entities**100101 For each inbox file, check in this order:102103 | Check | Match Criteria | Action | Confidence Boost |104 |-------|---------------|--------|------------------|105 | **Week Priority match** | Content relates to this week's Top 3 priorities | Route to associated project/person, flag as HIGH priority | +30 points |106 | **Quarterly Goal match** | Content relates to current quarter's goals | Route to associated project, flag as strategic | +20 points |107 | **Project match** | File mentions project name, or filename contains project reference | Route to specific project file | +10 points if also matches priority |108 | **Person match** | File is about a specific person, contains their name prominently | Route to person page OR suggest linking | +10 points if person mentioned in priorities |109 | **Company match** | File mentions company name, or attendees from known domain | Route to company page in 05-Areas/Companies/ | Base confidence |110 | **Pillar keyword match** | Content matches pillar keywords | Tag with pillar, suggest relevant category | Base confidence |111 | **No entity match** | None of the above | Fall back to category routing | Low confidence |1121133. **Category Fallback Rules**114115 When no specific entity matches, use these rules:116117 | Destination | Criteria |118 |-------------|----------|119 | `04-Projects/` | Has deadline, specific outcome, time-bound |120 | `05-Areas/[specific area]/` | Belongs to a role-specific area (Accounts/, Team/, Content/) |121 | `05-Areas/People/` | Person-specific information |122 | `06-Resources/` | Reference material, knowledge, learnings |123 | `07-Archives/` | Old/completed, no longer active |124 | Delete | No value, redundant, or temporary |1251264. **Present Suggestions with Strategic & Entity Context**127128 Show what was matched, prioritizing items that align with current priorities:129130 ```131 File: [filename]132 Strategic Context: [Week Priority/Q Goal if matched]133 Match: [entity type] → [specific entity name]134 Destination: [exact path]135 Confidence: [high/medium/low] ([score]/100)136 Action: [suggested action]137 ```138139 **Sort order:**140 1. Items matching Week Priorities (highest confidence first)141 2. Items matching Quarterly Goals142 3. Items matching known entities (projects, people, companies)143 4. Generic category routing144 145 **Flag misalignments:**146 - If multiple entries relate to something NOT in priorities/goals, surface it: "You've captured 5 items about [topic]. Consider adding to priorities?"1471485. **Execute with Confirmation**149 - Show full plan150 - Wait for user approval151 - Move files using `mv` (not copy)152 - For merges, append content to existing file153154---155156## Mode: Tasks157158Extract uncompleted tasks from notes and route them appropriately.159160### Process1611621. **Scan Sources**163 - `00-Inbox/Meetings/*.md` - Meeting action items164 - `00-Inbox/*.md` - Captured tasks165 - Any file with unchecked tasks `- [ ]`1661672. **Extract Tasks**168 - Find all `- [ ]` items169 - Note the source file for each170 - Extract any mentioned names, projects, companies1711723. **Match Tasks to Entities**173174 For each task:175 - Check if it mentions a known project → suggest adding to that project176 - Check if it mentions a known person → suggest linking to person page177 - Check if it mentions a known company → suggest linking to company1781794. **Deduplication Check**180181 For each task, check against:182 - `00-Inbox/Weekly_Plans.md`183 - `03-Tasks/Tasks.md`184185 Flag items with >60% similarity to existing tasks.1861875. **Ambiguity Detection**188189 Flag tasks that are:190 - Less than 3 words191 - Match vague patterns (e.g., "fix bug", "follow up", "research X")192193 Generate clarification questions for ambiguous items.1941956. **Present Results**196197 **Ready to Route** (clear, non-duplicate items):198 - Show suggested destination with entity context199 - Show pillar if detectable200 - Show any linked entities201202 **Potential Duplicates** (>60% similarity):203 - Show the existing task it matches204 - Ask: Skip / Merge / Keep Both205206 **Needs Clarification** (ambiguous):207 - Show the issue208 - Ask clarifying questions209 - Wait for user input2102117. **Route with Confirmation**212 - To Week Priorities: Add to `00-Inbox/Weekly_Plans.md`213 - To Project: Add to relevant project file214 - To Person: Add to person page's action items215 - Skip: Don't process216 - Defer: Leave for later217218---219220## Mode: All (Default)221222Process all orphaned items:2231. Load strategic context (Week Priorities + Quarterly Goals)2242. Run structure discovery (projects, people, companies)2253. Organize standalone files in `00-Inbox/`2264. Extract and route scattered unchecked tasks from all notes227228---229230## Example Output231232```233📬 Triage Report234235=== STRATEGIC CONTEXT ===236Week Priorities:237• Mobile App Launch (beta by Friday)238• Q2 Planning finalization239• Sarah's team onboarding240241Quarterly Goals:242• Launch mobile app beta (Q1)243• Expand into EMEA market (Q2)244• Build product marketing team (Q1)245246=== STRUCTURE DISCOVERED ===247• 4 projects found in 04-Projects/248• 12 people found in 05-Areas/People/249• 3 companies found in 05-Areas/Companies/250• 3 pillars configured251252=== FILES (2) ===2532541. "Screenshot 2026-01-28.png"255 Found in: 00-Inbox/256 Strategic Context: (no automatic match - image file)257 Suggested: Review manually or describe context258 2592. "Q1_Planning_Notes.md"260 Strategic Context: ✓ Week Priority "Q2 Planning" (related)261 Match: PROJECT → "Q2 Planning"262 Destination: 04-Projects/Q2_Planning.md263 Confidence: MEDIUM (70/100)264 Action: Merge into Q2 Planning project?265266=== TASKS (4) ===267268🎯 HIGH PRIORITY - MATCHES WEEK PRIORITIES (1):2692701. "- [ ] Finalize mobile app pricing model"271 Found in: 04-Projects/Mobile_App_Launch.md272 Strategic Context: ✓ Week Priority "Mobile App Launch" + Q1 Goal273 Match: Already in correct project274 Confidence: HIGH (95/100)275 Action: Extract to Week Priorities for visibility?276277📋 NEEDS ROUTING (2):2782792. "- [ ] Follow up with Sarah about timeline concerns"280 Found in: random meeting note281 Strategic Context: ✓ Week Priority "Sarah's team onboarding"282 Match: PERSON → "Sarah Chen"283 Destination: Add to Sarah's person page action items284 Confidence: HIGH (85/100)2852863. "- [ ] Review competitor pricing"287 Found in: scattered note288 Strategic Context: (no direct priority match)289 Match: PILLAR → "Product Strategy"290 Destination: Week Priorities or Tasks.md?291 Confidence: MEDIUM (60/100)292293⚠️ DUPLICATE (1):2942954. "- [ ] Reach out to Sarah"296 Found in: old meeting note297 78% match with existing task in Week Priorities298 Action: Skip / Merge / Keep both?299300=== TASKS (5 items) ===301302✅ READY TO ROUTE (3):3031. "Follow up with Sarah about Q1 budget"304 → Week Priorities305 Links: People/External/Sarah_Chen.md3063072. "Prep slides for conference"308 → Week Priorities309 Pillar: Thought Leadership3103113. "Review competitor analysis for Acme deal"312 → 04-Projects/Acme_Deal.md (project match)313 Links: 05-Areas/Companies/Acme_Corp.md314315⚠️ POTENTIAL DUPLICATE (1):3164. "Contact Tom about implementation"317 → 78% match with "Reach out to Tom" in Week Priorities318 [s]kip / [m]erge / [k]eep both?319320❓ NEEDS CLARIFICATION (1):3215. "Fix the bug"322 - Too vague. Which bug? What system?323324---325Proceed with ready items? [y/n]326```327328---329330## How Structure Discovery Evolves331332Because discovery happens at runtime:333- **New projects** are automatically recognized in the next triage334- **New people pages** become available for matching335- **New companies** get detected336- **Custom folders** you add are included as destinations337338No configuration needed - triage adapts as your structure grows.339340---341342## Notes343344- Never auto-route without confirmation345- Duplicates require explicit decision346- Ambiguous items block until clarified347- Use `mv` not `cp` when moving files348- Entity matches show confidence level (high/medium/low)349- Multiple entity matches are shown for user to choose350351---352353## Track Usage (Silent)354355Update `System/usage_log.md` to mark inbox triage as used.356357**Analytics (Beta Feature):**3581. Call `check_beta_enabled(feature="analytics")` - if false, skip3592. If beta enabled AND consent given, fire event:360- Fire event: `triage_completed`361- Properties: `items_processed`, `tasks_extracted`, `files_routed`362- Only fires if BOTH: analytics beta activated AND opted in