home / skills / spm1001 / trousse / filing
This skill helps you file and process files during weekly reviews by extracting actions before organizing into Projects, Areas, and Resources.
npx playbooks add skill spm1001/trousse --skill filingReview the files below or copy the command above to add this skill to your agents.
---
name: filing
description: Orchestrates file cleanup with mandatory processing — reads content and extracts actions BEFORE moving files. Prevents lost waiting-fors and buried actions. MANDATORY during weekly review filing phase. Triggers on 'where should this go', 'help me tidy', 'clean up downloads', 'triage inbox'. (user)
---
# Filing
Help with file organization: where things belong and keeping inboxes clear.
## When to Use
- "Where should this file go?"
- Weekly review (filing portion)
- Moving files between zones
- Deciding Projects vs Areas vs Resources
## When NOT to Use
- Pattern reflection (use todoist-gtd)
- Todoist organization (use todoist-gtd)
- Code/repo organization (different rules apply)
## Core Principle: Filing = Processing + Organizing
**You can't file what you haven't processed.**
Moving files without reading them isn't filing — it's relocating the problem. Proper filing means:
1. **Processing** — Read content, extract what matters (actions, waiting-fors, calendar items)
2. **Organizing** — Move to the right location with the right name
If you skip processing, actions get lost, waiting-fors vanish, and meeting notes become information graves.
**The test:** Before moving a file, can you answer: "What's in this and does anything need to happen?"
## Work Folder Structure
Location: `~/Library/CloudStorage/GoogleDrive-*/My Drive/Work`
To find exact path: `ls -d ~/Library/CloudStorage/GoogleDrive-*/My\ Drive/Work`
```
Work/
├── Projects/ # Active outcome folders
├── Areas/ # Ongoing responsibilities
├── Resources/ # Reference material (Larder, GTD Resources)
├── Archive/ # Completed/dormant
└── Meeting Notes/ # By year (2015-2025)
```
### Projects/
Active work with defined end states. Folders named: `{Area} - {Outcome statement}`
Examples:
- `Industry Influencing - Marketing Week Articles`
- `Product Development - Launched new dashboard...`
**When complete:** Move to Archive/
### Areas/
Ongoing responsibilities (no completion date):
- Budget and Finance
- Cross-Broadcaster Measurement
- Desired Outcomes Planning
- Industry Advisory Roles
- Industry Influencing
- Internal Stakeholders
- Managing Myself
- Processes and Systems
- Team Development
### Resources/
Reference material that supports work:
- **Larder/** - 100+ research PDFs
- **GTD Resources (Common)/** - GTD reference docs
### Archive/
Completed projects and dormant materials. Preserves history.
### Meeting Notes/
Organized by year:
```
Meeting Notes/
├── 2024/
└── 2025/
└── 2025-12-11 Alex Maguire (Netflix) - EMEA measurement landscape.md
```
Naming: `{date} {Person/Topic} - {Brief description}.md`
## PARA Quick Reference
| Category | Definition | Completion |
|----------|------------|------------|
| **Projects** | Active work with end state | Finite - move to Archive when done |
| **Areas** | Ongoing responsibilities | Infinite - never "done" |
| **Resources** | Reference material | Supports work, isn't the work |
| **Archive** | Inactive items | Superseded or completed |
**Key distinction:** Areas ≠ Projects. "Team Development" is an Area (infinite). "Hire data scientist" is a Project (finite).
## How This Differs from Strict PARA
Strict PARA has 4 equal categories (Projects, Areas, Resources, Archive).
**This structure adds:**
- **Meeting Notes/** - Chronological organization by year (not in PARA)
- Areas are predefined (not emergent as in strict PARA)
**Core PARA principle remains:** Projects complete, Areas don't.
**Why the additions:** Meeting notes benefit from chronological access. Areas reflect actual work responsibilities.
## Weekly Cleanup Zones
Nine locations where clutter accumulates:
### 1. Local Downloads
**Path:** `~/Downloads`
Typical contents: PDFs, screenshots, installers, random files from web.
**Action:** File to Work/ or delete.
### 2. iCloud Downloads
**Path:** `~/Library/Mobile Documents/com~apple~CloudDocs/Downloads`
Typical contents: Screenshots (iOS sync), files from iOS apps.
**Action:** File to Work/ or delete. Check for screenshots that should go to projects.
### 3. iA Writer Strays
**Path:** `~/Library/Mobile Documents/27N4MQEA55~pro~writer/Documents`
**Structure:**
```
Documents/
└── Diary/ # Structured diary entries (leave alone)
└── [stray files] # Waifs outside Diary folder
```
**Action:** Anything outside `Diary/` is a stray. File or delete.
### 4. Desktop (iCloud-synced)
**Path:** `~/Desktop`
iCloud Desktop & Documents sync enabled. Files may be cloud-only (evicted from local storage).
Typical contents: Screenshots, drag-dropped files, temporary staging.
**Action:** File to Work/ or delete. Most Desktop items are transient.
**iCloud voodoo:** Files can appear as stubs (cloud-only, download on access). When bulk processing, may trigger downloads. The `.localized` file is system-managed - leave it.
### 5. Work Folder Root
**Path:** `~/Library/CloudStorage/GoogleDrive-*/My Drive/Work`
Should only contain CLAUDE.md (project instructions) - nothing else belongs at root level.
Typical contents: Stray files that missed proper subfolder, CLAUDE.md.
**Action:** CLAUDE.md stays. Everything else gets filed into Projects/, Areas/, Resources/, or Archive/.
### 6. My Drive Root (Inbox)
**Path:** `~/Library/CloudStorage/GoogleDrive-*/My Drive`
True inbox per PARA. Where `doc.new` creates files, where shared docs land, where quick-captured items accumulate.
Typical contents: New Google Docs, shared files, unsorted captures.
**Action:** Triage into Work/ subfolders or delete. This is the primary inbox to keep clear.
### 7. My Drive Temp (Claude Staging)
**Path:** `~/Library/CloudStorage/GoogleDrive-*/My Drive/Temp`
Nominated temp folder for Claude operations — file uploads, MCP staging, transient outputs.
Typical contents: PDFs uploaded for analysis, intermediate files, staged outputs.
**Action:** Delete everything. If something needs keeping, it should have been filed properly after the session that created it. This folder should be empty between sessions.
### 8. Work Inbox (iCloud)
**Path:** `~/Library/Mobile Documents/com~apple~CloudDocs/Work Inbox/`
Quick capture landing zone from iOS Shortcuts. Subfolders organize by type:
```
Work Inbox/
├── Voice Transcripts/ ← Whisper output from JPR recordings
├── Meeting Notes/ ← iOS Shortcut meeting captures
└── Quick Notes/ ← General quick capture
```
Naming: `YYYY-MM-DD [HH-MM] Title.md`
**Action per subfolder:**
| Subfolder | Triage |
|-----------|--------|
| Voice Transcripts/ | Review, extract actions, file to Meeting Notes/ or delete |
| Meeting Notes/ | Copy to Google Drive Meeting Notes/{year}/, keep original |
| Quick Notes/ | File to PARA, extract to Todoist, or delete |
### 9. JPR Voice Recordings
**Path:** `~/Library/Mobile Documents/iCloud~com~openplanetsoftware~just-press-record/Documents/`
Just Press Record voice memos (m4a/mp3). Organized by date: `YYYY-MM-DD/HH-MM-SS.m4a`
**Action:**
1. Transcribe with `~/.claude/scripts/transcribe-jpr.sh --new`
2. Review transcript in Work Inbox/Voice Transcripts/
3. Audio moves to `Processed/` subfolder automatically
## When Filing Signals Deeper Patterns
File organization chaos often symptoms deeper behavioral patterns. Surface these signals during weekly review:
| Signal | Pattern | Response |
|--------|---------|----------|
| Downloads >100 files OR >2 weeks neglect | **Execution-Without-Reflection** | "This backlog suggests rushing through tasks without processing. Want to check patterns?" |
| Multiple "temporary" folders >1 month old | **Scope Creep** | "These temp folders suggest projects expanding beyond original scope." |
**Coordination pattern:** Filing is Phase 1 of weekly review. After tidying, **todoist-gtd** skill handles pattern reflection (Phase 3).
Don't skip the pattern check just because you tidied the files.
## Processing (Before You File)
Processing means reading and extracting — not just moving.
### Processing Checklist (Meeting Notes)
Before filing ANY meeting note:
- [ ] **Read the content** — Don't just look at the title
- [ ] **Extract actions (mine)** — Concrete next steps I need to take
- [ ] **Extract waiting-fors** — `NAME: What they owe me` format
- [ ] **Note calendar items** — Dates to add to calendar
- [ ] **Quality check: empty?** — Delete (with confirmation)
- [ ] **Quality check: misnamed?** — Rename to match content
- [ ] **THEN move to destination**
**Mandatory extraction:** Cannot file meeting notes until actions are extracted. This is not optional.
### Processing Other File Types
| File Type | Processing Required |
|-----------|---------------------|
| Meeting notes | Full checklist above |
| Quick notes | Check for actions, then file or delete |
| Voice transcripts | Read transcript, extract actions, then file or delete |
| PDFs/docs | Understand content for proper filing location |
| Screenshots | Determine project context, file or delete |
## Action Extraction Workflow (Sublime Loop)
When processing multiple meeting notes with actions:
### 1. Extract to Temp File
Create structured sections:
```markdown
## Waiting For
NAME: What they owe me
## Ping
Quick actions for me to do
## Calendar
Date - Event to add
```
### 2. Open for Review
```bash
open -a "Sublime Text" /tmp/meeting-actions.md
```
### 3. Tell User
"Edit, save, let me know when ready"
User fixes:
- Names (Susie → Susan)
- Stale/irrelevant items (delete)
- Vague actions (clarify)
### 4. After Save
Read file, add to Todoist via todoist-gtd skill.
**Why this works:**
- User sees all actions at once
- Catches errors before they hit Todoist
- Disambiguation happens in familiar editor
- Claude processes clean, user-approved list
## Meeting Source Discovery
At weekly review start, check beyond the 9 zones.
### Standing Docs (Always Check)
**Prompt first:** "Any changes to this standing docs list? (Add/remove as your meetings evolve)"
| Doc | ID |
|-----|-----|
| MIT: Start the Week | `19NqCEPMSOdIdouFqVaHZVA-GyJmkmPjLGyNknTJpU3M` |
| Client Reference | `1owM77DjcTwHjrTfHs9zEfQfNyeFfmtheokBGvkPD8II` |
| Supplier Reference | `1b2vaWpGx-fUj48vuQ0KmIirDu5loodC7F4j3XGV4_DU` |
| Notes – WEEKLY senior team catch up | `1B5X-MrSzldgFElppNlk4s_PDgpIJ0H5Sul74uqQnTs8` |
| TVA/MP/ITV Status | `1tCuph3QWiObYImjb-7nfPPI2Q-D2RjAtou-dceHa45c` |
### Calendar-Linked Docs
**Prompt:** "What recurring meetings had sessions this week? Any have running docs I should check?"
(Future: mise calendar integration to auto-discover — see mise-en-space backlog)
## Filing Decisions
### "Where does this go?"
| If it's... | Put it in... |
|------------|--------------|
| Active project artifact | Projects/{relevant project}/ |
| Meeting notes | Meeting Notes/{year}/ |
| Reference PDF/doc | Resources/Larder/ or relevant Resources subfolder |
| Completed project | Archive/ |
| Ongoing area doc | Areas/{relevant area}/ |
| Screenshot for project | Projects/{project}/ or delete |
| Random download | Delete or file if valuable |
## Personal Documents Zone
**Path:** `~/Documents/Personal/`
Personal documents with PARA structure (no numbering, aligned with Work folder):
```
Personal/
├── Projects/ # Active personal projects
├── Areas/ # Ongoing personal responsibilities (e.g., Ash)
├── Archive/ # Completed/dormant
└── CLAUDE.md # Project instructions
```
**Note:** No Resources folder - personal "resources" live in Areas as active things.
**Action:** Personal admin docs (scanned letters, etc.) go to appropriate Area.
## Team Shared Drives
**Detection:** `ls "$GDRIVE/Shared drives/"`
Team shared content lives in Shared Drives (not personal My Drive):
```
Team Shared Drive/
├── Team Reference/ # Team-specific reference material
├── Shared Reference/ # Cross-team reference material
└── External Reference/ # External/industry reference
```
**Action:** Team reference materials (shared tools, analytics) go here, not personal Drive.
## Filing Workflow
### Zone Check (Do This First)
At session start, **explicitly check ALL zones** - don't skip any:
```bash
GDRIVE=$(ls -d ~/Library/CloudStorage/GoogleDrive-* 2>/dev/null | head -1)
echo "=== 1. Downloads ===" && ls ~/Downloads | head -5
echo "=== 2. iCloud Downloads ===" && ls ~/Library/Mobile\ Documents/com~apple~CloudDocs/Downloads 2>/dev/null | head -5
echo "=== 3. iA Writer ===" && ls ~/Library/Mobile\ Documents/27N4MQEA55~pro~writer/Documents 2>/dev/null | grep -v Diary | head -5
echo "=== 4. Desktop ===" && ls ~/Desktop 2>/dev/null | head -5
echo "=== 5. Work root ===" && ls "$GDRIVE/My Drive/Work" 2>/dev/null | grep -v "^CLAUDE.md$" | head -5
echo "=== 6. My Drive root ===" && find "$GDRIVE/My Drive" -maxdepth 1 -type f ! -name ".DS_Store" 2>/dev/null | head -5
echo "=== 7. My Drive Temp ===" && ls "$GDRIVE/My Drive/Temp" 2>/dev/null | head -5
echo "=== 8. Work Inbox ===" && find ~/Library/Mobile\ Documents/com~apple~CloudDocs/Work\ Inbox -type f ! -name ".DS_Store" 2>/dev/null | head -5
echo "=== 9. JPR Voice ===" && find ~/Library/Mobile\ Documents/iCloud~com~openplanetsoftware~just-press-record/Documents -name "*.m4a" -o -name "*.mp3" 2>/dev/null | grep -v "/Processed/" | head -5
```
Report which zones have content before starting. Don't skip zones that look empty - verify each one.
### Per-File Process (5 Steps)
When triaging files, follow this 5-step process:
1. **Process** - Read content, extract what matters
- For meeting notes: extract actions, waiting-fors, calendar items (see Processing section)
- For other files: understand content for proper filing
- Use Sublime Loop for batch processing multiple notes
- For text files: Claude reads directly
- For binary/GUI files: `open -a "Sublime Text" file.md` or `open file.pdf`
- **Office files in Google Drive (.docx, .xlsx, .pptx):** These open in native apps (Word, Excel, PowerPoint), not browser. To open in Google Docs instead, fetch the Drive URL via mise and open that:
```bash
# Don't do this (opens in Word):
open "My Drive/document.docx"
# Do this instead (opens in browser):
# 1. Get file ID via mise search
# 2. open "https://docs.google.com/document/d/FILE_ID"
```
Or flag to user: "These .docx files will open in Word — want Drive URLs instead?"
2. **Rename** - Adjust filename to match actual content
- Generic names like "Untitled" or "Copy of..." need proper names
- Use descriptive names: `Simon McCarthy - Pricing Power Proposal`
3. **Split** - If multiple topics in one file, separate them
- Open in GUI for user review
- Create new files for distinct topics
4. **Capture** - Outstanding actions → Todoist
- **Before adding:** Search for existing/completed tasks to avoid duplicates
- Use todoist-gtd skill (invoke with `Skill(todoist-gtd)`) for Todoist operations
- Link description to filed document
5. **File** - Move to correct location (or delete)
- See "Filing Decisions" section for where things go
- **After filing Meeting Notes:** Extract to memory for searchability
```bash
# Re-scan to pick up the filed document
cd ~/Repos/garde-manger && uv run garde scan --source local_md
# Extract entities from the filed document
SOURCE_ID="local_md:$(basename "$DEST_PATH")"
cd ~/Repos/garde-manger && uv run garde extract "$SOURCE_ID" 2>/dev/null || true
```
## Archive vs Reference
**The test:** "Will I search for this to USE it, or just to REMEMBER it?"
| Answer | Location | Examples |
|--------|----------|----------|
| **USE it** | Resources/ | Methodology docs, templates, how-to guides |
| **REMEMBER it** | Archive/ | Completed project artifacts, old meeting notes |
**Reference** = I'll need this again to do work
- Research PDFs that inform decisions
- Templates I reuse
- Product specs, methodology docs
**Archive** = This was a thing, now it's done
- Completed project artifacts
- Superseded versions
- Historical records
## Common Filing Patterns
### External doc → Google Doc → Project folder
When filing a document that needs to live in a Project:
1. Read content (use docx skill for Word docs)
2. Create Project folder if needed: `{Area} - {Outcome statement}`
3. Convert to Google Doc: `mcp__mise__create`
4. Delete original file
5. Update any Todoist task that references it with new link
### Todoist task linking
When a filed document relates to a Todoist task, use the todoist-gtd skill to search and link. Canonical document location should be in Todoist task description.
## Weekly Review Integration
**Note:** Weekly review is a three-phase workflow orchestrated by **todoist-gtd** skill:
1. **Filing** (this skill) — Clear cleanup zones
2. **Outcomes Review** (todoist-gtd) — Check outcome health
3. **Pattern Reflection** (todoist-gtd) — Freedom score, pattern interrupts
During weekly review, check all 9 cleanup zones:
1. **~/Downloads** - File or delete
2. **iCloud Downloads** - File or delete
3. **iA Writer strays** - File or delete
4. **~/Desktop** - File or delete (mind iCloud stubs)
5. **Work/ root** - Only CLAUDE.md should remain
6. **My Drive root** - Triage into Work/ or delete
7. **My Drive Temp** - Delete everything (Claude staging folder)
8. **Work Inbox** - Triage subfolders (Voice Transcripts, Meeting Notes, Quick Notes)
9. **JPR Voice** - Transcribe new recordings, review transcripts
## Anti-Patterns
| Pattern | Problem | Fix |
|---------|---------|-----|
| File without reading | Actions lost | Mandatory processing first |
| Bulk move meeting notes | Waiting-fors vanish | Use Sublime Loop, extract first |
| Skip running docs | Miss recurring meeting actions | Check standing docs + calendar prompt |
| Skip zones during weekly review | Clutter accumulates | Check ALL 9 zones explicitly |
| Keep "just in case" | Folders bloat | Delete liberally, most things don't need keeping |
| File without renaming | Untitled docs pile up | Rename to content-descriptive name first |
| Skip Todoist search before adding | Duplicate tasks | Always search for existing task first |
## Remember
**File promptly, delete liberally.** Most downloads don't need keeping. Screenshots are usually transient. When in doubt, delete.
**Projects complete, Areas don't.** If you're wondering "is this done?", it's probably a Project. If you're wondering "is this still my responsibility?", it's an Area.
## ~/Repos Naming Convention
Development tools live in `~/Repos/` with prefix conventions:
| Prefix | Contains | Example |
|--------|----------|---------|
| `trousse` | Core session skills | open, close, bon, filing |
| `skill-*` | Specialized skills | `skill-itv-styling` |
| `mcp-*` | MCP servers | `mcp-workspace` |
| `infra-*` | Infrastructure | `infra-openwrt` |
| `claude-*` | Claude experiments | `claude-memory` |
**Skills:** Symlinked to `~/.claude/skills/`. Core skills in `trousse/skills/`, specialized skills in individual repos, skills with tooling co-located with their infrastructure.
This skill orchestrates disciplined file cleanup by enforcing mandatory processing before any file is moved. It reads file content, extracts actions, waiting-fors, and calendar items, then places files into a PARA-aligned Work structure (Projects, Areas, Resources, Archive) plus Meeting Notes. The skill prevents lost follow-ups and buried tasks by making processing the gating step in weekly review filing.
The skill inspects nine common clutter zones (Downloads, iCloud downloads, Desktop, Work root, My Drive inbox, Temp, Work Inbox, JPR recordings, and iA Writer strays) and reports which zones contain items. For each file it opens and reads content, extracts concrete next actions, waiting-fors, and calendar dates, then suggests destination folders and standardized names. Meeting notes must pass a processing checklist before moving. Temporary staging folders are cleared or emptied after review.
What if a file has no actions or relevance?
Confirm by reading; if truly empty or irrelevant, delete with confirmation. Do not move unlabeled 'maybe' files into Archive.
How strict is the naming standard?
Rename meeting notes to '{date} {Person/Topic} - {Brief description}.md' and projects as '{Area} - {Outcome statement}' to preserve discoverability.