bolta-schedule-and-batch
Schedule Bolta posts for a future time and create posts in bulk.
Skill by boltaai
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/boltaai-bolta-schedule-and-batch
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/bolta-schedule-and-batch
What's inside
- Skill name
bolta-schedule-and-batch- Description
- Schedule Bolta posts for a future time and create posts in bulk. Use this skill when the user asks to "schedule this post", "schedule a week of content", "post every day next week", "queue these up", "create 10 posts", "batch create posts", or "make a bunch of drafts at once". Covers both scheduling a single post (new or existing Draft) and firing off a bulk-create job with progress tracking. For a single one-off Draft use bolta-draft-post.
- License
- MIT
- Instructions
- 113 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Bolta — Schedule & Batch
Two related jobs: put a post on the calendar at a specific time, and create many posts in one
bulk operation. Both hinge on **sending the user's wall-clock time as-is** — the server
interprets it in the workspace timezone.
## When to use
- The user wants a post to go out at a future time (scheduling).
- The user wants several posts created at once (batch/bulk).
## Tools this skill uses
| Tool | Why |
|-|-|
| `list-workspaces` | Resolve `workspace_id` if unknown — start here. |
| `list-accounts` | Get account UUIDs for `account_ids` in each post. |
| `create-post` | Create + schedule in one call (`requested_action: schedule` + `scheduled_time`). |
| `schedule-post` | Schedule an **existing** Draft (`post_id` + `time`). Requires admin or owner role. |
| `list-scheduled-posts` | Verify what is actually queued. |
| `bulk-create-posts` | Create many posts at once; returns a `task_id`. |
| `bulk-create-status` | One-shot status check for a bulk job by `task_id`. |
## Prerequisites
- `workspace_id` — resolve once via `list-workspaces`, reuse. Auth is automatic via the Bolta
connector's OAuth grant — never ask for an API key. Default new content to Draft; confirm
before publish/delete.
- Account UUIDs from `list-accounts` for every post.
## Time format — get this right
All scheduling fields (`scheduled_time`, `time`) take the **naive local wall-clock time the
user asked for** — no UTC offset, no trailing `Z`. The server interprets it in the workspace
timezone. Do NOT convert to your own locale or append an offset: any offset-bearing value
without a named zone is rejected.
- User says "9am Tuesday" → send `2026-07-21T09:00:00`. Nothing else.
- User names a zone out loud ("9am Pacific") → send `2026-07-21T09:00:00` **plus** the
separate `timezone` param with the IANA name (`timezone: "America/Los_Angeles"`). That is
the only case where `timezone` belongs in the call.
- Never send `2026-07-21T09:00:00-04:00` or `...T13:00:00Z` — both 400.
## Workflow A — Schedule a post
### 1. Resolve workspace + accounts
`list-workspaces` → `workspace_id`; `list-accounts` → `account_ids`.
### 2. Nail down the time
Take the user's stated time literally as a naive string (see Time format above). Only ask a
clarifying question if the *day or hour* is ambiguous — the zone is the workspace default
unless the user named one.
### 3. Schedule
- **New content:** `create-post` with `requested_action: "schedule"` and `scheduled_time` set to
the naive wall-clock string, plus `content` and `account_ids` (or `social_buckets` with bucket IDs from `list-buckets` to hit a whole account group).
- **Existing Draft:** `schedule-post` with `workspace_id`, `post_id`, and `time` (naive
wall-clock). Add `timezone` only if the user named a zone.
### 4. Verify
Call `list-scheduled-posts(workspace_id)` and confirm the post appears at the expected time.
Report the scheduled time back in the user's terms.
**Safe Mode:** if the workspace has Safe Mode on, scheduling is rerouted — the post lands in
Pending Approval instead of the schedule queue (and `publish-post` is blocked outright; use
`submit-for-review`). A post showing as pending review after a schedule call is that reroute
working, **not a failure** — tell the user it's awaiting approval and where to approve it.
## Workflow B — Batch create
### 1. Resolve workspace + accounts
Same as above; every post object needs its `account_ids`.
### 2. Build the posts array
Assemble `posts` — each item takes the same flat keys as `create-post`: `content`,
`account_ids` (or `social_buckets`), and optionally `media`. To schedule an item, set
**`status: "Scheduled"`** with a `scheduled_time` (required when Scheduled, naive wall-clock);
otherwise omit both and it lands as a Draft. There is **no per-item `requested_action`** —
that param is single-create-only and is silently ignored here, leaving posts as Drafts with
no error. If scheduling a series, space the naive times out; the workspace timezone applies
to all of them.
### 3. Kick off the bulk job
Call `bulk-create-posts(workspace_id, posts)`. It returns a `task_id` — it does not create the
posts synchronously.
### 4. Check status — once
The result card polls the bulk job itself and lists every post when the work lands — do
**not** re-poll `bulk-create-status` in a loop or restate the copy. If you need the outcome
programmatically (e.g. to report failures), call `bulk-create-status(task_id)` once after a
reasonable pause, not repeatedly.
### 5. Summarize
Report per-item results — how many created, any failures, and previews. Offer to fix or retry
any failed items. Safe Mode applies per item exactly as in Workflow A: scheduled items may
land in Pending Approval — report that as a reroute, not a failure.
## Failure handling
- Time rejected for carrying an offset → re-read what the user actually said and resend those
digits naive; do not convert the rejected value.
- `scheduled_time` in the past → reject and ask for a future time.
- Scheduling an existing Draft that isn't found → re-list to get the right `post_id`.
- Bulk job with partial failures → surface exactly which items failed and why; offer to re-run just those.
- Permission error → report the missing role (workspace roles are owner/admin/creator/viewer;
`schedule-post` needs admin or owner).
## Example
User: "Schedule a post for 9am next Tuesday and also batch-create 5 drafts."
1. `list-workspaces` → workspace_id; `list-accounts` → account_ids.
2. `create-post(..., requested_action="schedule", scheduled_time="2026-07-21T09:00:00")` — no
offset, no `timezone` (user named no zone).
3. `list-scheduled-posts(workspace_id)` → confirm it's queued (or rerouted to Pending Approval
under Safe Mode — say so).
4. `bulk-create-posts(workspace_id, posts=[...5 draft objects...])` → `task_id`; the card
tracks completion → "5 Drafts created, 1 scheduled for Tue 9am."From boltaai/bolta-skills, MIT.
More from boltaai/bolta-skills
- 0.557score
bolta-review-queue
boltaai
Work the Bolta review and approval queues.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
reddit-engagement
boltaai
Find Reddit threads this brand can genuinely help with, read them, draft native replies, publish them after approval, and verify the canonical URL.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
social-publishing
boltaai
Write, schedule and publish the brand's own social content — one post or many, one platform or several.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
bolta-setup
boltaai
Get a Bolta workspace from zero to automation-ready, and recover from setup/entitlement errors.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
lucia-test
boltaai
The end-to-end acceptance run: understand the brand, inspect its presence, publish something useful, discover third-party conversations, reply to them, work…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
analytics-review
boltaai
Read what actually happened — reach, engagement, follower movement, which posts worked — and say what to do about it.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
bolta-platform-tailoring
boltaai
Set per-platform options on a Bolta post — polls, flair, titles, privacy, boards.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
cross-platform-engagement
boltaai
Run one outbound engagement pass across Threads, Bluesky, Mastodon, X and LinkedIn — discover conversations where discovery exists, read them, draft native…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
social-inbox
boltaai
Work the inbound side — comments and mentions on the brand's own content across every connected platform — and reply to them.
SkillBFreshness: B★ 2Claude Code +9 - 0.548score
wordpress-blog
boltaai
Research, write, visually art-direct, QA, and publish a genuinely high-quality long-form SEO article to the WordPress account connected through Bolta.
SkillBFreshness: B★ 2Claude Code +9 - 0.512score
brand-voice-generate
boltaai
Synthesize a discovery report into a finished, enforceable Bolta Brand Voice Guideline.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
brand-voice-enforce
boltaai
Transform and produce content in the brand's established voice.
SkillCFreshness: C★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 21, 2026 (3 months ago)
- Last release
- Feb 16, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/boltaai/bolta-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from boltaai
- 0.557score
reddit-engagement
boltaai
Find Reddit threads this brand can genuinely help with, read them, draft native replies, publish them after approval, and verify the canonical URL.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
social-publishing
boltaai
Write, schedule and publish the brand's own social content — one post or many, one platform or several.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
bolta-setup
boltaai
Get a Bolta workspace from zero to automation-ready, and recover from setup/entitlement errors.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
lucia-test
boltaai
The end-to-end acceptance run: understand the brand, inspect its presence, publish something useful, discover third-party conversations, reply to them, work…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
analytics-review
boltaai
Read what actually happened — reach, engagement, follower movement, which posts worked — and say what to do about it.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
bolta-review-queue
boltaai
Work the Bolta review and approval queues.
SkillBFreshness: B★ 2Claude Code +9
Cite this page
bolta-schedule-and-batch skill. Agent Mart. https://agentmart.dev/skills/boltaai-bolta-schedule-and-batch (last updated 2026-10-24)