Help us improve
Share bugs, ideas, or general feedback.
From jd
Process a Johnny.Decimal inbox by reading items from 00.01 Inbox folders, classifying them against the JDex and folder structure, and routing them to the correct location. Use this skill whenever the user mentions processing their inbox, filing items, sorting their JD inbox, triaging captured notes, or any variation of "process my inbox," "sort my inbox," "file my stuff," "what's in my inbox," or "triage my captures." Also trigger when the user drops files into an inbox folder and asks what to do with them, or when they say things like "I just dumped some stuff in my inbox" or "clean up my inbox." This skill handles single-system and multi-system JD setups.
npx claudepluginhub ngerakines/jd --plugin jdHow this skill is triggered — by the user, by Claude, or both
Slash command
/jd:jd-inbox-processorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill processes items in Johnny.Decimal `00.01 Inbox` folders — reading
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.
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.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Share bugs, ideas, or general feedback.
This skill processes items in Johnny.Decimal 00.01 Inbox folders — reading
each item, classifying it against the system's JDex and folder structure, and
moving it to the correct ID location. When classification is ambiguous, it asks
the user to decide. It also extracts tasks, updates the JDex, and logs every
action.
Before processing, read references/jd-system-rules.md for the structural
conventions that govern all classification decisions.
Before touching any files, build a mental map of the user's JD setup.
The JD root folder is wherever the user's systems live. Common locations:
~/Library/Mobile Documents/com~apple~CloudDocs/JD/ (iCloud Drive)~/Documents/JD/~/JD/If you don't know the root, ask the user. If the user says "process my inbox" without further context, check the most common locations above. If you find exactly one, confirm it. If you find multiple or none, ask.
List the top-level folders under the JD root. Each folder whose name matches
the pattern [A-Z][0-9][0-9] * is a JD system (e.g., P10 Personal,
W20 Work, C40 Citywide).
If the user has a single system (no SYS prefix), that's fine — treat the entire JD root as one system.
For every system you'll process, read the JDex file at:
SYS/00-09 */00 */00.00 *JDex*
The JDex is the authoritative index of every area, category, and ID. It is your primary classification reference. If the JDex is missing or empty for a system, fall back to reading the folder structure directly — but flag this to the user as something that should be fixed.
For each system, list the area folders, category folders, and ID folders to depth 3. This gives you the physical layout to validate against the JDex and to discover any folders not yet in the index.
Each system's inbox lives at:
SYS/00-09 */00 */00.01 Inbox/
List the contents of every inbox you find. If the user asked to process a specific system's inbox (e.g., "process my P10 inbox"), limit to that one.
For each inbox, report to the user:
.md, .pdf, .jpg, .txt, etc.)If the inbox is empty, say so and move on. If it contains more than ~20 items, suggest processing in batches and ask the user how many to tackle.
Work through inbox items one at a time (or in logical groups if items are clearly related, like a note and its accompanying photo). For each item:
.md, .txt): Read the full content..jpg, .png): Describe what you see. If it's a photo of a
document, extract what you can.Summarize what the item is about in one sentence. This is your "item summary" and is used in the processing log.
Classification follows a strict decision tree. At each level, you're choosing from a bounded set (≤10 options). This is where the JDex is critical.
Read references/classification-heuristics.md for detailed guidance on
ambiguous cases.
Step 1 — Which system? (Multi-system setups only)
If the user has multiple systems, determine which system the item belongs to. Signals include:
If ambiguous between systems, ask the user.
Step 2 — Which area?
Read the area list from the JDex. Choose the area whose description best
matches the item's content. Areas are broad domains (10-19 Home & property,
30-39 Money & legal, etc.).
If no area fits, this may indicate:
Step 3 — Which category?
Within the chosen area, pick the category. Categories are collections of similar things. This is "where you work" — the most important classification decision.
Step 4 — Which ID?
Within the category, determine the specific ID folder:
+SUB extensions (e.g., 11.01+REDD),
match the item to the correct sub-entry.After classification, assess your confidence:
The threshold: if you'd bet money on the classification, it's high confidence. If you'd want a second opinion, it's medium. If you're guessing, it's low.
When asking the user, be specific. Not "where should this go?" but rather:
This looks like a health insurance claim. I'd file it at P10.34.01 (Health insurance). Does that sound right, or does it belong somewhere else?
If an item needs a new ID (no existing ID in the category fits), follow these rules strictly:
15.23, the next is 15.24. If the category
uses standard zeros (.00–.09 reserved), the first content ID is .10
or the next available number above .09.AC.ID Description (e.g.,
15.24 Trip to Portland).For +SUB entries, the process is similar but uses the +NNNN or +CODE
pattern established in that category.
Once the destination is confirmed:
Rename the file with a date prefix if it doesn't already have one.
Format: YYYY-MM-DD Description.ext. Use today's date if the item has no
inherent date. Use the item's date if it does (e.g., a receipt dated
2026-01-15).
Move the file from the inbox to the destination ID folder.
If the item contains actionable tasks, extract them. See §4.
If the item is both a record and a task source, file the record AND extract the tasks. Don't choose one or the other.
Some inbox items are:
00.09 Archive if that folder exists, or delete if
the user prefers.Many inbox items contain embedded tasks — things the user needs to do. When you identify a task, extract it.
Look for:
Append extracted tasks to the system's task file at:
SYS/00-09 */00 */00.02 Tasks*
Each task should include:
- [ ] [Task description]
→ [JD reference: AC.ID or AC.ID+SUB] | Deadline: [date or "none"] | Source: [inbox item filename]
If the task file doesn't exist, create it. If the task file uses a different format, match the existing format.
When possible, add context from the JD system to the task:
After processing each item, append a log entry to:
SYS/00-09 */00 */00.03 Processing log.md
If this file doesn't exist, create it.
### YYYY-MM-DD HH:MM — Inbox Processing
| Item | Action | Destination | Notes |
|------|--------|-------------|-------|
| `filename.ext` | Filed | `AC.ID Description` | One-line summary |
| `filename2.md` | Filed + Task | `AC.ID+SUB` | Task added to 00.02 |
| `filename3.pdf` | Needs review | `00.04 Needs review` | Ambiguous; user asked to decide later |
| `filename4.txt` | Archived | `00.09 Archive` | Stale item, confirmed by user |
**Items processed**: N
**Tasks extracted**: N
**Needs review**: N
**New IDs created**: [list, or "none"]
After all items are processed, verify the JDex:
When the user says "process my inboxes" (plural) or doesn't specify a system:
For inboxes with many items, offer batch mode:
This is faster than one-at-a-time for large inboxes while still giving the user control.
When the user corrects a classification or makes a non-obvious filing decision, note the reasoning. This helps you classify similar items in the future within the same session. For example, if the user says "actually, I keep all Northside stuff in 31.02, not by account," apply that pattern to subsequent Northside items.
00.01 Inbox has no inbox to
process. Note this and move on.After completing all inbox processing, present a summary:
Inbox processing complete.
[System name]: [N] items processed
→ [N] filed to existing IDs
→ [N] tasks extracted to 00.02
→ [N] new IDs created: [list]
→ [N] items need review (in 00.04)
→ [N] archived
[Repeat for each system processed]
JDex status: [up to date / N entries added / needs audit]
If any items were moved to "needs review," remind the user they're waiting.
All files in JD ID folders use date-prefix naming:
YYYY-MM-DD Description.ext
These reserved IDs exist (or may exist) in each category:
| ID | Purpose |
|---|---|
.00 | Category JDex / index |
.01 | Inbox |
.02 | Tasks / action items |
.03 | Templates (or processing log in system 00) |
.04 | Links / quick reference (or needs-review in system 00) |
.08 | Someday / parking lot |
.09 | Archive |
Not all systems use all standard zeros. Check what actually exists.