NightPublishyoutube-channel-automation licence

Bring your own agent

Already runs headless.
Nobody clicks anything.

A timer starts the run at the hour you pick and it finishes on its own: launchd on macOS, a systemd --user timer or cron on Linux. Which agent it starts is one line in .env. That is how the three live channels publish every morning, and the same commands work from any terminal.

AGENT 01

A CLI over typed state on disk

The yca CLI runs through tsx. Every step reads and writes a typed artifact validated with zod, so an agent asks the CLI what the next step is instead of guessing, and a run that died at voiceover resumes at voiceover. Nothing sits behind a GUI or a runtime only one vendor can start.

AGENT 02

The CLI tells your agent what to do next

yca next --json returns the next actions as typed objects: cli to run a command, role to do a job in a fresh context, done, or blocked with a reason. Your agent loops on it. yca describe prints the JSON Schema of every payload it can submit, generated from the same zod contracts the pipeline validates against, so the agent is writing against a schema rather than an example.

AGENT 03

Failures your agent can branch on

Errors come back as {ok:false, error:{category, message, retryable, hint}} and the exit code says what happened: 0 fine, 1 error, 2 the run is locked by another worker, 3 blocked and a human or a different role is needed. Roles declare abstract capabilities — files, web search, image, voice, publishing — so an agent maps them to whatever tools it actually has.

AGENT 04

Three engines, the same artifacts on disk

The pipeline does not care who is driving. YCA_ENGINE in .env picks the one the scheduler starts, and all three read and write the same typed files, so you can change your mind later without touching a run.

  • claude — Claude Code skills and subagents. This is what we run in production every day, unattended, on the three channels above. It is the only path proven across a full day.
  • ai-sdk — a Vercel AI SDK 7 reference runner in agents/ai-sdk/: a tool-loop agent, MCP clients for the image, voice and publishing vendors, per-role tool scoping and trace propagation. It ships with an end-to-end test against mock providers and passes it. It has not yet run a full production day, and we are not going to pretend otherwise.
  • api — a direct Anthropic API pipeline, for running without any agent framework at all.

Anything else that can run a shell command — Codex, Cursor, Windsurf, ChatGPT desktop, your own loop — drives the same protocol. AGENTS.md is a one-page operating guide written for exactly that, and docs/AGENT-INTEGRATION.md is the full spec. Untested end to end by us.

AGENT 05

The workers and the procedures, in Claude Code's format

Twelve role-scoped subagents, each with one job: trend scout, researcher, scriptwriter, script reviewer, policy reviewer, visuals producer, voice producer, thumbnail designer, upload editor, publisher, eval judge, eval hillclimber. Eight skills: /yca-run, /yca-monitor, /yca-prebuild, /yca-new-channel, /yca-viral-leads, /yca-upload, /yca-eval and /yca-telemetry. Seven documents, including a harness.md that explains the agents, the skills and the evals themselves.

They ship in .claude/ and Claude Code loads them on its own. Another agent can be handed the same markdown as instructions, but it will not auto-load it, because the format is Claude Code's.

Claude Code is the tested path, and swapping is not free

The kit does not ship an .mcp.json. The daily runs reach the image, voice and publishing vendors through connectors already configured in Claude Code, so on another agent you wire the equivalents yourself. The AI SDK runner brings its own MCP clients and is the shortest path off Claude Code, and it is still the one with no production day behind it. Budget setup time either way.

Own the pipeline. Pay once.

One operator, as many channels as you run, no subscription. The price and everything in the zip are on the licence page.

See the licence Back to the start