Skip to content
Back to skills

Marketing Autopilot

ASecurity

Use SPECIFICALLY for hands-off SCHEDULING of the growth loop — the unattended driver that keeps a channel turning on a cron/interval with no operator in the seat. Each tick it asks the engine what's due (measure matured videos / reflect / refill the backlog / produce the next bet) and does that ONE action, handling the deferred-measurement timing automatically — then defers the actual step-level work to the per-step skills. Set it on a recurring schedule (the /loop or /schedule skill, or cron...

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 6, 2026
ai-agentsgobash

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add dasein108/slope-studio --skill marketing-autopilot --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Marketing Autopilot?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Marketing Autopilot
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dasein108-marketing-autopilot/badge)](https://www.skillsdirectory.com/skills/dasein108-marketing-autopilot)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: marketing-autopilot
description: >
  Use SPECIFICALLY for hands-off SCHEDULING of the growth loop — the unattended driver that keeps
  a channel turning on a cron/interval with no operator in the seat. Each tick it asks the engine
  what's due (measure matured videos / reflect / refill the backlog / produce the next bet) and
  does that ONE action, handling the deferred-measurement timing automatically — then defers the
  actual step-level work to the per-step skills. Set it on a recurring schedule (the /loop or
  /schedule skill, or cron). For a single manual step, invoke that step's skill directly instead.
---

# marketing-autopilot — run the loop on its own

The loop self-improves only if it keeps turning. This driver turns it. The hard part —
**a published video must mature ~48–72h before its metrics mean anything** — is handled by the
engine (`studio/marketing/loop.py`): it's a state machine over time, so each tick does the single
action that's actually *due*, never blindly publish→measure in one go.

## One tick = ask the engine, do the one due action

```bash
studio marketing tick --channel <name> --json
```
Returns the next action with everything you need:

| `next` | what to do (agent-driven) |
|--------|---------------------------|
| `measure` | `studio marketing measure --channel <name>` — `measure_due` videos have matured |
| `learn` | invoke **marketing-measure-learn** (its learn step: reflect → strategy); enough new measurements accrued |
| `ideate` | invoke **marketing-ideate** (web-search + recall → bets); backlog is low |
| `produce` | invoke **marketing-deploy** for `produce_entry` at `produce_max_cost` |
| `idle` | nothing due — sleep until the next tick (maturation / cadence wait) |

Do that ONE action, then tick again. Prefer the **lego-block skills** for the creative steps
(ideate/learn/produce) so the *thinking* is yours; `measure` is deterministic.

## Running it continuously

Pick a cadence (ticks every few hours are plenty — the engine gates the real timing):
- **Agent-driven (smartest):** use the **/loop** skill to re-invoke this skill on an interval,
  or **/schedule** to register a cron routine. Each firing: `tick --json` → do the due action.
- **Headless (no agent):** `studio marketing autopilot --channel <name> [--produce]` does one
  tick using the SCRIPTED ideate/learn fallbacks. Producing spends money + publishes, so it's
  **gated behind `--produce`**. Wire it to cron for fully unattended operation.

## Before first run — configure the channel

```bash
studio marketing budget --channel <name> --per-minute 0.40   # or --per-video 0.60  (sizes --max-cost)
studio marketing tick   --channel <name>                     # see what it would do
```
Cadence/maturation knobs live in `Journal.loop` (`maturation_hours` 60, `min_hours_between_produces`
20, `daily_produce_cap` 2, `learn_every` 3, `backlog_min` 2, `target_duration_s` 60) — edit
`runs/_marketing/<name>/journal.json` to tune.

## Cold-start
While `< 10` videos are deployed the engine/ideate stay in **exploration** (diverse bets); it
won't over-exploit a baseline that doesn't exist yet. Measurement still runs, but outcomes read
`cold-start` until the portfolio is big enough to rank.

## Memory
Reads the whole journal to decide; each delegated step writes its own slice. `learn` stamps
`last_learn_at`; `link` stamps `published_at` (the maturation clock). Memory model:
[`docs/50-marketing/memory.md`](../../../docs/50-marketing/memory.md).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.