← Back to Skills Marketplace
lux-sp4rk

Agent GTD

by Lux Sp4rk · GitHub ↗ · v1.1.3 · MIT-0
cross-platform ✓ Security Clean
148
Downloads
0
Stars
1
Active Installs
4
Versions
Install in OpenClaw
/install agent-gtd
Description
Executive function system for AI agents: GTD-style task management, error/learning capture, and periodic self-review using Taskwarrior. Use when: (1) trackin...
README (SKILL.md)

Agent GTD

A complete executive function stack for AI agents. Three layers working together:

Layer Tool Role
RAM Taskwarrior Actionable tasks, current focus, backlog
Hard Drive Markdown files Context, decisions, lore, "why"
Workbench ops/session_state.md What I was doing 5 seconds ago

Rule of thumb: task to finish → Taskwarrior. Fact to remember → Markdown. Mid-task state → session_state.


Installation

Taskwarrior (required)

# Debian/Ubuntu
sudo apt install taskwarrior
# macOS
brew install task
# Arch
sudo pacman -S task

Python 3 (required for helper scripts)

Timewarrior (optional — enables vitality heartbeat)

# Debian/Ubuntu
sudo apt install timewarrior
# macOS
brew install timewarrior

ClawVault (optional — structured session handoffs) Falls back gracefully if absent; task_manager.py sleep prints a warning but continues.


Quick Reference

# Add to inbox
task add +in "thing to process"

# Triage inbox
task +in list

# Add internal task
task add project:Internal "description" +next priority:M

# Log a failure
task add project:Internal.Learnings +error "what broke"
task annotate \x3Cid> "fix: what resolved it"

# See what's next
task next

# Run a review
# → follow references/review-runbook.md

1. The Inbox (Capture)

Everything goes into the inbox first. No processing at capture time.

task add +in "description"
task in   # custom report: lists all +in items

Inbox items carry high urgency (+15.0) to surface in default reports.


2. Triage Flow

For each item in task in:

  1. Actionable? No → delete or annotate as reference.
  2. \x3C 2 minutes? Do it now, mark done.
  3. Multi-step? Create a project: and tag the first step +next.
  4. Delegate? Tag +waiting, add wait: date, annotate who/what.
  5. Defer? Assign project, tag +next, move on.

3. Project Taxonomy

Internal           # Agent-internal work
  Internal.Ops     # Infra, config, tooling
  Internal.Learnings  # Errors, corrections, feature gaps
Goals              # High-level strategic goals
\x3CProjectName>      # Active user projects
  \x3CProjectName>.Ops

4. Task Attributes

priority:H / M / L          # Impact
brainpower:H / M / L        # Cognitive load (H=architecture, L=routine)
estimate:\x3Cminutes>           # Time budget
wait:\x3Cdate>                  # Snooze (hide until date)
due:\x3Cdate>                   # Hard deadline

Selection pattern:

task next brainpower:L estimate:5    # Quick wins
task next brainpower:H priority:H   # Deep work

5. Error & Learning Capture

Log immediately. Don't wait for review time.

Situation Tag Example
Command / tool fails +error task add project:Internal.Learnings +error "git push rejected: token expired"
User corrects agent +learning task add project:Internal.Learnings +learning "pnpm not npm on this project"
Missing capability +featreq task add project:Internal.Learnings +featreq "user wanted calendar invite generation"

Use task annotate \x3Cid> "..." for fix details or stack traces.

Automated promotion: promote_learnings.py runs every 6 hours via cron. It scans memory/lessons/ for error-like entries that recur 3+ times in 7 days — then auto-creates a Taskwarrior task in project:Internal.Learnings with the fix description. No manual tracking needed for recurring errors.

Manual promotion rule: If the recurring error has a structural fix (not just a one-liner), promote it to TOOLS.md, AGENTS.md, or SOUL.md. Mark the Taskwarrior task done, note the promotion target in the final annotation.

# Query learnings
task project:Internal.Learnings list
task +error list
task +error +\x3Carea> list

6. Backlog Triage

Run when the task list exceeds ~20 items or burndown stalls.

Tickler / Think Pattern

# Snooze: hide until a future date
task add +tickle wait:2025-03-01 "revisit X"

# Deferred decision: force a yes/no when it resurfaces
task add +tickle +think wait:+3d "Should I do Y? (yes/no)"

