plumbeer-substack-publisher

Create Substack drafts from markdown using the cookie-authenticated python-substack API.

Updated Mar 22, 2026
One-click install
npx skills add https://github.com/marioplumbeer/skills --skill plumbeer-substack-publisher-marioplumbeer
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: plumbeer-substack-publisher
Source: https://github.com/marioplumbeer/skills/tree/main/.agents/skills/plumbeer-substack-publisher
Command: npx skills add https://github.com/marioplumbeer/skills --skill plumbeer-substack-publisher-marioplumbeer

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python-substack, and includes scripts (resource) and references (resource) components.

What problem does it solve? Substack has no official publishing API, so staging a finished article as a draft on your publication normally means manual copy-pasting into the web editor. This Skill automates draft creation from markdown while guaranteeing it can never publish, email subscribers, or make anything public. ## Core Features & Use Cases - Draft-only creation: Converts markdown into a Substack draft via the unofficial python-substack library, with a hard guarantee that no publish or send endpoint is ever called. - Credential setup with safeguards: Extracts the substack.sid session cookie from a local Firefox profile on macOS (never printing or committing it), with manual fallback steps for other platforms. - Approval-gated workflow: Presents the full title, subtitle, tags, cover image, and body for explicit user approval before any API call touches the real account. - Use Case: You finish writing an essay in markdown and say "draft this on Substack" — the Skill formats it, shows you the exact draft for approval, then creates it and returns the draft edit URL so you can review and publish it yourself. ## Quick Start Ask the agent to draft your markdown article on your Substack publication, for example: "Put this article in my Substack drafts."

Frequently Asked Questions about plumbeer-substack-publisher

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Substack draft from markdown?▼

Use the python-substack library's create_draft_from_markdown method with your publication URL and a cookies file containing substack.sid. The Skill handles title, subtitle, tags, cover image, and body, then returns the draft ID and edit URL.

Can this skill publish or send my Substack post?▼

No. The skill is draft-only by design and never calls publish_draft or any send/email endpoint. After the draft is created, you must open it in the Substack editor and publish it yourself.

How do I get the substack.sid cookie for authentication?▼

On macOS with Firefox, the included script extracts substack.sid from your Firefox profile's cookies.sqlite and saves it to ~/.config/plumbeer/substack/cookies.json. On other platforms, copy the cookie manually from browser DevTools after logging into Substack.

Why does Substack draft creation fail with 401 or 403?▼

A 401/403 means the substack.sid session cookie is expired or invalid. Log into Substack again in your browser, re-extract or re-copy the cookie value into cookies.json, and retry — do not attempt to modify request headers.

Does pip install python-substack fail on Homebrew Python?▼

Yes, Homebrew Python blocks global pip installs under PEP 668 with an externally-managed-environment error. Create a virtual environment, install python-substack there, and use that interpreter for all subsequent calls.