一键导入
gtd-next
Use when deciding what to work on next — calendar-aware task selection, time-blocked agenda generation, and agent task dispatch for the GTD Engage step.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when deciding what to work on next — calendar-aware task selection, time-blocked agenda generation, and agent task dispatch for the GTD Engage step.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when creating, listing, searching, or deleting macOS Calendar events — scheduling meetings or appointments, checking today's or this week's agenda, or querying date ranges via the bundled EventKit CLI. Requires macOS with Calendar access.
Use when capturing thoughts or tasks into the GTD inbox, or when listing, counting, removing, or clearing inbox items.
Use when listing the whole GTD system read-only — every open project with its actions plus standalone actions not linked to any project.
Use when processing, triaging, or clarifying GTD inbox items into projects and context-list actions following the GTD clarify and organize workflow.
Use when reviewing GTD project status, adding actions or agent tasks to projects, completing or rescheduling actions, or completing projects tracked in macOS Reminders.
Use when creating, completing, listing, or deleting macOS Reminders — setting due dates, priorities, notes, or recurrence, checking pending or overdue tasks, or managing reminder lists via the bundled EventKit CLI. Requires macOS with Reminders access.
| name | gtd-next |
| description | Use when deciding what to work on next — calendar-aware task selection, time-blocked agenda generation, and agent task dispatch for the GTD Engage step. |
Automatically select the next actionable tasks and generate a time-blocked agenda based on calendar context and task priority. The agent decides — no user interaction required.
Run the Swift source directly (no build step required). <plugin-root> is the installed plugin directory — the directory that contains scripts/ and codex-skills/ (two levels above this skill's folder; in a repository checkout it is productivity-skills/). Resolve it to an absolute path and substitute it in every command:
swift <plugin-root>/scripts/productivity-cli.swift <command>
Get current date and time:
date "+%Y-%m-%d %H:%M"
Query today's remaining events:
swift <plugin-root>/scripts/productivity-cli.swift calendars today
Parse the JSON response and find the next event (after current time). Skip all-day events.
If a next event exists, calculate available minutes until it starts. This becomes the time constraint. If no events remain today, there is no time constraint — proceed without one.
Query actions from all context lists:
swift <plugin-root>/scripts/productivity-cli.swift reminders incomplete "@quick"
swift <plugin-root>/scripts/productivity-cli.swift reminders incomplete "@1pomo"
swift <plugin-root>/scripts/productivity-cli.swift reminders incomplete "@2pomo"
swift <plugin-root>/scripts/productivity-cli.swift reminders incomplete "@deep"
swift <plugin-root>/scripts/productivity-cli.swift reminders incomplete "@agent"
Query overdue reminders:
swift <plugin-root>/scripts/productivity-cli.swift reminders overdue
Parse and combine results, separating into two pools:
Human tasks (from @quick, @1pomo, @2pomo, @deep):
Agent tasks (from @agent):
If no actionable tasks found in either pool, report "No actionable tasks found. Add tasks to @quick, @1pomo, @2pomo, @deep, or @agent lists." and exit.
Ranking order (same for both pools):
If there is a time constraint (next event found in Step 1):
Select human tasks from the top of the ranked list that fit within the available time. Use task durations based on context (@quick=15min, @1pomo=25min, @2pomo=50min, @deep=90min). Account for buffer time and pomodoro breaks when calculating fit. Skip tasks that exceed remaining time and try the next one.
If there is no time constraint:
Select the top 10 human tasks from the ranked list.
Select up to 3 agent tasks from the top of the ranked @agent list. No time-fitting — agent tasks run asynchronously in the background. If fewer than 3 agent tasks are available, show all of them.
If there is a time constraint:
Calculate buffer time before next event:
Usable work time = Available time - Buffer time
Arrange selected human tasks into pomodoro blocks:
Present a time-blocked agenda with agent tasks listed separately:
## Your Agenda (until [Event] at [Time])
### Focus Tasks
[Start Time] - [End Time] [Task A] (@quick) #[ProjectName]
[Start Time] - [End Time] [Task B] (@1pomo)
[Start Time] - [End Time] Break
[Start Time] - [End Time] [Task C] (@2pomo) #[ProjectName]
[Start Time] - [End Time] Buffer before [Event]
### Agent Tasks (dispatch and monitor)
1. [Task D] #[ProjectName] [High] — due [date]
2. [Task E] — due [date]
3. [Task F] #[ProjectName] [Medium] — due [date]
If there is no time constraint:
Present human tasks as a ranked list, agent tasks separately:
## Recommended Next Tasks
### Human Tasks
1. ⚠️ [Action Title] #[ProjectName] [High] @quick (~15 min) - OVERDUE
2. [Action Title] #[ProjectName] [High] @1pomo (~25 min) - due [date]
3. [Action Title] [Medium] @2pomo (~50 min)
...
Total estimated time: ~X hours Y min
### Agent Tasks (dispatch up to 3, monitor progress)
1. [Action Title] #[ProjectName] [High] — due [date]
2. [Action Title] [Medium] — due [date]
3. [Action Title] — due [date]
Display formatting: