Agent Deployment Automation
Phase 4 — Run Without You (the recurring loop)

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.
--- 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). version: 2.11.2 author: Alireza Rezvani license: MIT 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).
Overview
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.
Manual install (npx, ZIP)
npx skills add alirezarezvani/claude-skills --skill run-without-you -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/alirezarezvani/claude-skills/tar.gz/19392f7a0826 \
| tar -xz -C ~/.claude/skills --strip-components=3 claude-skills-19392f7a0826/agent-launcher/skills/run-without-youNew-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/4deed206ed2010555f64/run-without-you.zip" -OutFile "$env:TEMP\run-without-you.zip"; Expand-Archive "$env:TEMP\run-without-you.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md4.3 KBREADME.md1.1 KBscripts/3 files · 14.6 KB
Read the files here
alirezarezvani/
Shared references1SKILL.md reads these from elsewhere in the repo. Not in the ZIP.
Get them on GitHub ↗Show the full text79 lines
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.
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)
- Validate the schedule.
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.python3 scripts/cron_validator.py --cron "0 9 * * *" --timezone Europe/Berlin - Build the deployment payload.
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-outcomeincludes the rubric so each firing self-grades. The tool prints the BYOK curl to create it and to test it once with the manualrunendpoint before trusting the schedule. - 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. - Finalize the roadmap.
python3 scripts/next_directions_writer.py \ --sheet ./my-agent/build-sheet.json --loop-shape cron-loop --last-verdict satisfied --out-dir ./my-agent - Advance + hand to wrap-up.
goal_state.py set --phase wrap-up, then invoke thewrap-upskill.
Hard rules
- Test with a manual
runfirst. Never commit a schedule you haven't fired once. - Safety rails on by default.
always_askMCP,limitednetworking where you can,read_onlyuntrusted memory,max_iterationsper 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)
- "Cadence, event, or on-request?" Recommend: on-request v0 → cadence once graded. Cite: loops-and-workflows.md.
- "Should each firing self-grade?" Recommend: yes — nest the outcome. Cite: loops-and-workflows.md (nesting rule).
- "Which timezone, and is the time DST-safe?" Recommend: avoid 02:00–03:00 in DST zones. Cite: cma-primitives.md (wall-clock DST).
- "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.
| 1 | |
| 2 | name run-without-you |
| 3 | 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). |
| 4 | version 2.11.2 |
| 5 | author Alireza Rezvani |
| 6 | license MIT |
| 7 | tags [cma, deployment, cron, schedule, recurring, run-without-you, next-directions, dst] |
| 8 | compatible_tools [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli] |
| 9 | |
| 10 | |
| 11 | # Phase 4 — Run Without You (the recurring loop) |
| 12 | |
| 13 | A **scheduled deployment** fires a fresh session on a cron cadence — the agent |
| 14 | runs without you. Each firing can carry its own outcome, nesting the bounded |
| 15 | grade→iterate loop inside every recurring run. |
| 16 | |
| 17 | See [`../../references/loops-and-workflows.md`]. |
| 18 | |
| 19 | ## Choose the trigger |
| 20 | |
| 21 | | Answer | Shape | Tool | |
| 22 | |---|---|---| |
| 23 | | "every morning / weekly / nightly" | recurring cron deployment | `deployment_builder.py` + `cron_validator.py` | |
| 24 | | "when X happens" | event-driven curl (documented, not scheduled) | `deployment_builder.py` (message only) | |
| 25 | | "only when I ask" | on-demand (no deployment) | none — just re-send a `user.message` | |
| 26 | |
| 27 | ## Workflow (recurring) |
| 28 | |
| 29 | **Validate the schedule.** |
| 30 | |
| 31 | python3 scripts/cron_validator.py --cron "0 9 * * *" --timezone Europe/Berlin |
| 32 | |
| 33 | Invalid cron/timezone → exit 1. Read the **DST note**: wall-clock semantics mean |
| 34 | spring-forward times are skipped and fall-back times fire twice — avoid |
| 35 | 02:00–03:00 in DST zones if exactly-once matters. |
| 36 | **Build the deployment payload.** |
| 37 | |
| 38 | python3 scripts/deployment_builder.py \ |
| 39 | --sheet ./my-agent/build-sheet.json --agent-id agent_123 --env-id env_456 \ |
| 40 | --nest-outcome --out ./my-agent/payloads/deployment.json |
| 41 | |
| 42 | `--nest-outcome` includes the rubric so **each firing self-grades**. The tool |
| 43 | prints the BYOK curl to create it and to **test it once** with the manual `run` |
| 44 | endpoint before trusting the schedule. |
| 45 | **Test before you trust.** Fire one manual `run`, read the verdict, only then |
| 46 | leave the cron in place. Pin the agent version in the deployment once it passes. |
| 47 | **Finalize the roadmap.** |
| 48 | |
| 49 | python3 scripts/next_directions_writer.py \ |
| 50 | --sheet ./my-agent/build-sheet.json --loop-shape cron-loop --last-verdict satisfied --out-dir ./my-agent |
| 51 | |
| 52 | **Advance + hand to wrap-up.** `goal_state.py set --phase wrap-up`, then invoke |
| 53 | the `wrap-up` skill. |
| 54 | |
| 55 | ## Hard rules |
| 56 | |
| 57 | **Test with a manual `run` first.** Never commit a schedule you haven't fired once. |
| 58 | **Safety rails on by default.** `always_ask` MCP, `limited` networking where you |
| 59 | can, `read_only` untrusted memory, `max_iterations` per firing, workspace spend |
| 60 | limit. There is no spend cap inside CMA. |
| 61 | **DST is wall-clock.** Surface the note; pick safe times. |
| 62 | **≤1,000 deployments/org.** |
| 63 | |
| 64 | ## Forcing-question library (recommend + cite) |
| 65 | |
| 66 | "Cadence, event, or on-request?" *Recommend:* on-request v0 → cadence once graded. |
| 67 | *Cite:* loops-and-workflows.md. |
| 68 | "Should each firing self-grade?" *Recommend:* yes — nest the outcome. *Cite:* |
| 69 | loops-and-workflows.md (nesting rule). |
| 70 | "Which timezone, and is the time DST-safe?" *Recommend:* avoid 02:00–03:00 in |
| 71 | DST zones. *Cite:* cma-primitives.md (wall-clock DST). |
| 72 | "Did you fire one manual run first?" *Recommend:* always. *Cite:* this SKILL. |
| 73 | |
| 74 | ## Tools |
| 75 | |
| 76 | `scripts/deployment_builder.py` — POST /v1/deployments payload (+ test-run curl). |
| 77 | `scripts/cron_validator.py` — 5-field cron + IANA tz + DST note. |
| 78 | `scripts/next_directions_writer.py` — write/refresh NEXT-DIRECTIONS.md. |
| 79 |
Details
- Version
- 2.11.2
- Updated
- Aug 30, 2026
- License
- MIT
- Stars on the repo
- ★ 26,349
- Checked
- Source
- alirezarezvani/claude-skills ↗
- Creator
- alirezarezvani · 363 listings
Similar skills
See all →
SkillAdvisor Orchestrator
SkillCCS Align Worker Watch
SkillAsync Return Briefing
SkillAsync Python Patterns
SkillGo Concurrency Pattern Guide
SkillMicroservices PatternsMore from alirezarezvani
SkillExperiment Resume Tool
SkillExperiment Dashboard Viewer
SkillAutonomous Experiment Runner
SkillSingle Experiment Iterator
SkillAutoresearch Experiment Setup
SkillExecutive Boardroom Deliberator