What this agent does
A content calendar only works if drafting keeps pace with planning — otherwise "Ready" ideas sit for days waiting for someone to actually write the caption. This agent watches your Notion content database and the moment an idea is marked "Ready", it drafts three caption variants and attaches them to the same row.
notion-status-watcher— polls your content calendar database for rows that changed to a "Ready" status since the last check.caption-variant-writer— for each newly-ready row, reads the idea/brief field and writes 3 distinct caption variants (different hooks, same core message), then writes them back into the row's variant fields.
Every run logs which rows were processed, so re-runs never double-draft the same idea.
Requirements
- A Notion content calendar database with a status field (e.g.
Idea,Ready,Posted) and a text field for the brief/idea. - Notion API integration token with access to the database (see
installation-prompt.md). - Works on OpenClaw (scheduled trigger + Notion plugin) for the recurring watch behavior.
Setup
- Unzip the package into your workspace, keeping the folder structure intact.
- Create a Notion integration, share your content database with it, and put the token in your
.env. - Edit
config/notion-schema.mdto map your actual property names (status field, brief field, variant fields) to what the skills expect. - Run the starter prompt in
starter-prompts.mdagainst one "Ready" row to confirm the mapping is correct. - Schedule
automation-prompt.mdto poll every 15-30 minutes.
What's included
Skills/notion-status-watcher/SKILL.mdandSkills/caption-variant-writer/SKILL.mdconfig/notion-schema.md— property name mapping for your databaseconfig/processed-log.md— append-only log of rows already handledinstallation-prompt.md— Notion integration setup walkthroughautomation-prompt.md— recurring polling schedule instructionsstarter-prompts.md— example prompt for a single-row testassets/— pipeline diagram