acquiring-skills
Discover and install skills from Hermes, ClawHub, GitHub, and other registries. Load this skill whenever a user asks for a capability you don't already have —…
Schedules reminders and recurring tasks via the letta cron CLI. Use when the user asks to be reminded of something, wants periodic work or check-ins, or needs to list, inspect, replace, or cancel scheduled tasks.
$ npx -y skills add letta-ai/letta-code --skill scheduling-tasks --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/scheduling-tasksContext preview
The summary Claude sees to decide when to auto-load this skill.
Schedules reminders and recurring tasks via the letta cron CLI. Use when the user asks to be reminded of something, wants periodic work or check-ins, or needs to list, inspect, replace, or cancel scheduled tasks.
name: scheduling-tasks description: Schedules reminders and recurring tasks via the letta cron CLI. Use when the user asks to be reminded of something, wants periodic work or check-ins, or needs to list, inspect, replace, or cancel scheduled tasks.
This skill lets you create, list, and manage scheduled tasks using the `letta cron` CLI. Scheduled tasks send a prompt to the agent on a timer — useful for reminders, periodic check-ins, and deferred follow-ups.
**Default guidance: omit `--runner` and `--computer`.** The CLI places the schedule so the work keeps running on the computer where it was created. Don't move scheduled work to a different computer than the active conversation without a reason: two computers working the same conversation can conflict.
Pass a flag only when you have a requirement the default can't infer:
The CLI reports its placement in the command output. If it warns that the schedule is local (this happens when the cloud scheduler cannot reach the current computer), the schedule only fires while a Letta session is running here — read the warning and decide whether that's acceptable.
Two patterns cover most schedules:
All commands go through `letta cron` via the Bash tool. Output is JSON.
letta cron add --name <short-name> --description <text> --prompt <text> <schedule>
**Required flags:**
| Flag | Description | |------|-------------| | `--name <text>` | Short identifier for the task (e.g. "dog-walk-reminder") | | `--description <text>` | Human-readable description of what the task does | | `--prompt <text>` | The message that will be sent to the agent when the task fires |
**Schedule (pick one):**
| Flag | Type | Example | |------|------|---------| | `--every <interval>` | Recurring (cron shorthand) | `5m`, `2h`, `1d` | | `--at <time>` | One-shot | `"3:00pm"`, `"in 45m"` | | `--cron <expr>` | Raw cron (recurring) | `"0 9 * * 1-5"` |
**Optional flags:**
| Flag | Description | |------|-------------| | `--agent <id>` | Agent ID (defaults to `LETTA_AGENT_ID` from the current shell/session) | | `--conversation <id>` | Conversation target: omit or pass `new` for a fresh conversation per fire; pass `self` for the current conversation; pass `default` for the agent default; or pass a concrete ID | | `--runner <runner>` | `cloud` or `local` — normally omit; see "Where Schedules Run" above | | `--computer <id>` | Execute on a specific connected computer — normally omit | | `--once` | Mark `--at` as one-shot (already the default for `--at`) |
letta cron list
Optional filters: `--agent <id>`, `--conversation <id>`, `--runner local|cloud`
`get` accepts an ID or name:
letta cron get <id-or-name> [--runner local|cloud] [--agent <id>]
letta cron runs --id <task-id> [--limit <n>] [--runner local|cloud] [--agent <id>]
For local run history, `--run-id <id>` selects one run. Cloud history ignores that flag.
If exact routing matters, pass both `--agent` and `--conversation` explicitly.
`letta cron add` falls back to `LETTA_AGENT_ID` for the agent. An omitted `--conversation` means `"new"`, so every fire gets a fresh conversation. Pass `--conversation self` to capture the current `LETTA_CONVERSATION_ID`, `--conversation default` for the agent default, or a concrete conversation ID.
Safest pattern:
letta cron add \ --name "email-check" \ --description "Daily email summary in this conversation" \ --prompt "Check the user's email and post a summary here." \ --cron "0 10 * * *" \ --agent "$LETTA_AGENT_ID" \ --conversation self
Then verify the binding explicitly:
letta cron list --agent "$LETTA_AGENT_ID" --conversation self
`delete` accepts an ID or name; `remove` is an alias.
# Delete a specific task letta cron delete <id-or-name> [--runner local|cloud] [--agent <id>] # Delete all tasks for one agent letta cron delete --all --agent "$AGENT_ID"
In-place editing is not available. To change a schedule, create and verify the replacement before deleting the old one.
Cloud-schedule recurring expressions (both `--cron` and the expression `--every` compiles to) are interpreted in **UTC**. Users say times in their local timezone, so convert before writing the e
Letta Code is a stateful agent harness for creating agents that are more like people than tools. Letta Code agents have memory, identity, and a sense of experience over time.
Repo: letta-ai/letta-code
Discover and install skills from Hermes, ClawHub, GitHub, and other registries. Load this skill whenever a user asks for a capability you don't already have —…
Control a real browser to navigate pages, click, type, fill forms, inspect rendered UI, take screenshots, or record video. Load only when the user asks to open…
Investigate agent behavior and audit memory structure, organization, and skills; make evidence-backed repairs.
Creates and edits trusted local Letta Code mods, including tools, slash commands, local-only model providers, lifecycle/turn events, scoped conversation…
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Letta Code's…
Creates, edits, and enables Letta Code mod-provided slash commands. Use when the user asks to add a custom /command, slash command, command shortcut, scoped…