run-without-you — Claude Code skill: scheduling agent runs
Prepare a graded Claude Managed Agent for recurring, event-triggered, or on-demand runs. Use it when the agent should run without a manual start each time.
/plugin marketplace add alirezarezvani/claude-skills
/plugin install agent-launcher-skills@claude-code-skillsWhat run-without-you does
The skill guides setup of a Claude Managed Agent deployment using POSIX cron, an event-driven curl trigger, or an on-demand message. cron_validator.py checks the schedule and IANA timezone; deployment_builder.py prepares the deployment payload. next_directions_writer.py writes or refreshes NEXT-DIRECTIONS.md.
Test a scheduled deployment with a manual run first and read the verdict. You can nest an outcome rubric so each firing grades itself. Cron uses wall-clock time: a spring-forward time can be skipped, while a fall-back time can fire twice. The scripts do not call the API; create the deployment with BYOK curl.
Install it when a graded agent needs recurring runs. For a one-off run, resend user.message instead.
What it helps with
- Validate a cron schedule and IANA timezone
- Build a payload for a deployment
- Trigger an agent from an event with curl
- Write the next steps to
NEXT-DIRECTIONS.md
Example prompts for the agent
- Schedule this agent for every morning in Europe/Berlin and prepare the deployment.
- Validate this cron expression and explain its daylight-saving behavior.
- Build the payload with `--nest-outcome` and refresh `NEXT-DIRECTIONS.md`.
How to install run-without-you
1Plugin marketplace
/plugin marketplace add alirezarezvani/claude-skills/plugin install agent-launcher-skills@claude-code-skillsThis installs the whole agent-launcher-skills plugin with all its skills
2Skills CLI (Vercel)
npx skills add alirezarezvani/claude-skills --skill run-without-you -a claude-code3Manually: put the files in place
~/.claude/skills/run-without-you/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/run-without-you/
Manually: put the files in place
.agents/skills/run-without-you/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/run-without-you/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install alirezarezvani/claude-skills run-without-you2Manually: put the files in place
.github/skills/run-without-you/SKILL.mdPlatform CLI
gemini skills install https://github.com/alirezarezvani/claude-skills --path agent-launcher/skills/run-without-youManually: put the files in place
.devin/skills/run-without-you/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set349
The whole set →Similar
Questions about run-without-you
How do I install run-without-you in Claude Code?
Run npx skills add alirezarezvani/claude-skills --skill run-without-you -a claude-code.
What does run-without-you do?
It helps prepare a Claude Managed Agent for scheduled, event-triggered, or on-demand runs, then updates its versioned roadmap.
How does it handle cron and daylight-saving time?
Run python3 scripts/cron_validator.py --cron "0 9 * * *" --timezone Europe/Berlin to validate the schedule and timezone. In DST zones, avoid 02:00–03:00 when exactly one firing matters.
Source text
SKILL.md · MIT
---
name: run-without-you
description: Phase 4 of building a Claude Managed Agent — make it run without you. Turn a graded agent into a recurring scheduled deployment (POSIX-cron), an event-driven curl trigger, or confirmed on-demand use, then finalize the versioned roadmap. Use when the user says "run it every morning", "put it on a schedule", "nightly", "weekly", "automate this", "make it recurring", or when the orchestrator routes phase=run-without-you. deployment_builder.py builds the POST /v1/deployments payload (initial_events must include user.message; optionally nests a user.define_outcome so each firing self-grades); cron_validator.py validates the 5-field cron + IANA timezone and prints the wall-clock DST note; next_directions_writer.py writes NEXT-DIRECTIONS.md. No tool makes API calls — the deployment is created via BYOK curl. Distinct from grade-iterate (the in-session loop) and wrap-up (closeout).
license: MIT
metadata:
version: 2.11.2
author: Alireza Rezvani
tags: [cma, deployment, cron, schedule, recurring, run-without-you, next-directions, dst]
compatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]
---
# Phase 4 — Run Without You (the recurring loop)
A **scheduled deployment** fires a fresh session on a cron cadence — the agent
runs without you. Each firing can carry its own outcome, nesting the bounded
grade→iterate loop inside every recurring run.
See [`../../references/loops-and-workflows.md`](../../references/loops-and-workflows.md).
## Choose the trigger
| Answer | Shape | Tool |
|---|---|---|
| "every morning / weekly / nightly" | recurring cron deployment | `deployment_builder.py` + `cron_validator.py` |
| "when X happens" | event-driven curl (documented, not scheduled) | `deployment_builder.py` (message only) |
| "only when I ask" | on-demand (no deployment) | none — just re-send a `user.message` |
## Workflow (recurring)
1. **Validate the schedule.**
```bash
python3 scripts/cron_validator.py --cron "0 9 * * *" --timezone Europe/Berlin
```
Invalid cron/timezone → exit 1. Read the **DST note**: wall-clock semantics mean
spring-forward times are skipped and fall-back times fire twice — avoid
02:00–03:00 in DST zones if exactly-once matters.
2. **Build the deployment payload.**
```bash
python3 scripts/deployment_builder.py \
--sheet ./my-agent/build-sheet.json --agent-id agent_123 --env-id env_456 \
--nest-outcome --out ./my-agent/payloads/deployment.json
```
`--nest-outcome` includes the rubric so **each firing self-grades**. The tool
prints the BYOK curl to create it and to **test it once** with the manual `run`
endpoint before trusting the schedule.
3. **Test before you trust.** Fire one manual `run`, read the verdict, only then
leave the cron in place. Pin the agent version in the deployment once it passes.
4. **Finalize the roadmap.**
```bash
python3 scripts/next_directions_writer.py \
--sheet ./my-agent/build-sheet.json --loop-shape cron-loop --last-verdict satisfied --out-dir ./my-agent
```
5. **Advance + hand to wrap-up.** `goal_state.py set --phase wrap-up`, then invoke
the `wrap-up` skill.
## Hard rules
- **Test with a manual `run` first.** Never commit a schedule you haven't fired once.
- **Safety rails on by default.** `always_ask` MCP, `limited` networking where you
can, `read_only` untrusted memory, `max_iterations` per firing, workspace spend
limit. There is no spend cap inside CMA.
- **DST is wall-clock.** Surface the note; pick safe times.
- **≤1,000 deployments/org.**
## Forcing-question library (recommend + cite)
1. "Cadence, event, or on-request?" *Recommend:* on-request v0 → cadence once graded.
*Cite:* loops-and-workflows.md.
2. "Should each firing self-grade?" *Recommend:* yes — nest the outcome. *Cite:*
loops-and-workflows.md (nesting rule).
3. "Which timezone, and is the time DST-safe?" *Recommend:* avoid 02:00–03:00 in
DST zones. *Cite:* cma-primitives.md (wall-clock DST).
4. "Did you fire one manual run first?" *Recommend:* always. *Cite:* this SKILL.
## Tools
- `scripts/deployment_builder.py` — POST /v1/deployments payload (+ test-run curl).
- `scripts/cron_validator.py` — 5-field cron + IANA tz + DST note.
- `scripts/next_directions_writer.py` — write/refresh NEXT-DIRECTIONS.md.
© Alireza Rezvani · MIT · alirezarezvani/claude-skills