Documentation
Tools for agents

The cast-* skills

23 packaged procedures, compiled into the CLI, each a fixed sequence of ordinary cast commands.

$cast install skills

A snippet teaches an agent that a command exists. It does not teach a procedure. "Hand this work over" is a procedure: write down the decisions, pin the state, file a doc, then fork, spawn or message the right session. An agent that rebuilds that sequence from memory each time does it differently each time, and skips steps.

A skill is a packaged set of instructions for one kind of task. It is a directory with a SKILL.md file: a name, a description that says when to use it, and the steps. Claude Code lists each skill by its description and loads the body only when the skill is invoked, as a slash command (/cast-handoff) or because the task matches the description. A skill you never invoke costs the description line and nothing more.

The cast-* skills are the procedures that need what one session cannot see: the task board, the team's session history, other live sessions, pull requests, calls and chat. Each one is a sequence of ordinary cast commands. A skill adds no capability of its own. It fixes the order, the checks, and what evidence to leave behind.

cast install skills             # write all 23 skills
cast install skills --disable   # remove them
ls ~/.claude/skills/            # cast-pickup/SKILL.md, cast-ship/SKILL.md, and the rest
/cast-pickup ct-4102
/cast-why src/sync.ts:212 why is this debounced
/cast-bakeoff a queue table | an in memory buffer

How the skills ship and install

The skill files are compiled into the CLI binary as text imports. A compiled binary has no source tree beside it, so an installer that looks for files next to the executable finds nothing on a release install. With the bytes inside the binary, a Homebrew install and a run from source write the same files.

The whole set installs as one catalog snippet named skills (how snippets work). The wizard, cast install skills, and the toggle on the web Settings page all reach the same installer. It writes each skill to ~/.claude/skills/<name>/SKILL.md. An install with no interactive terminal turns skills on by default, the same as memory.

The installer compares each file byte for byte. A file that already matches is not touched. After a CLI update, the refresh of enabled snippets rewrites only the skills whose text changed, so a revised skill reaches the machine without a version bump. --disable removes the 23 cast-* directories and nothing else, so your own skills in ~/.claude/skills/ are safe. The orchestrate skill is separate: it belongs to the orchestration snippet, which also installs three agent types and two hooks (orchestration).

The catalog

Start, stop, and hand over:

SkillWhat it doesBuilt on
/cast-pickupReads the bound task or plan, the pinned state, recent team work and the repository, then names the work and the next three actionscast task, cast plan, cast state, cast feed
/cast-handoffWrites decisions, verified work, open questions and ordered next steps as a shared doc, pins the state, and can fork, spawn or message a sessioncast doc, cast state, cast fork, cast spawn, cast send
/cast-passHands this session to a teammate: pins where it stands, adds them as an owner, sends the briefcast state, cast send, cast chat
/cast-ask-teamPosts a question to the team channel, parks the session as dormant, and continues when an answer arrivescast chat, cast state, cast trigger
/cast-worktreeMoves the work into an isolated worktree with its own env files, ports and setupcast ws

Plan and reconsider:

SkillWhat it doesBuilt on
/cast-planExplores the code, searches earlier sessions and decisions, interviews the user, then writes a plan with tasks and dependenciescast plan, cast task, cast search, cast decisions
/cast-rethinkRebuilds the history of a piece of work from sessions, decisions and tasks before touching codecast search, cast context, cast task, cast plan
/cast-bakeoffForks the conversation once for each approach, waits for the branches, and compares diff, evidence and costcast fork, cast sessions -w, cast diff, cast read
/cast-conflictsFinds live sessions on this repository that change the same files, shows what they changed, and warns themcast sessions, cast diff, cast send

Prove and ship:

SkillWhat it doesBuilt on
/cast-verifyRuns the repository's checks, exercises the change in the browser or on the command line, and attaches the evidence to the taskcast browser, cast image, cast task comment
/cast-shipCommits in topical pieces, opens the pull request, and binds the session to it so reviews and failing checks wake it until mergecast pr shepherd, cast task, cast state
/cast-reviewReviews another session from its transcript and diff, and sends findings with file and linecast read, cast diff, cast summary, cast send
/cast-second-opinionGives a different model the intent, the plan and the diff in a fresh context, then verifies its findingscast exec --agent
/cast-whyTraces a line of code to the session that wrote it and the message where it was decidedcast blame, cast read, cast link

Run the fleet:

SkillWhat it doesBuilt on
/cast-loopArms a recurring trigger that spawns one fresh session for each ready task, with a precheck that skips the run when the queue is emptycast trigger add --every --spawn --precheck, cast task ready, cast decide
/cast-triageReads every session by who acts next, stashes the finished, kills the dead, and surfaces the few that need a personcast sessions, cast stash, cast kill, cast send
/cast-morningLists what waits on the human: sessions that need input, pull requests, ready tasks, overnight trigger runs, unread chatcast sessions, cast pr, cast task, cast trigger, cast chat
/cast-eodChecks each live session for an honest pinned state, writes handoffs, arms overnight follow ups, tidies the inboxcast state, cast trigger, cast stash, cast kill
/cast-standupBuilds a digest for a time window from sessions, commits, tasks, pull requests, calls and chatcast feed, cast task, cast pr, cast calls, cast publish

Learn, and keep the records true:

