一键导入
scheduled-tasks
Use when creating, inspecting, validating, running, or troubleshooting daemon-backed scheduled automations and conversation callbacks.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when creating, inspecting, validating, running, or troubleshooting daemon-backed scheduled automations and conversation callbacks.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Use when deciding between follow-up queues, scheduled callbacks, automation-owned attention, wakeups, and async follow-up surfaces.
Use when a task benefits from JavaScript orchestration, explicit phases, structured progress logs, parallel fanout, or multiple daemon-backed subagents coordinated through the workflow tool.
Use when starting, inspecting, rerunning, following up, or cancelling durable background commands or subagents.
Use when designing, creating, editing, building, validating, installing, or debugging Neon Pilot extensions, application pages, contributions to existing applications, or complete first-class applications from the bundled desktop app. This skill is self-contained and must be used without a Neon Pilot source checkout.
Use when working with the built-in desktop Workbench Browser, browser comments, browser snapshots, CDP actions, screenshots, or the browser versus agent-browser boundary.
Use the unified Neon Pilot CLI/control plane for self-administration, delegated agent control, conversations, workspace/sidebar state, runs, automations, extensions, settings, and extension-contributed administration surfaces.
基于 SOC 职业分类
| name | scheduled-tasks |
| description | Use when creating, inspecting, validating, running, or troubleshooting daemon-backed scheduled automations and conversation callbacks. |
| metadata | {"id":"scheduled-tasks","title":"Scheduled Tasks","summary":"Built-in guidance for daemon-backed scheduled automations and conversation callbacks.","status":"active"} |
| tools | ["scheduled_task"] |
Scheduled tasks are the durable automation system behind saved scheduled prompts.
Use them when something should happen:
For Neon Pilot administration from shell, prefer the CLI:
neon-pilot tasks list --json
neon-pilot tasks get <task-id> --json
neon-pilot tasks save --title "Daily check" --cron "0 9 * * *" --prompt "Summarize status" --json
neon-pilot tasks validate --title "One shot" --at "2026-06-10T09:00:00Z" --prompt "Follow up" --json
neon-pilot tasks run <task-id> --json
neon-pilot tasks delete <task-id> --json
neon-pilot heartbeats start <heartbeat-id> --interval-minutes 5 --conversation-id <conversation-id> --prompt "Wake up, check whether work remains, and stop this heartbeat when done." --json
neon-pilot heartbeats list --json
neon-pilot heartbeats stop <heartbeat-id> --json
Use the unified neon_pilot internal tool from inside a model turn when direct tool execution is more appropriate than shell administration. scheduled_task remains available for low-level scheduled task management, but recurring self-admin heartbeats should go through the Neon Pilot admin surface.
Good fits:
Do not confuse scheduled tasks with:
state.yaml — those are planning/checklist itemsbackground_bash or subagentCanonical storage:
~/.local/state/neon-pilot/daemon/runtime.dbAutomation definitions and scheduler runtime state now live in the daemon SQLite database.
For the current automation UI and storage model, see the Automations extension README.
A task must define exactly one of:
cron — recurring scheduleat — one-time timestampThe Automations page exposes the same core fields as Codex-style scheduled prompts:
background-agent or conversation)cwd)cron or one-time at)Model and timeout still exist internally for background-agent targets, but the default UI flow is intentionally narrow.
| Key | Required | Notes |
|---|---|---|
id | no | defaults from filename |
enabled | no | defaults to true |
cron | yes* | recurring 5-field cron |
at | yes* | one-time timestamp parseable by Date.parse |
provider | no | optional if paired with model |
model | no | full model ref, or combined with provider |
cwd | no | working directory for the run |
timeoutSeconds | no | per-run timeout |
* Exactly one of cron or at is required.
Use cron when the task should run repeatedly.
Examples:
atUse at when the task should run once.
If the daemon is offline when the scheduled time passes, the run is marked skipped.
Important behavior to understand:
One-time tasks resolve once and do not run again.
Background-agent automations run as direct daemon-managed subprocesses.
Conversation-target automations create a durable automation execution record and run Pi directly against the bound thread session, so they continue even when that thread is archived or not open in the UI.
Each execution still writes a durable run record under the daemon state root.
A scheduled task can optionally callback into the conversation that created it.
That callback path is intentionally separate from the automation definition because conversation ids and session files are local runtime state.
When enabled, a task completion or failure can create:
This is the right fit for:
It is not the same as a same-thread follow-up. For direct human tell-me-later requests, prefer the unified conversation deferred-resume admin command.
The Automations page lets you:
See Neon Pilot Taste for UI control and layout guidance.
Use the scheduled_task tool for create/update/get/validate/run flows.
Common actions:
save — create or update a task definitionget — inspect one taskvalidate — validate stored task definitions or a proposed payloadrun — trigger a task immediatelyUseful save fields beyond the schedule itself:
targetType: "background-agent" | "conversation"threadMode: "dedicated" | "existing" | "none"threadConversationId when you want threadMode: "existing"deliverAs: "steer" | "followUp" for conversation-target automationsdeliverResultToConversation only for background-agent automations that should callback laterUse the web UI when you want to inspect automation detail, status, and owned run history visually.
A scheduled heartbeat is a Neon Pilot admin primitive backed by scheduled conversation automations. It is managed through the unified admin surface, not as a separate model tool:
neon-pilot heartbeats start <heartbeat-id> --interval-minutes 5 --conversation-id <conversation-id> --prompt "Wake up, check whether work remains, and stop this heartbeat when done." --json
neon-pilot heartbeats list --json
neon-pilot heartbeats stop <heartbeat-id> --json
Internal agents use neon_pilot with action: "heartbeat_start" | "heartbeat_list" | "heartbeat_stop". intervalMinutes is stored as the cron wrapper */N * * * *; use normal scheduled task cron automation for other cadences. Heartbeats target a conversation and set skip/coalesce behavior so a due tick is skipped when the previous callback is still running.
Default daemon state root:
~/.local/state/neon-pilot/daemonUseful storage:
runtime.dbruns/<run-id>/{output.log,result.json}Useful status command:
pa daemon status
Typical problems:
cron and at setcron nor at setQuick check:
Use the scheduled_task tool with action: "validate".
scheduled_task tool to inspect, validate, or trigger automations programmaticallypa daemon status