Files
openclaw-skill/openclaw-knowhow-skill/output/openclaw-docs_data/pages/One_shot_reminder_7378727116.json
Selig 4c966a3ad2 Initial commit: OpenClaw Skill Collection
6 custom skills (assign-task, dispatch-webhook, daily-briefing,
task-capture, qmd-brain, tts-voice) with technical documentation.
Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
2026-03-13 10:58:30 +08:00

63 lines
5.4 KiB
JSON
Executable File

{
"title": "One-shot reminder",
"content": "openclaw cron add --name \"Call back\" --at \"2h\" --session main --system-event \"Call back the client\" --wake now\nbash theme={null}\nopenclaw cron add \\\n --name \"Check project\" \\\n --every \"4h\" \\\n --session main \\\n --system-event \"Time for a project health check\" \\\n --wake now\nbash theme={null}\nopenclaw cron add \\\n --name \"Deep analysis\" \\\n --cron \"0 6 * * 0\" \\\n --session isolated \\\n --message \"Weekly codebase analysis...\" \\\n --model opus \\\n --thinking high \\\n --announce\n```\n\n## Cost Considerations\n\n| Mechanism | Cost Profile |\n| --------------- | ------------------------------------------------------- |\n| Heartbeat | One turn every N minutes; scales with HEARTBEAT.md size |\n| Cron (main) | Adds event to next heartbeat (no isolated turn) |\n| Cron (isolated) | Full agent turn per job; can use cheaper model |\n\n* Keep `HEARTBEAT.md` small to minimize token overhead.\n* Batch similar checks into heartbeat instead of multiple cron jobs.\n* Use `target: \"none\"` on heartbeat if you only want internal processing.\n* Use isolated cron with a cheaper model for routine tasks.\n\n* [Heartbeat](/gateway/heartbeat) - full heartbeat configuration\n* [Cron jobs](/automation/cron-jobs) - full cron CLI and API reference\n* [System](/cli/system) - system events + heartbeat controls",
"code_samples": [
{
"code": "## Lobster: Deterministic workflows with approvals\n\nLobster is the workflow runtime for **multi-step tool pipelines** that need deterministic execution and explicit approvals.\nUse it when the task is more than a single agent turn, and you want a resumable workflow with human checkpoints.\n\n### When Lobster fits\n\n* **Multi-step automation**: You need a fixed pipeline of tool calls, not a one-off prompt.\n* **Approval gates**: Side effects should pause until you approve, then resume.\n* **Resumable runs**: Continue a paused workflow without re-running earlier steps.\n\n### How it pairs with heartbeat and cron\n\n* **Heartbeat/cron** decide *when* a run happens.\n* **Lobster** defines *what steps* happen once the run starts.\n\nFor scheduled workflows, use cron or heartbeat to trigger an agent turn that calls Lobster.\nFor ad-hoc workflows, call Lobster directly.\n\n### Operational notes (from the code)\n\n* Lobster runs as a **local subprocess** (`lobster` CLI) in tool mode and returns a **JSON envelope**.\n* If the tool returns `needs_approval`, you resume with a `resumeToken` and `approve` flag.\n* The tool is an **optional plugin**; enable it additively via `tools.alsoAllow: [\"lobster\"]` (recommended).\n* If you pass `lobsterPath`, it must be an **absolute path**.\n\nSee [Lobster](/tools/lobster) for full usage and examples.\n\n## Main Session vs Isolated Session\n\nBoth heartbeat and cron can interact with the main session, but differently:\n\n| | Heartbeat | Cron (main) | Cron (isolated) |\n| ------- | ------------------------------- | ------------------------ | -------------------------- |\n| Session | Main | Main (via system event) | `cron:<jobId>` |\n| History | Shared | Shared | Fresh each run |\n| Context | Full | Full | None (starts clean) |\n| Model | Main session model | Main session model | Can override |\n| Output | Delivered if not `HEARTBEAT_OK` | Heartbeat prompt + event | Announce summary (default) |\n\n### When to use main session cron\n\nUse `--session main` with `--system-event` when you want:\n\n* The reminder/event to appear in main session context\n* The agent to handle it during the next heartbeat with full context\n* No separate isolated run",
"language": "unknown"
},
{
"code": "### When to use isolated cron\n\nUse `--session isolated` when you want:\n\n* A clean slate without prior context\n* Different model or thinking settings\n* Announce summaries directly to a channel\n* History that doesn't clutter main session",
"language": "unknown"
}
],
"headings": [
{
"level": "h2",
"text": "Lobster: Deterministic workflows with approvals",
"id": "lobster:-deterministic-workflows-with-approvals"
},
{
"level": "h3",
"text": "When Lobster fits",
"id": "when-lobster-fits"
},
{
"level": "h3",
"text": "How it pairs with heartbeat and cron",
"id": "how-it-pairs-with-heartbeat-and-cron"
},
{
"level": "h3",
"text": "Operational notes (from the code)",
"id": "operational-notes-(from-the-code)"
},
{
"level": "h2",
"text": "Main Session vs Isolated Session",
"id": "main-session-vs-isolated-session"
},
{
"level": "h3",
"text": "When to use main session cron",
"id": "when-to-use-main-session-cron"
},
{
"level": "h3",
"text": "When to use isolated cron",
"id": "when-to-use-isolated-cron"
},
{
"level": "h2",
"text": "Cost Considerations",
"id": "cost-considerations"
},
{
"level": "h2",
"text": "Related",
"id": "related"
}
],
"url": "llms-txt#one-shot-reminder",
"links": []
}