#+TITLE: SKILL: Org-Mode & Org-Roam (Technical Implementation) #+author: Amero Garcia #+created: [2026-03-16 Mon 14:28] #+ID: skill-org-mode #+DATE: 2026-03-11 #+STARTUP: content * Philosophy Plain text is forever. Structure is metadata. Everything is a node. * Technical Implementation ** 1. Document Structure - *Headlines:* Use `*` for top-level, `**` for second-level, etc. - *Properties:* Every node (headline) that is intended to be an atomic note must have a `:PROPERTIES:` drawer. - *Unique IDs:* Use `:ID:` for Org-roam style linking (e.g., `:ID: 550e8400-e29b-41d4-a716-446655440000`). - *Dates:* Use `[YYYY-MM-DD Day HH:MM]` for inactive timestamps and `` for active/scheduled ones. ** 2. Task Management (GTD) - *Hub:* Use `memex/gtd.org` for all TODOs, Projects, and Habits. - *Statuses:* `TODO`, `DOING`, `DONE` (with `CLOSED:`), `WAITING`, `SOMEDAY`. ** 3. File Naming - *Daily & Fleeting:* `memex/1_daily/YYYY-MM-DD.org` - *Atomic Notes:* `memex/2_notes/slug-of-the-concept.org` - *Projects:* `memex/5_projects/ProjectName/SPEC.org` ** 4. Code Blocks - Use `#+BEGIN_SRC ` and `#+END_SRC` for all code snippets. - Use `#+RESULTS:` to capture output when running code within Org-mode (Babel). ** 6. Binary Management (org-attach) - **Philosophy:** Treat binaries (PDFs, images, data) as first-class citizens linked to symbolic nodes. Never use fragile local file paths. - **The Protocol (System 2):** 1. **Identify the Host Node:** Every attachment must be linked to a specific Org headline (e.g., in `memex/gtd.org` or a Literature Note). 2. **Generate Native ID:** Use `(org-id-get-create)` via Emacs to ensure the node has a globally unique, persistent identifier. 3. **Perform the Attachment:** Use `(org-attach-attach "/path/to/file" nil 'mv)` to move the file into the ID-based storage. 4. **Linking:** Use `[[attachment:filename.ext]]` for all internal references. This ensures the link survives if the file or node is moved. - **Storage Root:** The system-wide attachment directory is `$MEMEX_ATTACHMENTS` (typically `memex/7_resources/` or `memex/attachments/`). ** 7. Learning Rituals (Closing the Loop)