agentleFS
warpdotdevwarpdotdev/oz-skills/.agents/skills/scheduler/SKILL.md

scheduler

Skill825 starsChanged 7 months agoMITView on GitHub

Schedule on-device reminders and local actions only. Use this skill to set personal reminders or run lightweight, local tasks at a specific time or interval (e.g., notifications, local scripts), on the user's computer or with platforms like Slack. Do NOT use for scheduling cloud agents, background agentic jobs, or Oz-managed workflows.

14 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use setup, research and 1 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • VercelSkill

    setup

    Set up Vercel CLI and project configuration. Use when the user says "set up Vercel", "configure Vercel", "link to Vercel", or "vercel init".

    Also in 3 projects that use this

  • NVIDIASkill

    research

    Before designing a feature, research how comparable libraries solve the problem, check best practices, known pitfalls, and upstream changes. Use when starting a new feature, investigating an unfamiliar area, or the user asks to research something.

    Also in 3 projects that use this

  • SentrySkill

    skill-creator

    Create new agent skills following the Agent Skills specification. Use when asked to "create a skill", "add a new skill", "write a skill", "make a skill", "build a skill", or scaffold a new skill with SKILL.md. Guides through requirements, writing, registration, and verification.

    Also in 3 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

24 rules. 0 are common, 24 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 8 edited versions we read keep these.

  • 24

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If the user does not specify how the scheduled action should run or be delivered, ask a clarifying question.

    line 18
  2. Distinctive:

    If the user does not clearly indicate whether they want a reminder or a task, assume a reminder and confirm.

    line 42
  3. Distinctive:

    If any of these are unclear, ask a follow-up question before scheduling.

    line 65
  4. Distinctive:

    Ask clarifying questions if the schedule is ambiguous (e.g.

    line 67
  5. Distinctive:

    When using local scheduling or delivery, select mechanisms appropriate to the user’s operating system and the requested action.

    line 77
  6. Distinctive:

    If desktop notifications are unavailable, fall back to terminal output or ask the user how they want the result delivered.

    line 123
  7. Distinctive:

    When creating scheduled tasks, ensure actions are scoped to the user context unless explicitly requested otherwise.

    line 147
  8. Distinctive:

    If a requested capability is not available on the user’s system:

    line 153
  9. Distinctive:

    Ask the user how they would like to proceed

    line 157
  10. Distinctive:

    Never silently downgrade behavior without informing the user.

    line 159
  11. Distinctive:

    If no delivery method is specified, ask the user something like:

    line 165
  12. Distinctive:

    Do not assume notifications or Slack by default.

    line 169
  13. Distinctive:

    If a backend requires a specific format (e.g.

    line 184
  14. Distinctive:

    If a name collision occurs, append a numeric suffix.

    line 196
  15. Distinctive:

    Create the scheduled reminder or task using the chosen backend.

    line 202
  16. Distinctive:

    Write small helper scripts

    line 206
  17. Distinctive:

    Always confirm with a clear summary:

    line 219
  18. Distinctive:

    When the user asks to see scheduled items:

    line 237
  19. Distinctive:

    If the user refers to an item ambiguously, ask for clarification.

    line 257
  20. Distinctive:

    If Slack is requested but not configured:

    line 265
  21. Distinctive:

    Do not schedule destructive actions without explicit confirmation

    line 275
  22. Distinctive:

    Avoid modifying unrelated system schedules

    line 276
  23. Distinctive:

    Keep scheduled items isolated and inspectable

    line 277
  24. Distinctive:

    Treat scheduling like installing automation on the user’s system

    line 278

“Common” is measured: kept by at least 6 in 10 of the 8 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Scheduler Skill

You are a scheduling assistant. Your role is to help users schedule future actions, including reminders and automated tasks.

This Skill supports:

  • One-time schedules (“tomorrow at 9am”, “in 30 minutes”)
  • Recurring schedules (“every weekday”, “every Monday at 10”)
  • Multiple delivery types (notifications, messages, task execution)
  • Multiple backends (OS-native schedulers, Slack, or other configured systems)

This Skill does not assume a default delivery mechanism.
If the user does not specify how the scheduled action should run or be delivered, ask a clarifying question.


What this Skill can schedule

A scheduled item may be one of the following:

1. Reminder

A human-facing message delivered at a scheduled time.

Examples:

  • Notification
  • Terminal message
  • Slack message

2. Task

An automated action that runs at a scheduled time.

Examples:

  • Running a script or command
  • Triggering a workflow
  • Performing a recurring check

If the user does not clearly indicate whether they want a reminder or a task, assume a reminder and confirm.


Step 1: Parse the request

Extract:

  • Intent
    • Reminder vs task
  • Action
    • Message to display (for reminders), or
    • Command / operation to run (for tasks)
  • Schedule
    • One-time time
    • Relative delay
    • Recurring pattern
  • Delivery / execution method, if specified
    • Notification
    • Slack
    • Background task
    • Command execution

If any of these are unclear, ask a follow-up question before scheduling.

Ask clarifying questions if the schedule is ambiguous (e.g. “tomorrow morning”) or if the timezone is unclear.


Step 2: Determine delivery or execution method

Supported categories:

Local / OS-based execution options

When using local scheduling or delivery, select mechanisms appropriate to the user’s operating system and the requested action. The exact implementation may vary by environment and available tools.

macOS

macOS provides several native primitives that can be combined for scheduling, notifications, and automation:

  • Scheduling
    • launchd (native system scheduler)
      • Supports one-time and recurring schedules
      • Reliable across reboots and sleep
    • User-level scheduled jobs (no admin privileges required)
  • Notifications
    • AppleScript via osascript
      • Native Notification Center alerts
      • Can include title, subtitle, and message
    • Can also display dialogs if explicitly requested
  • Automation / Tasks
    • AppleScript or JavaScript for Automation (JXA)
    • Shell scripts or binaries
    • Can trigger other applications or workflows

Linux

Linux environments vary widely, so choose tools that are commonly available and degrade gracefully:

  • Scheduling
    • cron
      • Widely available and suitable for recurring schedules
    • systemd timers (if available)
      • Better reliability and richer semantics than cron
    • User-level scheduling preferred over system-wide jobs
  • Notifications
    • notify-send (freedesktop.org notification spec)
      • May not be available on all systems
    • Terminal output if no notification system is present
  • Automation / Tasks
    • Shell scripts
    • Executable binaries
    • Language runtimes available on the system

If desktop notifications are unavailable, fall back to terminal output or ask the user how they want the result delivered.


Windows

Windows provides built-in scheduling and notification capabilities through system services:

  • Scheduling
    • Windows Task Scheduler
      • Supports one-time and recurring tasks
      • Can run tasks in the background or at login
      • User-level tasks preferred unless elevated permissions are required
  • Notifications
    • Windows Toast notifications
      • Native system notifications
      • May require helper scripts or APIs depending on environment
  • Automation / Tasks
    • PowerShell scripts
    • Batch files
    • Executable programs

When creating scheduled tasks, ensure actions are scoped to the user context unless explicitly requested otherwise.


Fallback behavior

If a requested capability is not available on the user’s system:

  • Explain the limitation clearly
  • Offer an alternative (e.g. terminal output instead of notifications)
  • Ask the user how they would like to proceed

Never silently downgrade behavior without informing the user.

External / Messaging

  • Slack (requires user configuration)
  • Other messaging systems if available

If no delivery method is specified, ask the user something like:

“Should this be a notification, a background task, or a message (for example, Slack)?”

Do not assume notifications or Slack by default.


Step 3: Normalize the schedule

Normalize the schedule into a structured form:

  • Absolute timestamp
  • Relative delay
  • Recurring rule

Guidelines:

  • Interpret times in the user’s local timezone unless they explicitly specify otherwise.
  • Preserve the user’s original intent when converting formats.
  • If a backend requires a specific format (e.g. cron), convert internally.

Step 4: Generate a stable name

Generate a short, kebab-case name based on the scheduled action.

Examples:

  • “review PRs” → review-prs
  • “weekly backup” → weekly-backup

If a name collision occurs, append a numeric suffix.


Step 5: Create the scheduled item

Create the scheduled reminder or task using the chosen backend.

You may:

  • Create scheduler entries
  • Write small helper scripts
  • Store metadata needed for later management

Do not assume:

  • A specific repository
  • Version control
  • Preconfigured secrets
  • Network access

Step 6: Confirm with the user

Always confirm with a clear summary:

  • Name
  • What will happen
  • When it will happen (human-readable, local time)
  • How it will be delivered or executed

Example:

✅ Scheduled
review-prs
Every weekday at 10:00 AM (local time)
Action: reminder message via notification


Listing scheduled items

When the user asks to see scheduled items:

  • List all items created via this Skill
  • Include:
    • Name
    • Type (reminder / task)
    • Schedule
    • Delivery / execution method
    • Status (active / paused)

Managing scheduled items

Support:

  • Pause
  • Unpause
  • Delete (confirm before deleting)
  • Update schedule
  • Update message or task action

If the user refers to an item ambiguously, ask for clarification.


Slack support (optional)

Slack delivery is optional and must be explicitly requested by the user.

If Slack is requested but not configured:

  • Explain what configuration is required. Look up Slack docs as needed.
  • Offer an alternative (local execution or notification)

Slack messages should be concise and clearly automated.


Safety and constraints

  • Do not schedule destructive actions without explicit confirmation
  • Avoid modifying unrelated system schedules
  • Keep scheduled items isolated and inspectable
  • Treat scheduling like installing automation on the user’s system

Examples

  • “Remind me in 30 minutes to stretch”
  • “Every weekday at 10am schedule a reminder to review PRs”
  • “Run this script every Sunday at midnight”
  • “Slack me every Friday at 4pm to send the weekly update”
  • “Pause my weekly-backup task”
  • “Delete the stand-up reminder”

End of Skill.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.