SkillWhat it doesBuilt on
/cast-learnTurns this session's corrections, decisions and gotchas into repository guidance, recorded decisions, or a doccast decisions, cast doc
/cast-lessonsCollects the corrections humans made across the team's sessions in a window and proposes the guidance that would have prevented eachcast search, cast read, cast decisions
/cast-from-callChecks each action item of a call against the transcript and files it as a task marked as decided in a meetingcast call, cast task create --from-meeting
/cast-orgReads what the code and sessions show, proposes seats, scopes and record fixes with evidence, and posts the result for the person to acceptcast org

How a skill composes the primitives

/cast-bakeoff shows the pattern. It runs one cast fork --tip --label bakeoff-<topic> with one direction for each approach, so every branch keeps the whole thread (forks and spawn). It tells each branch to work in its own worktree. It then watches cast sessions --label bakeoff-<topic> -w --json, a stream that prints nothing until a branch changes state. When the branches settle it reads cast diff and cast read for each one, puts the results in a table, gives a verdict, and stashes the branches that lost.

/cast-loop is built on triggers and tasks. The task board is the queue. A recurring --spawn trigger starts a fresh session for each run, and the --precheck command exits with a failure when cast task ready returns nothing, so an idle loop spends no session. Each run claims one task, works in a worktree, runs /cast-verify, and opens a pull request with /cast-ship. It does not merge. The skill also states when to cancel the trigger: when the queue is empty, when two runs in a row fail the same way, or at the time limit given with --for.

/cast-ask-team combines three primitives so that a question does not block a session. It posts to a channel with cast chat send and mentions its own short session ID, so a reply on the thread arrives as a session message (messaging). It declares cast state --status dormant and names the thread as the wake (thread state). When the default answer is safe to reverse, it arms a cast trigger add --in <time> that takes the default if nobody replies.

Skills call each other by name, as /cast-loop does with /cast-verify and /cast-ship. That works because every skill in the set installs together.

More guides
How agent snippets work
cast install writes versioned instruction sections into your agents' own config files. This is the mechanism every other guide builds on.
Give Claude Code memory across sessions and teammates
Not notes files: every session can search, read, and watch every other session your team has run. The commands, the scopes, and how agents use them.
How to find which AI agent session wrote a line of code
git blame names whoever committed a line. cast blame names the agent session that wrote it and opens the exact message; Git AI and Agent Blame solve it with git notes instead.
Messaging between sessions
cast send turns sessions into teammates: any session can message any other, including a teammate's, and manage what the human sees in the inbox.
Ambient awareness
Stable mode injects a live feed of recent sessions into every new session at start. Combined with messaging, sessions know about each other without being told.
See your whole team's Claude Code sessions in one place
Claude Code already writes every session to disk. The codecast daemon syncs those files — plus Codex, Cursor, and Gemini — into one live team feed, inbox, and searchable record.
How to share a Claude Code session with your team
Three different asks hide behind that sentence: read a finished conversation, watch a running one, or make every session visible by default. What Anthropic ships, what Lore does, and where codecast fits.
Pinned thread state
cast state keeps one agent-written line saying where a thread stands, pinned above the composer and on the inbox card, with its staleness on show.
Decisions: asking without interrupting
cast decide puts a question, its options and the reasoning into a queue you clear when you choose to. The answer returns to the agent as a message.
Team chat that agents take part in
Channels, threads and direct messages where a mention can wake a role or a session, agent lines are capped, and a Slack workspace mirrors in.
Huddles and walkie
Every huddle is transcribed with exact speaker attribution and leaves a digest, so an agent can quote what was said on the call.
Forks and spawned sessions
cast spawn --subagent delegates a worker that nests under the session that launched it; plain cast spawn and cast fork start independent threads in the human's inbox.
Tasks and plans
The work tracking layer agents report into: tasks, plans, binding, comments, and the dashboard that watches it all.
Triggers
Follow-up work that runs after the session ends: delayed, recurring, or fired by a GitHub event.
Workflows
Execution graphs in DOT syntax: agent steps, shell commands, conditions, and human approval gates.
Orchestration
A conductor agent decomposes a plan, spawns implementers in isolated worktrees, and runs reviewers and critics over the result.
Pull requests and issues as codecast objects
cast pr and issue sync keep a copy of GitHub and Linear objects current from webhooks, send every action back, and wake the session that owns the work.
The org: roles, scopes and the line
Route work to a standing responsibility instead of a session: roles with scopes, wakes, proposals a person accepts, and a line with independent review.
Driving the human's own Chrome
cast browser works in a background tab of the Chrome that already holds your logins, and puts the evidence in the thread.
Driving a native macOS app
cast computer reads a window as an indexed tree, refuses stale indexes, and reports whether an action was verified.
One typecheck watcher for every session
cast check answers every session from one tsc --watch for each tree and project, so thirty agents do not build the same program thirty times.
Sessions on machines you are not sitting at
How a session starts on, moves to, sleeps on and is watched from another machine, and what each lease does when the machine goes away.
Usage limits are a pause
Codecast parks a session that hits a limit, then continues it at the reset or on a saved account that still has room.
The visual canvas
Agents reply with sandboxed HTML that renders inline: charts, dashboards, diagrams, and small widgets instead of ASCII art.
Published pages
cast publish turns a file into a page at a stable URL, with version history, access gates, and viewer comments that flow back to the session.
How the client syncs
Every surface paints from a local store, an append only log for each scope delivers only what changed, and one window syncs while the others copy it.