refactor: moved org-agent to its own repository as a submodule

This commit is contained in:
2026-03-27 15:46:53 -04:00
parent 01f76a4570
commit b7e082c403
176 changed files with 19686 additions and 9665 deletions

View File

@@ -0,0 +1,53 @@
#+TITLE: SKILL: Atomic Notes (Zettelkasten) (Permanent Knowledge)
#+author: Amero Garcia
#+created: [2026-03-16 Mon 14:28]
#+ID: skill-atomic-notes
#+DATE: 2026-03-11
#+STARTUP: content
* Philosophy
Atomic notes. Stand-alone knowledge. Linked by ideas, not categories. Use the second-degree connection to build a brain.
* The Workflow
** 1. Fleeting Notes (`$MEMEX_DAILY/`)
- Temporary captures from today's sessions or conversations.
- Put these in the daily file: `YYYY-MM-DD.org`.
- Don't worry about structure; just get the facts down.
** 2. Literature Notes (`$MEMEX_RESOURCES/`)
- Summaries of external material (books, articles, podcasts) in your own words.
- Always include a source link.
** 3. Permanent Notes (`$MEMEX_NOTES/`)
- *Atomic:* Each note covers exactly ONE concept or idea.
- *Stand-alone:* A developer or researcher should understand it without context.
- *Linked:* Every new note must link to at least one existing note. Look for non-obvious connections.
** 4. Structuring
- Use `ID` properties for Org-roam style linking.
- Avoid deep folder hierarchies; let the links provide the structure.
- Review and prune. Knowledge that isn't connected is forgotten.
** 5. Discovery
- When researching a new topic, always search the existing Atomic Notes (Zettelkasten) first.
- Link new findings to old assumptions.
- Identify "Second-Degree" connections (A -> B, B -> C, therefore A -> C).
* The Distillation Pipeline
** 6. Nightly Distillation
- Dailies (`$MEMEX_DAILY/`) are raw, immutable logs. They are never destructively modified during processing.
- A state file (`$MEMEX_SYSTEM/distillation-state.json`) tracks the last processed Git commit hash.
- **Process:**
1. Read state file for the last processed commit.
2. Diff `$MEMEX_DAILY/` since that commit to identify new Atomic Notes (Zettelkasten) captures.
3. Extract these captures.
4. Generate a descriptive, concept-based filename (e.g., `proof_of_work.org`). *NO DATES IN PERMANENT FILENAMES.*
5. Create the new atomic note in `$MEMEX_NOTES/` with an `#+ID` and a `Source:` link pointing back to the specific daily log heading.
6. Update `distillation-state.json` with the new commit hash.
** 7. Weekly Interlinking (Maintenance)
- A deeper pass over the graph in `$MEMEX_NOTES/`.
- Goal: Find orphaned notes, merge conceptually similar notes, flesh out stubs, and establish new connections.
- Constraint: Ensure notes maintain their evergreen, atomic nature even when expanded. Do not let them turn into sprawling essays.

37
system/skills/GTD.org Normal file
View File

@@ -0,0 +1,37 @@
#+TITLE: SKILL: Getting Things Done (GTD)
#+author: Amero Garcia
#+created: [2026-03-16 Mon 14:28]
#+ID: skill-gtd
#+DATE: 2026-03-11
#+STARTUP: content
* Philosophy
Capture everything. Clarify the next action. Organize into projects. Reflect regularly. Engage with confidence.
* The Workflow
** 1. Capture (Inbox)
- Everything that enters your awareness goes into `memex/0_inbox/`.
- No friction. No filtering. Just get it out of the user's head.
** 2. Clarify (Process)
- Review the Inbox daily.
- Is it actionable?
- *No:* Trash it, Archive it (`6_reference`), or Incubate it (`memex/gtd.org` under `* Incubate`).
- *Yes:* What's the next action?
- If <2 minutes, DO IT NOW.
- If it's a project (>1 step), add to `memex/gtd.org` under `* Projects` and create a dedicated project folder in `5_projects/` if detailed planning is needed.
- If it's for someone else, delegate and track in `memex/gtd.org`.
** 3. Organize
- *GTD Hub:* All Actions, Projects, Incubate items, and Habits go to `memex/gtd.org`. This is the single source of truth for your Emacs agenda and `org-gtd`.
- *Fleeting Notes:* Use `memex/1_daily/` for non-actionable thoughts or meeting notes from the day.
- *Project Artifacts:* Deep work, technical specs, and drafts go to `5_projects/` or `3_drafts/`.
- *Reference material:* Non-actionable knowledge goes to `6_reference/` or `2_notes/`.
** 4. Reflect (Review)
- *Daily Review:* Process the inbox. Update `memex/gtd.org`.
- *Weekly Review:* Review all projects in `memex/gtd.org`. Brainstorm new tasks. Clear the mental clutter.
** 5. Engage
- Use `memex/gtd.org` and Emacs agenda to decide what to work on based on Context, Time, Energy, and Priority.

41
system/skills/OrgMode.org Normal file
View File

@@ -0,0 +1,41 @@
#+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 `<YYYY-MM-DD Day HH:MM>` 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 <language>` 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)

View File

@@ -0,0 +1,29 @@
#+TITLE: SKILL: Scribe Agent (Distillation Sub-Agent)
#+ID: skill-scribe-agent
#+STARTUP: content
* Overview
The Scribe Agent is an automated distillation sub-agent designed to process raw daily captures into permanent atomic notes for the Atomic Notes (Zettelkasten). It runs as an isolated OpenClaw cron job.
* Configuration
- **Type:** OpenClaw Cron Job
- **Target:** `isolated`
- **Model:** `CURRENT_TEXT_MANIPULATION_MODEL` (Updates periodically based on review; currently an efficient LLM suitable for text parsing).
- **Environment:** Loads variables from `.env` to locate folders (e.g., `$MEMEX_DAILY`, `$MEMEX_NOTES`, `$MEMEX_SYSTEM`).
* System Prompt / Agent Turn Directive
```markdown
You are the Scribe, an automated distillation sub-agent.
Your sole job is to process raw notes into a Atomic Notes (Zettelkasten).
Do not engage in conversation. Only execute the following pipeline:
1. Read `$MEMEX_SYSTEM/distillation-state.json` to get the last processed Git commit hash.
2. Run `git diff <last_commit_hash> HEAD -- $MEMEX_DAILY/` to find new captures.
3. For every new Atomic Notes (Zettelkasten) capture found in the diff:
a. Read the raw capture.
b. Determine the core concept.
c. Generate a concise, snake_case filename (e.g., `core_concept_name.org`).
d. Write the content to `$MEMEX_NOTES/<filename>`, ensuring it is formatted as an atomic Org-mode note with `#+ID` and a `Source:` backlink to the daily file.
4. Update `$MEMEX_SYSTEM/distillation-state.json` with the current HEAD commit hash.
5. Exit.
```