Files
memex/notes/org-skill-gtd.org

84 lines
3.0 KiB
Org Mode

#+TITLE: SKILL: Getting Things Done (GTD) (Universal Literate Note)
#+ID: skill-gtd
#+STARTUP: content
#+FILETAGS: :gtd:execution:workflow:psf:
* Overview
This skill defines the *GTD Execution Hub*, the single source of truth for all commitments. It governs how the agent perceives priorities and tracks progress through the PSF Consensus Loop using the `org-gtd` v4.0 DAG architecture.
* Phase A: Demand (PRD)
:PROPERTIES:
:STATUS: FROZEN
:END:
** 1. Purpose
Define the interfaces for task perception, project tracking, and commitment management.
** 2. User Needs
- *Allen-Sovereign Methodology:* Frictionless capture and rigorous clarification.
- *DAG Structure:* Support for `org-gtd` v4.0 dependency graphs (:TRIGGER:, :BLOCKER:).
- *Shadow Orchestration:* Tracking of `:PSF-STATE:` properties for engineering projects.
- *Institutional Memory Integration:* Extraction of learnings before project completion.
** 3. Success Criteria
*** TODO Commitment Scanning
*** TODO PSF-State Transition Verification
*** TODO Stalled Project Identification
* Phase B: Blueprint (PROTOCOL)
:PROPERTIES:
:STATUS: SIGNED
:END:
** 1. Architectural Intent
Interfaces for querying and updating the GTD state. Source of truth is `gtd.org` and related agenda files.
** 2. Semantic Interfaces
#+begin_src lisp
(defun gtd-perceive-commitments ()
"Returns a list of all active NEXT actions.")
(defun gtd-update-project-state (project-id new-state)
"Updates the :PSF-STATE: property of a project.")
(defun gtd-breakdown-project (project-id)
"Uses the Long-Horizon Planning agent to generate NEXT steps for a stalled project.")
#+end_src
* Phase D: Build (Implementation)
** Commitment Perception
#+begin_src lisp :tangle projects/org-skill-gtd/src/gtd-logic.lisp
(defun gtd-perceive-commitments ()
"Returns a list of all active NEXT actions across the agenda files."
(let ((gtd-file (or (uiop:getenv "GTD_FILE") "gtd.org")))
(kernel-log "GTD - Scanning commitments in ~a" gtd-file)
(uiop:run-program (list "grep" "^\\*\\* NEXT" gtd-file) :output :string)))
(defun gtd-breakdown-project (project-id)
"Autonomously expands a complex project into actionable NEXT steps."
(let* ((obj (org-agent:lookup-object project-id))
(title (getf (org-agent:org-object-attributes obj) :TITLE))
(content (org-agent:org-object-content obj)))
(org-agent:spawn-task
(format nil "Break down the project '~a' into 3 actionable NEXT steps. Context: ~a" title content))))
#+end_src
** Shadow Orchestration
#+begin_src lisp :tangle projects/org-skill-gtd/src/gtd-logic.lisp
(defun gtd-get-psf-state (project-id)
"Retrieves the :PSF-STATE: property for a specific project ID."
(let ((gtd-file (or (uiop:getenv "GTD_FILE") "gtd.org")))
;; Logic to parse project and return state
(format nil "Retrieving state for: ~a" project-id)))
#+end_src
* Registration
#+begin_src lisp
(defskill :skill-gtd
:priority 100
:trigger (lambda (context) nil)
:neuro (lambda (context) nil)
:symbolic #'gtd-perceive-commitments)
#+end_src