61 lines
3.2 KiB
Markdown
61 lines
3.2 KiB
Markdown
---
|
|
name: org-agent-memex-gtd
|
|
description: "Automate Getting Things Done (GTD) workflows in Emacs Org-mode. Auto-promotes TODO to NEXT in sequential projects and processes the inbox. Use when: user asks to manage tasks, update GTD, promote NEXT actions, or process the inbox. NOT for: extracting Atomic Notes (Atomic Notes (Zettelkasten)) knowledge or editing daily logs."
|
|
homepage: ""
|
|
metadata: { "openclaw": { "emoji": "✅", "requires": { "bins": ["grep", "sed"] }, "user-invocable": true } }
|
|
---
|
|
|
|
# Org-Agent Memex GTD
|
|
|
|
Automated GTD manager designed to keep your task lists fluid and your Org Agenda accurate. It handles the structural logic of sequential projects and helps clarify your inbox.
|
|
|
|
## When to Use
|
|
|
|
✅ **USE this skill when:**
|
|
- The user asks to "update GTD", "promote next actions", or "manage tasks".
|
|
- The user completes a task in a project and wants the next one queued up.
|
|
- The user asks to "process the inbox" or "clarify inbox tasks".
|
|
|
|
❌ **DON'T use this skill when:**
|
|
- Working with Atomic Notes (Atomic Notes (Zettelkasten)), evergreen notes, or daily logs (use `org-agent-memex-zettlekasten`).
|
|
- Just capturing a quick thought (user should do this via Emacs).
|
|
|
|
## Instructions
|
|
|
|
### Action 1: Auto-Promote Sequential Tasks (`gtd.org`)
|
|
When asked to update projects or promote NEXT actions:
|
|
1. Read the `gtd.org` file (located in `$MEMEX_DIR/gtd.org`).
|
|
2. Identify sequential projects (under `* Projects`).
|
|
3. Look for the most recently completed tasks (marked `DONE`).
|
|
4. If a task was marked `DONE`, find the immediate next sibling heading that is marked `TODO` within the same parent project.
|
|
5. Change that `TODO` to `NEXT`.
|
|
6. Ensure that standalone actions (under `* Actions`) are left alone (they are typically parallel, not sequential).
|
|
7. Save the file and report which tasks were promoted to `NEXT`.
|
|
|
|
### Action 2: Inbox Processing (`inbox.org`)
|
|
When asked to process the inbox:
|
|
1. Read `$MEMEX_INBOX`.
|
|
2. For each raw entry, determine if it is actionable.
|
|
3. If actionable, propose a structured Org-mode task format with:
|
|
- `TODO` or `NEXT` state
|
|
- `:PROPERTIES:` drawer with `:CREATED:` and optional `:ASSIGNED:`
|
|
- `:LOGBOOK:` drawer (AFTER :PROPERTIES:, not inside) tracking state changes
|
|
|
|
Format:
|
|
```org
|
|
*** TODO Task Name
|
|
:PROPERTIES:
|
|
:CREATED: [YYYY-MM-DD Day HH:MM]
|
|
:ASSIGNED: $MEMEX_USER
|
|
:END:
|
|
:LOGBOOK:
|
|
- State "TODO" from "" [YYYY-MM-DD Day HH:MM]
|
|
:END:
|
|
```
|
|
4. Propose which section of `gtd.org` it belongs to (e.g., a specific project or standalone `* Actions`).
|
|
5. Ask the user for confirmation before moving the items out of `inbox.org` into `gtd.org`.
|
|
|
|
## Notes
|
|
- **Timestamps:** Ensure every new task generated or moved retains or receives a `:CREATED:` property formatted as `[YYYY-MM-DD Day HH:MM]`.
|
|
- **Assignment:** The agent can assign tasks to itself by setting `:ASSIGNED: $MEMEX_ASSISTANT` or to the user via `:ASSIGNED: $MEMEX_USER`. Configure these values in your `.env` file.
|
|
- **State Tracking:** The `:LOGBOOK:` drawer must appear AFTER the `:PROPERTIES:` drawer (not nested inside). State changes are logged as `- State "NEW" from "OLD" [timestamp]`. When a task changes state (e.g., TODO → NEXT, or TODO → DONE), append a new line to the LOGBOOK drawer. |