# Gtdskill

> GTD processing engine — the living interface between Ryan's Context workspace (thinking) and macOS Reminders (action). Manages commitments by sensing both spaces, processing items, decomposing tasks, and routing to the correct space. Use when user mentions: (1) inbox/收集箱 processing, (2) task decomposition/next actions, (3) project or area status, (4) GTD review, (5) what to do next, (6) any todo/…

- **Type:** Skill
- **Install:** `agentstack add skill-ryanwangfun-claude-skills-gtdskill`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [RyanWangFun](https://agentstack.voostack.com/s/ryanwangfun)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [RyanWangFun](https://github.com/RyanWangFun)
- **Source:** https://github.com/RyanWangFun/claude-skills/tree/main/productivity/gtdskill

## Install

```sh
agentstack add skill-ryanwangfun-claude-skills-gtdskill
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# GTD Processing Engine

Manage Ryan's commitments by bridging two spaces: Context (thinking) and Reminders (action).

**Load [references/gtd-rules.md](references/gtd-rules.md) before processing any items.**

## The Two Spaces

```
Dev-logs [ ]/[x]  =  AI's workspace     → tasks completed in dialogue, AI executes
Reminders flags   =  Ryan's action list  → tasks completed in physical world, only Ryan can do
```

These spaces are independent. Never mix them.

Reminders is the confluence of two directions:

```
AI extracts human actions from Context ──→  Reminders  ←── Ryan captures ideas to 收集箱
            (top-down)                                        (bottom-up)
```

## Mapping: Context ↔ Reminders

- `~/context/01Projects/[name]/` ↔ Reminders list with same name
- `~/context/02Areas/[name]/` ↔ Reminders list with same name
- Reminders "收集箱" = GTD Inbox (unprocessed captures)
- 59 Reminders lists already mirror Context structure

## Sensing Both Spaces

```bash
# Reminders side
~/.claude/skills/reminders/scripts/reminders.sh list "收集箱"
~/.claude/skills/reminders/scripts/reminders.sh list ""
~/.claude/skills/reminders/scripts/reminders.sh list-lists

# Context side — use Read/Glob/Grep
# ~/context/01Projects/CLAUDE.md — project index
# ~/context/02Areas/CLAUDE.md — area index
# Project details: ~/context/01Projects/[name]/dev-logs/DEVELOPMENT_LOG.md
# Area details: ~/context/02Areas/[name]/CLAUDE.md
```

Load what's relevant to the conversation, not everything.

## Processing an Item

For any item (from inbox or identified from Context):

1. **What is it?** — Actionable / reference material / idea seed / trash
2. **Where does it belong?** — Match to existing project/area, or new
3. **Who does it?** — Ryan (physical world) / AI (dialogue) / together
4. **Atomic?** — Can it be done in one step? If not → decompose

When matching to a project/area, read its current state first (dev-logs or CLAUDE.md) to check if redundant, already in backlog, or genuinely new.

## Routing

| Result | Destination | Command |
|--------|------------|---------|
| Ryan + atomic | Reminders list, flagged + due date | `reminders.sh edit "" --move-to-list "" --flagged --due ` |
| Ryan + needs decomposition | Decompose first, then route each sub-task | — |
| AI does it | Dev-logs task + Reminders "启动AI做X" | Write to dev-logs + `reminders.sh edit` |
| Together | Reminders with note + dev-logs if project-related | `reminders.sh edit "" --move-to-list "" --notes "和AI一起做" --flagged --due ` |
| Reference material | Context (03Resources or Area) | Create/update file + `reminders.sh delete ""` |
| Redundant | Delete | `reminders.sh delete ""` |

## Reminders Commands

```bash
reminders.sh list ""          # list items
reminders.sh add "" --list ""  # add item
reminders.sh edit "" --move-to-list "" --flagged --due  --time  --notes ""
reminders.sh delete ""            # delete item
reminders.sh search ""            # search across lists
reminders.sh list-lists                  # list all lists
```

Flag = atomic action = next physical action. Always set a due date when flagging.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [RyanWangFun](https://github.com/RyanWangFun)
- **Source:** [RyanWangFun/claude-skills](https://github.com/RyanWangFun/claude-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-ryanwangfun-claude-skills-gtdskill
- Seller: https://agentstack.voostack.com/s/ryanwangfun
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
