setup3.01 KB
View saved version →
---
name: setup
description: Set up SimplePost by connecting at least one social platform, configuring timezone preferences, and saving the first draft without publishing.
---
# Set up SimplePost
Open `open_simplepost_workspace` and inspect its connected accounts and preferences.
If no social platform is connected, explain that connecting the assistant does not connect a publishing destination. Use the platform the user already named; otherwise ask which platform they want to connect. Show that platform's URL from the workspace's `connectionLinks` as a clickable “Connect X” (or the chosen platform) link, copied unchanged. These links expire after one hour; refresh the workspace or `list_accounts` for a new link when needed. Never construct a connection URL yourself.
For OAuth platforms, the link goes straight to provider authorization if the user is already signed into SimplePost; otherwise they sign into SimplePost first and continue automatically. They must use the same SimplePost account connected to this assistant. Manual platforms open their setup form in SimplePost. Never ask for social passwords, API keys, or tokens in chat.
Ask the user to approve access in the browser, then return to this conversation and say “connected”. Do not promise automatic return or claim the connection succeeded before checking. Refresh the workspace or call `list_accounts` after they return, verify the requested platform appears with usable credentials, and continue with their first draft. If it is still missing, explain that the connection did not finish and offer a fresh link. Do not call posting tools before a destination is connected.
When a returning user asks to add another destination, use the same `connectionLinks` flow without repeating the rest of setup. If platform links are unavailable, use the workspace's `accountsUrl` or `list_accounts`'s `connectAccountsUrl` as the generic account-picker fallback.
If accounts already exist, preserve them and offer to continue with existing drafts. Do not force returning users through setup again.
Keep an existing timezone preference. On first use, the workspace automatically saves the browser’s IANA timezone; do not ask users to confirm it. Ask only if their timezone cannot be inferred or they request a change. Save requested changes and optional default destinations with `update_simplepost_settings`; timezone changes do not move existing scheduled posts.
Open `open_post_editor`. Help the user write and preview one draft for their connected destinations. Use the editor's current session and revision when proposing changes. The user can apply the proposal and save the draft in the editor.
Setup is complete when at least one destination is connected, the timezone is configured, and a draft is saved. Do not publish, schedule, discard, or retry a post as part of setup unless the user explicitly asks.
If extension tools are unavailable, use `list_accounts`, the SimplePost accounts web handoff, and the existing draft/preview tools. Never invent IDs, file references, or access tokens.
simplepost6.16 KB
View saved version →
---
name: simplepost
description: Publish, schedule, draft, preview, inspect, or manage social posts with SimplePost, or integrate SimplePost through MCP, CLI, HTTP, or TypeScript. Use when users want to schedule or publish social content, save a social draft, preview connected-account posts, or manage their publishing calendar, even without naming SimplePost. Do not use for generic copywriting, SEO research, engagement analytics, or private messages.
license: MIT
metadata:
hermes:
tags: [social-media, publishing, scheduling, mcp]
category: social-media
---
# SimplePost
Use SimplePost to turn an explicit posting request into a reliable result across connected social accounts. Preserve the user's content and intent, choose the interface that fits the environment, and report the exact post and per-account outcome.
## Choose the interface
- Use **MCP** for an AI assistant acting on accounts connected at `app.simplepost.social`. This is the preferred route for publishing, drafts, scheduling, previews, and queue management. Read [references/mcp.md](references/mcp.md).
- Use the **CLI** for immediate posting from a terminal, local coding agent, script, or CI job. Read [references/cli.md](references/cli.md).
- Use the **HTTP API** when another service or a non-TypeScript application needs to publish. Read [references/http-server.md](references/http-server.md).
- Use the **TypeScript SDK** when adding in-process publishing to a TypeScript application. Read [references/sdk.md](references/sdk.md).
- Use the **Scheduler app** for account connection, browser composition, human previews, hosted scheduling, or self-hosted deployment. Read [references/scheduler.md](references/scheduler.md).
Do not mix payload shapes between interfaces. MCP, the hosted API, and connected CLI accounts target `accountIds`; direct SDK and local CLI publishing use platform options and locally managed credentials.
## Posting workflow
1. Determine the requested action: publish now, schedule, save a draft, preview, inspect, edit, discard, or integrate SimplePost. Preserve supplied copy exactly unless the user asks for writing or adaptation.
2. Resolve real targets before acting. With MCP, call `list_accounts`; with CLI, run `simplepost account`. Never invent account IDs, aliases, board IDs, chat IDs, or post IDs.
3. Resolve missing essentials such as the target account, required media, or scheduled time. A request to publish exact content to named accounts is sufficient authorization to publish; do not insert an extra confirmation step. Preview when the user asks or when essential details remain ambiguous.
4. Prepare media in the interface-supported form. MCP and HTTP require public or SimplePost-managed URLs. The CLI and SDK can accept local files. Preserve media metadata returned by SimplePost.
5. For scheduled posts, convert relative language to a future ISO 8601 datetime with an offset or `Z`. Ask for the user's timezone only when it cannot be inferred safely.
6. Execute once. For MCP `create_post`, always supply a new idempotency key for a new intended post and reuse that same key for any retry. Never retry a write with a new key after a timeout or uncertain result.
7. Inspect the complete result. A successful call can contain per-account or per-thread failures. Report the exact root post, thread segments, timing, targets, warnings, and platform results.
## Boundaries
- For connecting or adding a social destination, use `list_accounts` or the workspace to get its platform-specific `connectionLinks` URL. Copy it unchanged; ask which platform only if unclear. The user authorizes in the browser, then returns to chat. Refresh accounts and verify the requested destination before continuing. Never collect provider passwords, keys, or tokens in chat. Disconnection and reauthorization of existing accounts remain in the SimplePost web app. Do not inspect posts merely to confirm an unsupported account action.
- SimplePost can edit or discard drafts andPreview of the first 4,000 characters. Read full instructions →
Referenced files: 6 — file references are metadata, not package contents.