Files
memex/projects/org-skill-memex/org-agent-memex-gtd/SKILL.md

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.