Phase 4 of building a Claude Managed Agent
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 →
SkillA task is too large for one model passAdvisor orchestrator worker
SkillRun the CCS Align seat's hourly breathing cycleCCS Align — Worker Watch seat (Phases 0–2 shipped; Phase 3 = verify / sign-off)
SkillSummarize and review what changed while you were awayCatchup — Async-Team Return Briefing
SkillMaster Python asyncio, concurrent programmingAsync python patterns
SkillMaster Go concurrency with goroutines, channelsGo concurrency patterns
SkillDesign microservices architectures with service boundariesMicroservices patternsMore from alirezarezvani
SkillResume a paused experiment/ar:ar-resume — Resume Experiment
SkillShow experiment dashboard with results, active loops/ar:ar-status — Experiment Dashboard
SkillStart an autonomous experiment loop with user-selected/ar:loop — Autonomous Experiment Loop
SkillRun a single experiment iteration/ar:run — Single Experiment Iteration
SkillSet up a new autoresearch experiment interactively/ar:setup — Create New Experiment
Skill/cs:boardroom <brief/cs:boardroom — Multi-Role Boardroom Deliberation