Install
openclaw skills install substack-autopilotAutomate drafting and local saving of weekly Substack articles from a topic queue, opening the editor for final human review before publishing.
openclaw skills install substack-autopilotGenerate, draft, and prepare weekly Substack articles from a managed topic queue. Keeps a local article log and opens the browser for final human review before publishing.
<workspace>/<brand>/substack/
├── article-topics.json — topic queue (see format below)
├── article-log.json — published article history
└── article-YYYY-MM-DD.md — generated draft files
article-topics.json)[
{
"id": 1,
"title": "How Creators Are Losing Money Without Knowing It",
"subtitle": "Platform fees, algorithm suppression, and what to do about it",
"angle": "platform-critique",
"used": false
}
]
Angle types: See references/article-angles.md for content frameworks per angle.
article-topics.json (first where "used": false)references/article-angles.mdarticle-YYYY-MM-DD.mdarticle-topics.jsonarticle-log.jsonIf all topics are used: notify user to add new topics, then exit.
| Criterion | Weight |
|---|---|
| Hook strength (first paragraph) | 25 pts |
| Value density (actionable insights) | 25 pts |
| Brand consistency | 20 pts |
| CTA clarity | 15 pts |
| Structure / readability | 15 pts |
Rewrite once if below 70. Do not proceed if still failing after rewrite.
# [Title]
[Subtitle / hook sentence]
---
[Body: 600–900 words]
[3–5 sections with H2 headers]
[Specific data, examples, or patterns — not vague claims]
[Final CTA: link to brand URL]
browser open → https://<publication>.substack.com/publish/post/new (profile: user)
Wait for editor to load before notifying user. Do not auto-publish — always leave final approval to the human.
Recommended schedule: Weekly, Wednesday UTC 13:00 (Stockholm 14:00)
schedule: { "kind": "cron", "expr": "0 13 * * 3", "tz": "UTC" }
sessionTarget: "isolated"
payload.kind: "agentTurn"
timeoutSeconds: 0
See references/cron-prompt-template.md for a ready-to-use agentTurn prompt.
"📝 Substack draft saved: [path] — please review and publish""⚠️ Substack topic queue empty — please add new topics to article-topics.json""❌ Substack draft failed: [error] — manual write needed"