New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Phase 4 of building a Claude Managed Agent

Phase 4 — Run Without You (the recurring loop)

by alirezarezvani · MIT license · ★ 26,349 on GitHub · v2.11.2 · updated Aug 30

Phase 4 — Run Without You (the recurring loop) cover

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)
Claude Codenpx skills add alirezarezvani/claude-skills --skill run-without-you -g -a claude-code
Claude Code (manual)mkdir -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-you
Windows (PowerShell)New-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" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md4.3 KB
  • README.md1.1 KB
  • scripts/3 files · 14.6 KB
Read the files here
alirezarezvani/19392f75 files
Shared references1SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
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)

  1. Validate the schedule.
    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.
    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.
    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.
1---
2name: run-without-you
3description: 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).
4version: 2.11.2
5author: Alireza Rezvani
6license: MIT
7tags: [cma, deployment, cron, schedule, recurring, run-without-you, next-directions, dst]
8compatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]
9---
10 
11# Phase 4 — Run Without You (the recurring loop)
12 
13A **scheduled deployment** fires a fresh session on a cron cadence — the agent
14runs without you. Each firing can carry its own outcome, nesting the bounded
15grade→iterate loop inside every recurring run.
16 
17See [`../../references/loops-and-workflows.md`](../../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 
291. **Validate the schedule.**
30 ```bash
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.
362. **Build the deployment payload.**
37 ```bash
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.
453. **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.
474. **Finalize the roadmap.**
48 ```bash
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 ```
525. **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 
661. "Cadence, event, or on-request?" *Recommend:* on-request v0 → cadence once graded.
67 *Cite:* loops-and-workflows.md.
682. "Should each firing self-grade?" *Recommend:* yes — nest the outcome. *Cite:*
69 loops-and-workflows.md (nesting rule).
703. "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).
724. "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 
View all files on GitHub →

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
View creator

Similar skills

See all →
SkillA task is too large for one model passAdvisor orchestrator workerShubhamsaboo/awesome-llm-apps · by ShubhamsabooUse when a task is too large for one model pass, needs parallel research or generation across many subtasks (like researching a dozen competitors at once), or the user asks to orchestrate multiple models, split work across a model team, run an advisor-worker loop, have a stronger model review the plan while cheap workers execute, or says "too big for one model" or "fan this out". Not for single-file edits or tasks one model handles in one pass.★ 139k GitHub starsSkillRun the CCS Align seat's hourly breathing cycleCCS Align — Worker Watch seat (Phases 0–2 shipped; Phase 3 = verify / sign-off)thedotmack/claude-mem · by thedotmackRun the CCS Align seat's hourly breathing cycle — prove the local claude-mem worker is healthy, pull needle observations through search → timeline → get_observations, land them in a seat-owned middle cache via atomic grab → append → filter exclude-marks → replace, manage exclude marks, and walk house → project → seat rules to detect conflicts (SHADOW_HOUSE, DENY_ALLOW, DRIFT, CLOCK_HEADER) with an append-only rules-report.md. Use when asked to run CCS Align, breathe the alignment seat, refresh the middle cache, exclude or restore an observation, walk rules, check rules conflicts, or check the Worker Watch board.★ 95.6k GitHub starsSkillSummarize and review what changed while you were awayCatchup — Async-Team Return Briefingoliver-kriska/claude-elixir-phoenix · by oliver-kriskaSummarize and review what changed while you were away. Use after a weekend, vacation, or flight to check missed PRs, git commits, Linear tickets, and meetings — one prioritized brief, not a firehose.★ 560 GitHub starsSkillMaster Python asyncio, concurrent programmingAsync python patternswshobson/agents · by wshobsonMaster Python asyncio, concurrent programming, and async/await patterns for high-performance applications. Use when building async APIs, concurrent systems, or I/O-bound applications requiring non-blocking operations.★ 39.9k GitHub starsSkillMaster Go concurrency with goroutines, channelsGo concurrency patternswshobson/agents · by wshobsonMaster Go concurrency with goroutines, channels, sync primitives, and context. Use when building concurrent Go applications, implementing worker pools, or debugging race conditions.★ 39.9k GitHub starsSkillDesign microservices architectures with service boundariesMicroservices patternswshobson/agents · by wshobsonDesign microservices architectures with service boundaries, event-driven communication, and resilience patterns. Use when building distributed systems, decomposing monoliths, or implementing microservices.★ 39.9k GitHub stars

More from alirezarezvani

SkillResume a paused experiment/ar:ar-resume — Resume Experimentalirezarezvani/claude-skills · by alirezarezvaniResume a paused experiment. Checkout the experiment branch, read results history, continue iterating. Use when the user runs /ar:ar-resume or asks to pick up a previously started autoresearch experiment.★ 26.3k GitHub starsSkillShow experiment dashboard with results, active loops/ar:ar-status — Experiment Dashboardalirezarezvani/claude-skills · by alirezarezvaniShow experiment dashboard with results, active loops, and progress. Use when the user runs /ar:ar-status or asks how an autoresearch experiment is going.★ 26.3k GitHub starsSkillStart an autonomous experiment loop with user-selected/ar:loop — Autonomous Experiment Loopalirezarezvani/claude-skills · by alirezarezvaniStart an autonomous experiment loop with user-selected interval (10min, 1h, daily, weekly, monthly). Uses CronCreate for scheduling. Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule.★ 26.3k GitHub starsSkillRun a single experiment iteration/ar:run — Single Experiment Iterationalirezarezvani/claude-skills · by alirezarezvaniRun a single experiment iteration. Edit the target file, evaluate, keep or discard. Use when the user runs /ar:run or asks for one manual autoresearch iteration.★ 26.3k GitHub starsSkillSet up a new autoresearch experiment interactively/ar:setup — Create New Experimentalirezarezvani/claude-skills · by alirezarezvaniSet up a new autoresearch experiment interactively. Collects domain, target file, eval command, metric, direction, and evaluator. Use when the user runs /ar:setup or asks to start optimizing a file with the autoresearch loop.★ 26.3k GitHub starsSkill/cs:boardroom <brief/cs:boardroom — Multi-Role Boardroom Deliberationalirezarezvani/claude-skills · by alirezarezvani/cs:boardroom <brief> — 6-phase multi-role deliberation across the C-suite with Phase 2 isolation, critic pre-screen, and synthesis. Outputs a board memo. Use when a decision spans multiple executive domains — e.g. a pricing change touching finance, positioning, and product, or a raise-vs-cut runway call.★ 26.3k GitHub stars