Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Turn 'run this every Friday at 4pm' into a working, copy-paste schedule on the user's actual runner. Use when asked to schedule a recurring AI task, set up a routine or cron job for a skill, automate a weekly report, or wire a skill into n8n or GitHub Actions. Produces the exact setup for the chosen runner plus the prompt to run, failure alerting, and a first-run test plan.
.claude/skills/mohitagw15856-schedule-recipe/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -43% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -38% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 20% | 0% |
Convert a recurring intent — "competitive briefing every Monday 8am" — into the concrete, copy-paste setup for whatever runner the user actually has, with failure handling so it degrades loudly, not silently.
Ask for (if not already provided):
Pick the simplest runner the user already has, in this order:
| Runner | Choose when | Setup shape | |---|---|---| | Claude Code routine (/schedule) | The user lives in Claude Code and the task needs an agent (reads repos, runs skills) | A scheduled cloud agent with the run prompt | | Claude Code /loop | Same-session polling or short-lived recurrence, not a standing schedule | /loop <interval> <command> | | GitHub Actions cron | Inputs and output both live in a repo; team wants runs versioned and reviewable | A workflow YAML with schedule: trigger | | n8n / Make | The trigger or output is a SaaS app (Slack, CRM, sheets) | A workflow calling the skills REST API | | System cron | A server exists and the task is a script | A crontab line invoking the CLI |
State the choice and the runner-up. If the user names a runner, use it — don't relitigate.
Every recipe includes the prompt the scheduled run executes. It must contain:
delta-briefing)Runner: choice] — because one line]. Runner-up: alternative] if condition].
Setup (copy-paste):
[the exact command / crontab line / workflow YAML / n8n outline]Run prompt: > the full prompt the scheduled agent executes each cycle]
Failure alerting: how a failed/skipped run becomes visible — e.g. the run posts an error note to the same channel it would post the brief].
First-run test: trigger one run manually now; check the two or three things that prove it worked] before trusting the schedule.
<placeholders> left except secrets, which are named| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 39,578 | 25,235 | -36% | 1 | 1 | 0% | 8,325 | 4,739 | -43% | 0 | 0 | — |
case-02 | fail→fail | 45,053 | 25,381 | -44% | 1 | 1 | 0% | 4,791 | 4,504 | -6% | 0 | 0 | — |
case-03 | fail→fail | 35,465 | 32,957 | -7% | 1 | 1 | 0% | 5,516 | 5,233 | -5% | 0 | 0 | — |
case-04 | fail→pass | 48,380 | 19,616 | -59% | 1 | 1 | 0% | 8,263 | 5,141 | -38% | 0 | 0 | — |
case-05 | pass→pass | 10,545 | 10,660 | +1% | 1 | 1 | 0% | 1,083 | 2,999 | +177% | 0 | 0 | — |
case-06 | pass→fail | 7,857 | 5,768 | -27% | 1 | 1 | 0% | 526 | 1,930 | +267% | 0 | 0 | — |
case-07 | pass→pass | 30,714 | 18,754 | -39% | 1 | 1 | 0% | 3,764 | 3,272 | -13% | 0 | 0 | — |
case-08 | pass→pass | 22,871 | 24,377 | +7% | 1 | 1 | 0% | 3,165 | 3,869 | +22% | 0 | 0 | — |
case-09 | fail→pass | 13,226 | 17,512 | +32% | 1 | 1 | 0% | 2,117 | 3,003 | +42% | 0 | 0 | — |
case-10 | pass→pass | 21,001 | 17,288 | -18% | 1 | 1 | 0% | 2,383 | 3,502 | +47% | 0 | 0 | — |
case-11 | pass→pass | 9,969 | 21,274 | +113% | 1 | 1 | 0% | 1,908 | 3,954 | +107% | 0 | 0 | — |
case-12 | fail→pass | 11,036 | 22,089 | +100% | 1 | 1 | 0% | 1,954 | 3,320 | +70% | 0 | 0 | — |
case-13 | fail→pass | 22,374 | 19,854 | -11% | 1 | 1 | 0% | 3,022 | 3,615 | +20% | 0 | 0 | — |
case-14 | fail→fail | 9,772 | 14,945 | +53% | 1 | 1 | 0% | 1,463 | 3,396 | +132% | 0 | 0 | — |
case-15 | fail→fail | 11,079 | 28,645 | +159% | 1 | 1 | 0% | 2,016 | 4,507 | +124% | 0 | 0 | — |
case-16 | fail→pass | 12,122 | 15,038 | +24% | 1 | 1 | 0% | 1,737 | 3,367 | +94% | 0 | 0 | — |
case-17 | pass→pass | 13,640 | 13,774 | +1% | 1 | 1 | 0% | 1,588 | 2,560 | +61% | 0 | 0 | — |
case-18 | pass→pass | 21,779 | 29,080 | +34% | 1 | 1 | 0% | 2,748 | 4,052 | +47% | 0 | 0 | — |
case-19 | fail→fail | 14,558 | 15,332 | +5% | 1 | 1 | 0% | 1,664 | 2,752 | +65% | 0 | 0 | — |
case-20 | fail→pass | 23,918 | 21,773 | -9% | 1 | 1 | 0% | 2,689 | 3,545 | +32% | 0 | 0 | — |
case-21 | pass→pass | 11,680 | 23,219 | +99% | 1 | 1 | 0% | 1,756 | 3,665 | +109% | 0 | 0 | — |
case-22 | fail→fail | 40,616 | 25,330 | -38% | 1 | 1 | 0% | 4,307 | 3,762 | -13% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +27 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.