B
BRENDAN O'NEILTC
Brendan O'Neil
TC
PLAYBOOK 05Advanced45 min

Skills, hooks and automation: make Claude run your pipeline

Turn the things you ask for every week into one-word commands, trigger them automatically when a session ends, and use a panel of AI "experts" to sort material. How my content pipeline works.

Once you've asked for the same thing three times, it should be a command. This is how my content pipeline turns every working session into Build Log, series and newsletter material without me doing anything extra.

Skills: saved procedures with a name

A skill is a folder with a SKILL.md file that tells Claude how to do one job. Project skills live in .claude/skills/<name>/SKILL.md:

---
name: make-newsletter
description: Assemble the next newsletter issue from this week's compiled items.
  Use when the user says "make the newsletter" or "draft this week's issue".
---

# make-newsletter
1. Read every item in content/_pipeline/newsletter/ with status: new
2. Build the issue: Built this week · What broke · What I learned · One number
3. 350–600 words, first person, no em dashes
4. Mark the items used; report the subject line and word count

Type /make-newsletter and it runs. The description also lets Claude pick up the skill on its own when you ask for that job in plain words.

TipWrite skills like a production checklist for a new hire: inputs, steps, output format, guardrails. Ask Claude to draft one from a job you just did together: "turn what we just did into a skill."

Split the work into stages

My pipeline has two stages, and each stage is a set of skills:

  • Capture: a session becomes a neutral digest, then section material (build cards, series cards, newsletter items).
  • Make: material becomes drafts (a case study, posts, an issue).

Capture never writes finished content; Make never reads raw sessions. Keeping the stages apart means each one is simple and can be re-run safely. /capture-all and /make-all chain them.

IGThe content pipeline: two stages, run by skills
  1. SessionThe raw conversation
  2. CaptureA neutral digest
  3. Section materialBuild cards, series cards, newsletter items
  4. MakeDrafts, in my voice
  5. ReviewDrafts wait for me

A panel of experts

Deciding which of my five series a lesson belongs to is a judgement call, so one skill runs a panel of experts. Claude starts five subagents in parallel, one per series. Each gets only its own brief:

Expert Takes Rejects
Build Log editor this week's build: broke → fixed → learned news, opinions
Production critic a public demo tested to client standards untested hype
Rebuild supervisor an iconic shot remade with AI, with cost any client work
Studio founder earned lessons from running a studio tech how-tos
Educator a concept explained through creative work dev-only content

Each scores every item 0–10. Anything at 7 or above goes to that series, and every verdict goes in a log, so I can see why something was routed and tune the briefs.

Hooks: run things automatically

Hooks are commands Claude Code runs on events, like a session ending, a file being edited or a tool being used. They're configured in .claude/settings.json:

{
  "hooks": {
    "SessionEnd": [
      { "hooks": [{ "type": "command", "command": "node scripts/session-end-capture.mjs" }] }
    ]
  }
}

My session-end script queues the finished session, then starts a background capture run.

Headless mode: Claude without the chat

claude -p "<prompt>" runs Claude Code non-interactively and exits. That's what the hook uses:

claude -p "/capture-all" --permission-mode acceptEdits \
  --allowedTools "Read,Write,Edit,Glob,Grep,Agent"
GuardrailsBackground runs spend like normal sessions, so limit what they can do. Mine may only write inside one folder, can never publish or commit, and set a flag so their own ending doesn't trigger another run (an infinite loop is one missing line away).

Keep a command list

Once you have more than a few skills, keep a SKILLS.md at the project root listing every command, what it does and where it writes. You'll forget otherwise.

Automation checklist

  1. Anything asked for three times becomes a skill
  2. Stages kept separate: capture, then make
  3. Expert panels for judgement calls, with a verdict log
  4. Hooks for "when X happens, do Y"
  5. Tight limits on every background run
  6. A SKILLS.md command list

Next playbook3D and visuals with code: Blender scripts, scans and WebGL →

Render queue · Job 001● Weekly

Bren Builds

What I built with AI this week, what broke, and what I learned. One email, weekly.

← All builds & playbooks

Built on craft. Powered by code.

End of reel · TC 20:00:00:00