Teardown No. 03 · Newsletter

How Jordan Crawford runs his Substack from Claude Code

Jordan Crawford turns his day-to-day Claude Code sessions into Substack posts. A hook logs each session, a queue flags topics with enough material, sub-skills draft the post and research headlines, and a custom publisher ships it with working images.

The problem

He wanted posts to come out of the work he was already doing. He also writes that Substack’s MCP tool couldn’t render images: they showed up as raw text.

The blueprint

  1. A hook fires at the end of every Claude Code session. It reads the transcript, tags tools, files and topics against a taxonomy, and appends to a daily log.
  2. When enough sessions pile up on one topic, the queue tells him he has material for a post.
  3. Sub-skills cover content generation, headline optimization, image generation, session capture and Slack recaps.
  4. A 458-entry knowledge corpus sits behind “Edge Copilot.”
  5. A custom publisher converts markdown into Substack’s ProseMirror JSON, uploads images to Substack’s CDN and PUTs the post to the API. Auth comes from a browser session cookie that a wrapper script refreshes.

Stated results

40+ scripts, 5 sub-skills, 458 wiki entries, $0.04 per headline research run. The per-post cost figure did not come through in retrieval: Unverified.

Caveats

  • X handle Unverified. Substack: @jordancrawfordgtm.
  • The publisher uses an undocumented API and browser cookies. This is his setup, not a recommendation.

Sources

Get one teardown a week.

Same format, a new operator every issue. Double opt-in.