No double-snooze rule: when a +think task resurfaces, decide immediately. No re-snoozing.

Rule of 3

Pick only 3 tasks per day to actually finish during autonomous chew-through. Focus beats volume. Prioritize:

  1. Anything blocking other tasks (dependency-first)
  2. Low-hanging fruit solvable in \x3C 5 min (exec, edit, web_search)
  3. Highest-urgency +next task

Priority Pivot

When project focus shifts, bulk-modify to keep the list honest:

task project:OldProject modify -next priority:L
task project:NewProject modify +next priority:H

Stale Task Triage Gate

Trigger: task status:pending age.before:14days count exceeds 50, halt new work and triage.

Decision Tree (for each stale task):

  1. Unblocked + HIGH/MEDIUM priority? → Must close by next heartbeat OR deprioritize with annotation.
  2. Blocking other work? → Escalate now (bump to +next, add due date).
  3. Tagged +waiting? → OK (delegated). Review wait condition; reschedule if stale.
  4. Appears in high-level goals (e.g., MEMORY.md)? → Resurrect with +next. Add sub-tasks if needed.
  5. Old "Explore" or "Maybe"? → Delete. (It survived 14 days; it's not critical.)
  6. Ref task linking to closed external issue? → Delete. (Issue is resolved; task served its purpose.)
  7. Everything else? → Move to memory/backlog.md (Cold Storage). Add timestamp + rationale.

Output: Run count again. If still >50, log concern and escalate to user.

Weekly Prune

Every Monday (or during review loops):

  • Age Out: Any task older than 14 days with no progress gets deleted or moved to cold storage.
  • Prune the "Maybe": If a task description starts with "Maybe" or "Explore," and hasn't been touched in a week, delete it.

7. Witness Gates (High-Stakes Actions)

Tag destructive or irreversible tasks +gate. Do not auto-complete them.

task add project:Internal +gate "push to main branch"

When attempting to complete a +gate task via task_manager.py done \x3Cid>, the script will return:

{"status": "gated", "message": "Witness Gate Active...", "task": {...}}

Action: Pause and notify the human. Do not bypass autonomously. Wait for explicit approval, then use --witnessed flag:

python3 scripts/task_manager.py done \x3Cid> --witnessed

8. Session Close Protocol

Trigger: User signals end of session ("sleep", "done", "signing off") OR at the end of a review.

Goal: Produce a populated handoff — never empty next steps.

Run scripts/sleep.sh "\x3Csummary>" (validates next steps are non-empty before writing). Full runbook → references/review-runbook.md.


9. Periodic Review

Run at natural breakpoints: session start, after completing a feature, weekly.

→ See references/review-runbook.md for the full 7-step runbook.

Quick review (\x3C 5 min):

task +in list          # clear inbox
task +error list       # any unresolved failures?
task next              # confirm focus is right
task project:Internal.Learnings +error status:pending list  # promote if 3+ recurrences

10. Session Continuity

Pick → Log (to ops/session_state.md) → Work → Done → Wipe. On session start: cat ops/session_state.md and task active to recover state. Minimal format:

[YYYY-MM-DD HH:MM] Focus: \x3Ctask> (#\x3Cid>)
Last action: \x3Cwhat was done>
Open loops: \x3Canything unfinished>
Blockers: \x3Cnone | description>

11. Vitality Heartbeat

Monitor agent activity and alert on sustained silence during mission hours.

python3 scripts/vitality_check.py   # run manually
# or: cron every hour during mission hours

→ See references/vitality-heartbeat.md for full implementation details.

Concept: If silence exceeds threshold (default: 8 hours) during mission hours (default: 14:00-02:00 UTC), alert the human with:

  • Hours silent
  • Last known active timestamp
  • Last known task (from task active or ops/session_state.md)

Scripts

This skill includes helper scripts in scripts/:

Script Purpose
task_manager.py JSON API wrapper for Taskwarrior (list, capture, done, delete, witness gates)
vitality_check.py Silence detection during mission hours
sleep.sh Session close wrapper with next-step validation

References

  • references/taskwarrior-schema.md — Installation, .taskrc config, UDAs, custom reports, tag taxonomy
  • references/review-runbook.md — Periodic review loop (2 min → 20 min depth levels)
  • references/vitality-heartbeat.md — Agent silence detection and alerting
  • references/executive-stack.md — Async execution pattern: Taskwarrior → Pueue bridge (future/advanced)
Usage Guidance
This skill is internally consistent with its stated goal of local GTD-style agent management. Before installing or running it: - Review and run the helper scripts (scripts/*.py, scripts/sleep.sh) manually to see what they do. They call 'task' and 'timew' and read/write local files (e.g., ~/.agent/last_active, ops/session_state.md). - The runbook references an automated promotion script (promote_learnings.py) but that file is not present in the bundle; if you plan to rely on automated cron jobs, confirm the implementation exists and inspect it. - If you enable any optional integrations (Pueue bridge, ClawVault, or any Taskwarrior hooks that execute pueue_cmd), audit those components carefully because they can cause background execution of arbitrary commands. The current bundle does not include an auto-execution bridge, but the documentation describes one as a future/adjacent component. - Run the vitality_check script in a safe environment first; it invokes 'timew export' and 'task active', and its fallback reads ~/.agent/last_active — ensure those paths are acceptable for your setup. - Consider running this skill in a sandboxed user account or VM until you are comfortable, and ensure your Taskwarrior data is backed up before bulk changes. If you want narrower assurance, provide the missing promote_learnings.py (if intended) and confirm whether you plan to enable any auto-execution bridges; with that info I can raise confidence to high or flag additional concerns.
Capability Analysis
Type: OpenClaw Skill Name: agent-gtd Version: 1.1.3 The agent-gtd skill bundle provides a structured task management system for AI agents using the Taskwarrior CLI. The included Python and Bash scripts (task_manager.py, sleep.sh, and vitality_check.py) act as functional wrappers for task manipulation, session state tracking, and activity monitoring. Security-wise, the scripts use subprocess.run without shell=True, mitigating shell injection risks, and the bundle explicitly defines 'Witness Gates' in SKILL.md to ensure human oversight for destructive actions. No evidence of data exfiltration, malicious persistence, or harmful prompt injection was found.
Capability Assessment
Purpose & Capability
Name/description (GTD task management + self-review) matches the included files and runtime behavior: Taskwarrior is the primary backend, helper scripts manipulate Taskwarrior/timew and local markdown files. No unrelated credentials or exotic binaries are requested.
Instruction Scope
Instructions and scripts operate on local Taskwarrior/timew data and workspace files (e.g., ops/session_state.md, memory/). They suggest running grep over workspace memory and using a heartbeat file (~/.agent/last_active) if timew is absent. These read local files (expected for the stated purpose) but do mean the agent will inspect local workspace files and user-maintained Taskwarrior data.
Install Mechanism
There is no automated install spec — SKILL.md recommends installing Taskwarrior/timewarrior via platform package managers. The skill is instruction-first with small helper scripts; nothing is downloaded from an untrusted URL or extracted to disk by an installer.
Credentials
No secrets or remote service credentials are requested. The only environment variables referenced are optional mission-time overrides (AGENT_GTD_MISSION_START/END/MAX_SILENCE) used by the vitality check — proportional to the described monitoring function.
Persistence & Privilege
The skill does not request 'always: true' and is user-invocable only. It reads/writes local session and Taskwarrior state but does not modify other skills' configs or request system-wide privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install agent-gtd
  3. After installation, invoke the skill by name or use /agent-gtd
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.3
Add automated promotion loop: promote_learnings.py scans lessons/ for 3+ recurring errors in 7 days, auto-creates Taskwarrior task.
v1.1.2
Remove memory-gardener reference and file. Memory lifecycle handled externally.
v1.1.1
Remove clawvault dependency. Agent GTD is fully standalone.
v1.1.0
Polished for ClawHub publish. Trimmed SKILL.md, added quickstart to README, standardized reference frontmatter.
Metadata
Slug agent-gtd
Version 1.1.3
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 4
Frequently Asked Questions

What is Agent GTD?

Executive function system for AI agents: GTD-style task management, error/learning capture, and periodic self-review using Taskwarrior. Use when: (1) trackin... It is an AI Agent Skill for Claude Code / OpenClaw, with 148 downloads so far.

How do I install Agent GTD?

Run "/install agent-gtd" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Agent GTD free?

Yes, Agent GTD is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Agent GTD support?

Agent GTD is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Agent GTD?

It is built and maintained by Lux Sp4rk (@lux-sp4rk); the current version is v1.1.3.

💬 Comments