What this agent does
Manually posting to Instagram every day is the single biggest reason content calendars fall apart — the caption is ready, the image is ready, and it still doesn't go out because nobody was at their desk at 9am. This agent closes that gap: it watches a folder (or a Notion/Sheets queue) of approved posts, and at the scheduled time it posts the image and caption to Instagram automatically, then logs the result.
post-queue-watcher— reads your queue (a local folder ofimage + caption.txtpairs, or a row in a tracked Sheet/Notion database marked "Ready"), and picks the next unposted item in order.instagram-publisher— publishes the image and caption via the Instagram Graph API (Business/Creator account required), then writes the resulting post URL and timestamp back to the queue so nothing gets posted twice.
Every run appends a row to a local posting log — what was posted, when, and the resulting permalink — so you always have an audit trail without opening Instagram.
Requirements
- An Instagram Business or Creator account connected to a Facebook Page (required by Meta for any automated posting — personal accounts cannot use the Graph API).
- A Meta developer app with
instagram_content_publishpermission and a long-lived access token. - Works on OpenClaw (scheduled via the Gateway's cron) and on Zo Computer (scheduled task). Claude AI alone cannot post directly — it needs one of these two runtimes to hold the scheduled trigger and the API token.
Setup
- Unzip the package into your workspace, keeping the folder structure intact.
- Create your Meta app, generate a long-lived Page access token, and put it in
config/instagram-credentials.md(never commit this file — it's gitignored by default). - Point
config/queue-source.mdat your queue: a local folder path, or a Notion/Sheets database ID. - Run the starter prompt in
starter-prompts.mdonce to do a single manual post and confirm the token works end to end. - Schedule
automation-prompt.mdto run on your posting cadence (once or twice daily is typical — Instagram rate-limits aggressive posting frequencies).
What's included
Skills/post-queue-watcher/SKILL.mdandSkills/instagram-publisher/SKILL.md— the two pipeline skillsconfig/instagram-credentials.md— token and Page ID placeholders (gitignored)config/queue-source.md— editable queue locationconfig/posting-log.md— append-only log of every post: timestamp, caption excerpt, permalinkinstallation-prompt.md— paste-in install prompt for OpenClaw and Zo Computerautomation-prompt.md— instructions for scheduling the recurring post-checkstarter-prompts.md— example prompts for a manual one-off post and a dry runassets/— pipeline diagram