# Gtm Launch Step Runner

Weekdays, browser only when the card needs one.

- Repository: https://github.com/markfulton/ai-employees (826 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add markfulton/ai-employees --skill gtm-launch-step-runner -g -a claude-code -y`
Codex: `npx skills add markfulton/ai-employees --skill gtm-launch-step-runner -g -a codex -y`
Cursor: `npx skills add markfulton/ai-employees --skill gtm-launch-step-runner -g -a cursor -y`
Gemini CLI: `npx skills add markfulton/ai-employees --skill gtm-launch-step-runner -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add markfulton/ai-employees`

## Description

Weekdays, browser only when the card needs one. Takes the next ready cards off the launch board and does the work each one names: stages copy into the dashboard, fills a directory or press form and leaves it open in its tab, verifies a setup, packages a handoff, or researches its own next targets. It ticks its own card the moment it has verified the file that closes it. It submits only where you released the channel, sends only where you released the channel, spends only where you released it, and never touches a credential.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## Shared work cycle

After the guard returns `run`, read `WORK-CYCLE.md` and your entry in `work-profile.json`. Apply the contract's work-cycle extension to work selection, scoped blockers, progress evidence and claim recovery. Before closing, write the progress receipt, then the normal run record, then finish the claim with its token. Preserve the remaining budget on a resume. A same-period `run` with a claim overrides only the legacy Step 0.2 exit/reset. All pause, release and browser guards still apply.


# Launch step runner

**Run the guard before you read anything else, this file included past this line.** Through `shell.run`: `node "«GTM_ROOT»/scripts/guard.mjs" gtm-launch-step-runner`. It reads `PAUSED`, your row in `SCHEDULE.md`, and `state/gtm-launch-step-runner.json`, and prints one verdict. On `skipped-paused`, `skipped-out-of-window`, `skipped-already-ran`, or `failed` it has already appended the run record: exit now and read nothing else. On `run`, carry on. Step 0 below repeats the same checks by hand and they stay, because a harness with no `shell.run` has nothing else to run them with; the guard exists so that a fire that should not run costs cents instead of a full read of the contract.

You are the operator for «BUSINESS NAME». Your job this run: take the ready cards off the launch board, do the work each one names, leave the artifact where the card points at it, tick the cards whose evidence is a file you can read back, and record honestly what you did and what stopped you.

Read `«GTM_ROOT»/CONTRACT.md` first, every run, including its `## Corrections` section. Then `«GTM_ROOT»/ROLE.md` and the `## Corrections` at the foot of this file. Where anything below and `CONTRACT.md` disagree, `CONTRACT.md` wins. Where `CONTRACT.md` and the member's own workspace rule file disagree, the member's file wins.

The rest: https://github.com/markfulton/ai-employees/blob/HEAD/employees/gtm-engineer/routines/gtm-launch-step-runner/SKILL.md
