Skip to main content
skill CX Codex

c-schedule — Claude Code skill: recurring tasks with cost caps

Runs repeating Claude jobs through launchd or cron, keeps spending in check and sends output to Telegram, a file or a notification.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add daxaur/openpaw --skill c-schedule -a claude-code
Open on GitHub

What c-schedule does

This skill brings scheduling to OpenPaw. You describe a job in plain words and openpaw schedule add registers it with the system scheduler: a plist under ~/Library/LaunchAgents/ on macOS, a crontab line on Linux. Timing can be written as weekdays 8am, every 30 minutes or daily 21:00, and raw cron like 0 8 * * 1-5 works too.

Spending is capped at two levels. The daily limit sits at $5 and a job is skipped once it would push past that; every job also carries its own budget, $1.00 unless you change it. Costs land in ~/.config/openpaw/schedule-costs.json, kept for 30 days before old entries are pruned. Run openpaw schedule costs to see where you stand, or openpaw schedule set-cap 10.00 to raise the ceiling.

Output goes to Telegram, a file or a macOS notification. The file copy is written regardless of the channel you pick. Telegram delivery depends on a bridge being set up first — without it that option is dead. Test a job by hand with openpaw schedule run <id> before you let the timer own it.

What it helps with

  • schedule a morning email briefing
  • track GitHub notifications each evening
  • watch for urgent mail every half hour
  • cap what automated runs are allowed to spend
  • pause a job without deleting its settings

Example prompts for the agent

  • Add a weekday 8am job that checks my email and summarizes what matters.
  • Set the daily cost cap to 10.00.
  • Show me the costs and trigger that job manually.

How to install c-schedule

1Skills CLI (Vercel)

npx skills add daxaur/openpaw --skill c-schedule -a claude-code

2Manually: put the files in place

~/.claude/skills/c-schedule/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/c-schedule/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about c-schedule

How do I install c-schedule in Claude Code?

Run npx skills add daxaur/openpaw --skill c-schedule -a claude-code, then confirm the file landed at ~/.claude/skills/c-schedule/SKILL.md.

What does c-schedule do?

It puts Claude jobs on a launchd or cron schedule, gives each one a budget, and delivers the result to Telegram, a file or a notification.

Does c-schedule need Telegram?

No. Telegram is one delivery option and it requires a configured bridge; results are always written to a file as well.

Source text

SKILL.md · MIT
---
name: c-schedule
description: Smart scheduling — automate recurring Claude tasks with cost control. Deliver results to Telegram, file, or notification. Built into OpenPaw.
tags: [schedule, automation, cron, recurring, proactive, cost-control]
---

# Smart Scheduling

Automate recurring tasks with Claude. Jobs run on a schedule via launchd (macOS) or cron (Linux), with built-in cost caps to prevent runaway spending.

## Managing Schedules

```bash
# Add a scheduled job (inline)
openpaw schedule add "weekdays 8am" --run "check email and summarize the important ones"
openpaw schedule add "daily 9pm" --run "review today's GitHub notifications"
openpaw schedule add "every 30 minutes" --run "check if any urgent emails arrived" --model haiku

# Interactive mode (prompts for all options)
openpaw schedule add

# List all jobs
openpaw schedule list

# Remove a job
openpaw schedule remove <id>

# Manually trigger a job
openpaw schedule run <id>

# Enable/disable without removing
openpaw schedule enable <id>
openpaw schedule disable <id>

# View cost usage
openpaw schedule costs

# Set daily cost cap
openpaw schedule set-cap 10.00
```

## Schedule Syntax

Human-readable formats:
- `weekdays 8am` or `weekdays 08:00`
- `daily 9pm` or `daily 21:00`
- `weekends 10am`
- `every 30 minutes`
- `every 2 hours`
- `monday 9am`, `friday 5pm`, etc.
- Raw cron: `0 8 * * 1-5`

## Cost Control

- **Daily cap**: $5/day by default — jobs are skipped if the cap would be exceeded
- **Per-run budget**: Each job has its own budget cap (default $1.00)
- **Cost tracking**: All costs logged to `~/.config/openpaw/schedule-costs.json`
- **30-day history**: Old entries auto-pruned
- **View anytime**: `openpaw schedule costs`

## Delivery Methods

- **telegram** — results sent directly to your Telegram (requires Telegram bridge setup)
- **file** — saved to `~/.config/openpaw/schedule-results/` (always saved as backup)
- **notify** — macOS notification via terminal-notifier

## How It Works

1. Jobs are stored in `~/.config/openpaw/schedules.json`
2. Each job registers as a system scheduler:
   - **macOS**: launchd plist in `~/Library/LaunchAgents/`
   - **Linux**: crontab entry
3. When triggered, `openpaw schedule run <id>` is called
4. Claude runs with the job's prompt via the Agent SDK
5. Results are delivered to the configured channel
6. Cost is recorded

## Guidelines

- Use **haiku** for simple, frequent checks (cheapest)
- Use **sonnet** for routine tasks like email summaries
- Use **opus** only for complex analysis (expensive)
- Test jobs manually first: `openpaw schedule run <id>`
- Start with a higher per-run budget and reduce once you know typical costs
- Check `openpaw schedule costs` to monitor spending

## Common Recipes

```bash
# Morning briefing to Telegram
openpaw schedule add "weekdays 8am" --run "give me a morning briefing: check email, calendar, and any GitHub notifications" --delivery telegram

# Evening project summary
openpaw schedule add "daily 6pm" --run "summarize what I worked on today based on git commits and recent files" --delivery file

# Urgent email monitor
openpaw schedule add "every 30 minutes" --run "check for urgent emails and notify me if any" --model haiku --budget 0.25 --delivery notify
```

© daxaur · MIT · daxaur/openpaw

Similar skills

All skills for Automation and no-code: n8n, Zapier, Make →

From the same set14

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor