Agent skill
schedule
Schedule a task to run later or on a recurring basis. Prefer the schedule_task tool; fallback to IPC only if needed.
Install this agent skill to your Project
npx add-skill https://github.com/rcarmo/piclaw/tree/main/skel/.pi/skills/schedule
SKILL.md
Schedule a Task
Prefer the built-in schedule_task tool.
Preferred method (tool)
Use schedule_task directly with:
schedule_type:once|cron|intervalschedule_value:once: ISO timestamp (UTC recommended)cron: cron expressioninterval: milliseconds
task_kind:agentorshellprompt(agent) orcommand(shell)
Examples:
- One-time agent task at 09:00 UTC:
schedule_type=once,schedule_value=2026-03-09T09:00:00Z
- Daily shell task at 08:30 UTC:
schedule_type=cron,schedule_value=30 8 * * *
Fallback method (IPC file)
If tool access is unavailable, write an IPC JSON file to $PICLAW_DATA/ipc/tasks/:
cat > "$PICLAW_DATA/ipc/tasks/schedule_$(date +%s).json" <<EOF
{
"type": "schedule_task",
"chatJid": "$PICLAW_CHAT_JID",
"task_kind": "agent",
"prompt": "Describe what should happen when this task fires",
"schedule_type": "once",
"schedule_value": "2026-03-09T09:00:00Z"
}
EOF
Shell command variant:
cat > "$PICLAW_DATA/ipc/tasks/schedule_$(date +%s).json" <<EOF
{
"type": "schedule_task",
"chatJid": "$PICLAW_CHAT_JID",
"task_kind": "shell",
"command": "ls -la /workspace",
"cwd": ".",
"timeout_sec": 30,
"schedule_type": "interval",
"schedule_value": "3600000"
}
EOF
Verify it was scheduled
After scheduling, confirm with SQL introspection:
SELECT id, chat_jid, task_kind, schedule_type, schedule_value, status, next_run
FROM scheduled_tasks
ORDER BY created_at DESC
LIMIT 5;
For execution history:
SELECT task_id, run_at, duration_ms, status
FROM task_run_logs
ORDER BY id DESC
LIMIT 10;
Managing existing tasks (IPC)
- Pause:
{ "type": "pause_task", "taskId": "task-xxx" } - Resume:
{ "type": "resume_task", "taskId": "task-xxx" } - Cancel:
{ "type": "cancel_task", "taskId": "task-xxx" } - Update:
{ "type": "update_task", "taskId": "task-xxx", "prompt": "...", "model": "...", "schedule_value": "..." } - Cleanup:
{ "type": "cleanup_tasks", "chatJid": "web:default" }
Notes
- Shell tasks are pre-validated (no newlines, no destructive patterns, cwd inside
/workspace). - Use UTC for human-facing schedules unless asked otherwise.
- Always acknowledge the created schedule and include next run time if available.
Environment
PICLAW_DATA— piclaw data directory (containsipc/,sessions/)PICLAW_CHAT_JID— JID of the triggering chat
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
autoresearch-create
Set up and run an autonomous experiment loop for any optimization target. Gathers what to optimize, then starts the loop immediately. Use when asked to "run autoresearch", "optimize X in a loop", "set up autoresearch for X", or "start experiments".
portainer-container-compare-chart
Compare two containers using native portainer tool data collection and render SVG/CSV outputs.
proxmox-guest-compare-chart
Compare two Proxmox guests using native proxmox tool data collection and render SVG/CSV outputs.
schedule
Schedule a task to run later or on a recurring basis. Prefer the schedule_task tool; fallback to IPC only if needed.
reload
Reinstall piclaw from workspace source and force-restart the running process. Use after making code changes to piclaw.
send-message
Send a message to the chat immediately without waiting for the current task to finish. Useful for acknowledging requests or sending progress updates while working.
Didn't find tool you were looking for?