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

3.0 KiB

SKILL: Getting Things Done (GTD) (Universal Literate Note)

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)

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)

1. Architectural Intent

Interfaces for querying and updating the GTD state. Source of truth is `gtd.org` and related agenda files.

2. Semantic Interfaces

(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.")

Phase D: Build (Implementation)

Commitment Perception

(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))))

Shadow Orchestration

(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)))

Registration

(defskill :skill-gtd
  :priority 100
  :trigger (lambda (context) nil)
  :neuro (lambda (context) nil)
  :symbolic #'gtd-perceive-commitments)