The documented distinction

A skill records how to do work: the steps, decision rules, expected output and what needs approval. A routine tells one Bot when to run a workflow, on a schedule or after an event. Save the skill first; add a routine only when the method works without extra explanation.

The workflow design and prompts below are editorial examples, not tested packaged skills. If a routine you already set up is not firing, see routines not running.

Documentation: Official skills and routines guide ↗

Where each one lives

Skills and routines are scoped differently, which matters when you reorganize Bots. The rows below paraphrase the official docs and Cursor's help as of October 14, 2026.

Documentation: Official skills and routines guide ↗ Cursor help: Grok Bot routines ↗

SkillRoutine
What it holdsHow to do a task: steps, rules, output format, approval pointsWhen one Bot runs a workflow: a schedule or an event trigger
ScopeOne private library shared by all your BotsOwned by a single Bot; deleting that Bot deletes its routines
How to createAsk a Bot to save a finished task as a skill, or use Teach a task to record up to ten minutes of your own screen workAsk the owning Bot in chat; edit it from the Bot's Routines list
Starts fromYour request; type / in the desktop composer to reference oneA schedule, or events such as Slack messages, GitHub, Linear, Sentry and PagerDuty events, email and webhook calls
LimitsA demonstration records only what is on screen, not microphone audioUp to 50 routines per Bot, 20 most recent run records each, schedules at least five minutes apart
TestingRun it on a second, safe inputTest performs real work and spends usage

Decide which part you actually need

Use a skill when you repeatedly explain the same method: how to classify a customer question, structure a research brief, or reconcile a weekly export. Use a routine when a known trigger should start an already-understood job. If the method changes every run, saving a schedule will not make it predictable.

For example, a competitor-update skill could define which product pages to inspect, what counts as a meaningful change, and how to cite it. Its routine could request that comparison each Monday in your time zone. These are separate decisions: the same method might also be useful on demand before a meeting.

  1. Complete one task manually with the Bot and inspect the result.
  2. Extract the reusable rules, including what a correct empty result looks like.
  3. Run the method on a different input. Include a missing source or ambiguous case.
  4. Save the revised method, then decide whether the task is frequent enough to schedule.
  5. Review the proposed schedule, owner, inputs, and next occurrence before relying on unattended output. Since the October 11 changelog entry (0.69.0 to 0.70.2), the Bot sums up what a routine does and who receives the result after you save it, and each run delivers there; if that summary is not what you meant, correct it before the first run.

Save a method with an acceptance test

Use this after a task has worked. Attach or reference the accepted example so the Bot can distinguish a formatting preference from a substantive rule.

Try this brief

Draft a reusable skill from the [accepted task/result]. Include its purpose, required inputs, method, output structure, and acceptance checks. Identify which decisions were specific to this example and turn them into explicit inputs. Define behavior for empty, missing, stale, and contradictory sources. The output must remain a draft for human review; external changes need separate authorization. Show me the proposed skill and a second example to test it against before we schedule anything.

Original editorial template. Replace placeholders and review access before running.

Make a schedule earn its place

Our suggested release gate is three varied examples that produce useful output without extra explanation. This is a practical editorial threshold, not a statistical reliability guarantee. Keep the accepted outputs so a future change can be compared against them.

Specify the reporting window separately from the run time. A Monday morning run might cover the previous calendar week, the last seven complete days, or changes since the last successful run. Choosing explicitly prevents gaps and double counting. For a worked example, the morning brief recipe pairs a skill with a weekday routine.

Three timing details catch people out. A new routine does not run when you create it; it waits for its next scheduled time, so a daily 8:00 routine created at 8:05 first runs the next morning. Schedules follow the Timezone setting under Bot in Settings, which auto-detects from the computer you are on unless you pick one. And every run, including a test, uses your weekly allowance: Cursor's help warns that frequent schedules and Slack triggers on busy channels spend it quickly.

Documentation: Official skills and routines guide ↗ Cursor help: Grok Bot routines ↗ Grok Bot changelog ↗

  • The method is useful without a schedule.
  • The owner and time zone are explicit, When to run shows the schedule you meant, and the Bot's summary after saving names the right recipient.
  • A failed input produces a visible failure, not a recycled report.
  • A repeated run has a defined outcome and cannot accidentally duplicate a write.
  • Event triggers are narrow: a mention or phrase in one channel, not every message in all of Slack.

Plan for approvals nobody is watching

A routine runs while you are away, so its approval cards can go unanswered. Cursor's help says approvals raised by routines, triggers or other Bots expire after about 10 minutes and the action does not run. Turn on notifications for Bots that own routines, or decide in advance which narrow actions may go through without you.

Since 0.68.0 your saved approval rules appear under Custom Rules in Settings; Always allow on an approval card adds one there. Keep sending, purchasing, deleting and publishing behind Ask first rules, which win when both kinds of rule match, and leave the routine's email and Slack draft cards on: 0.64.0 lets you disable drafts per Bot, after which that Bot sends directly. If a run hangs, Stop ends a stuck Bot within about 30 seconds since 0.68.1. Stop is not undo: the same release notes say a Send cut off by Stop still goes out. Our permission boundaries guide turns this into a worksheet.

Documentation: Cursor help: how-tos (approval expiry) ↗ Grok Bot changelog ↗

Bots for this job

Directory listings that match this guide, read from each creator's public share page. They are not tested picks: check what a Bot can reach before you add it.

Browse: Bots for automation · Bots for scheduled routines

  • Daili by ℙ𝕒𝕦𝕝 𝕃. 𝕄𝕔ℕ𝕖𝕖𝕝𝕪 🇺🇸: Morning briefs with calendar, weather, important mail, live connectors, and a weekly outlook
  • Competitor Watching by Andrej Šimunaj: Snapshots you against 3-8 competitors and alerts only on material change
  • Rutin by Naoufal El hassnaoui: A Monday tune-up for every routine across your fleet of bots

Sources & next steps

Capabilities are grounded in the documentation below. The workflow design and acceptance checks are editorial suggestions.

Build your own workflow brief ↗