Browse docs
Sprid docs

CLI reference

Find the command for what you want to do.

Start here

Run in your terminal
npm install -g @sprid/cli
sprid login
sprid connect
sprid status
Your marketing plan
  • sprid plan execute-prepare --file <operation.json> --app <slug>Prepare exact profile, measurement, search/store or offer changes with completion evidence and an explicit manual path. Never applies a public change.
  • sprid plan [get] --app <slug> [--offline]Read the shared recommendation, prepared artifacts and unfinished actions. --offline reads the saved local projection without sign-in.
  • sprid plan discover|propose|prepare|guidance --file <input.json> --app <slug>Discover existing work, prepare a proposal or resolve accepted writing guidance. These operations do not publish or approve public changes.
  • sprid plan accept|continue|verify|defer --id <id> --file <input.json> --app <slug>Continue the same revision-aware action across surfaces. Verification requires the action-specific evidence; acceptance is not publication consent.
  • sprid plan export|import --app <slug> [--file <bundle.json>]Explicitly export or import a portable plan and documents. Import requires a file and expected revisions; conflicts preserve both versions.
  • sprid plan research --file <input.json> --app <slug>Start explicitly authorized bounded hosted discovery. Read the cost ceiling first; this returns a resumable job.
  • sprid plan capabilities --app <slug>Read availability and the cost ceiling without starting research or requiring a social account.
  • sprid plan job-cancel --id <job-id> --app <slug>Cancel future provider work, retaining partial evidence and unresolved possible spend.
  • sprid plan screenshot-capabilities --app <slug>Read hosted screenshot availability and its public-asset disclosure. Existing local screenshots commands remain unchanged.
  • sprid plan screenshot-uploads|screenshot-compose --file <input.json> --app <slug>Prepare upload URLs or compose an explicitly approved declarative screenshot set. Reuse the request UUID after interruption; no listing is published.
  • sprid plan job|review --id <id> --app <slug>Read a saved research job or weekly review without starting paid work.
  • sprid plan link-local --id <action-id> --app <slug>Link the existing setup task to an existing shared action. Retains its local task ID and original artifact; does not upload or approve it.
  • sprid plan prepare-local --file <action.json> --app <slug>Explicitly import the existing setup text artifact once. Its body must match the original file exactly; the existing task ID makes retries idempotent.
  • sprid plan review-prepare|review-update --file <input.json> [--id <id>] --app <slug>Prepare or continue a review. Completion requires a saved conclusion and chosen continuation.
  • sprid research list|get --app <slug> [--id <id>] [--revision N] [--search text]Read scoped document summaries or an immutable revision.
  • sprid research save|import --file <document.json> --app <slug>Save an explicitly selected Markdown document with sources and baseRevision. Editing research does not accept its proposed strategy.
  • sprid research archive --id <id> --file <input.json> --app <slug>Archive a document at its expected revision. Prior referenced revisions remain available to authorized readers.
  • sprid research export --app <slug> [--directory <new-directory>]Export pinned Markdown revisions with source metadata and a documents manifest. Defaults to .sprid/research; refuses to overwrite existing work. Keep private research out of Git.
Shared posts and media
  • sprid capabilities [--json]Discover connected workflows, host fallbacks and local-only capabilities.
  • sprid media upload <file...> --account <slug> [--request-id UUID]Upload ordered originals, returning stable asset IDs. Reuse the request ID and file order when retrying.
  • sprid media import --file <sources.json>Import public HTTPS files or existing assets through the shared contract.
  • sprid media reel --file <recipe.json>Create a metered hosted photos/text reel after explicit user authorization. Returns a durable job ID.
  • sprid media job <UUID>Read saved upload results or creation progress without repeating the operation.
  • sprid media init|build|register|check|push|preview …Run the existing local media pipeline. Historical sprid post invocations remain supported.
  • sprid post create --file <draft.json>Create a shared draft from ordered asset references and a stable requestId. Never publishes.
  • sprid post get <postId>Read the shared post and its slides. Every <postId> here takes the number or the post's ref, such as BND-142.
  • sprid post update <postId> --file <changes.json>Apply the existing post-update contract to a shared draft.
  • sprid post preview --id <postId>Preview a shared post. Without --id, historical local preview arguments are unchanged.
  • sprid post deliveries <postId>Read scheduled, failed and delivered publications with platform receipts.
  • sprid post handoff <postId>Print the prompt to paste into an agent: what the post currently is, which verbs to call, and an empty line for the ask. Same string the editor's "Hand off to agent" button copies.
Installation and updates
  • sprid doctor [--json] [--offline] [--apply-updates]Check the running CLI against the npm latest release. --apply-updates is a between-jobs boundary and installs compatible updates only after explicit opt-in.
  • sprid update [--check] [--yes]Update the running installation and verify its new version. --check only reports; potentially breaking releases require --yes. Project installs use their own package manager and lockfile.
  • sprid update --auto on|offOpt this installation into or out of compatible updates at job boundaries. Default off. Agents must have user approval before enabling.
Store assets and releases
  • sprid screenshots --config aso.config.ts [--lang en] [--review]Compose localized store screenshots from your captures. Runs locally; requires Bun. Use --help for device and slot options.
  • sprid release metadata|screenshots|graphics [--config release.config.ts] [--execute]Preview store listing changes locally; --execute sends the reviewed changes. Requires Bun.
  • sprid release ship [--execute] [--ios-only|--android-only]Build and submit your app using its release configuration. Dry run by default; use --help for all options.
Apps and market editions
  • sprid account create|update [id] --file payload.jsonCreate an app content account or update its identity. Creation requires workspaceId, appProfileId, name and slug; market, locale, persona and timezone are explicit.
  • sprid account avatar <account> [file|url]Set the avatar Sprid’s mails and templates draw. No source uses the app’s icon: App Store artwork, else the website’s manifest or touch icon. A file must be PNG, JPEG or WebP; a 1024 px app icon from the repo is the best source.
  • sprid appsList apps with their content accounts and workspace IDs.
  • sprid insights --app <slug> [--account <slug>] [--days N]Read app results once, with social content optionally narrowed to one account.
  • sprid family compare --app <slug> [--days N]Compare themes at matched post age with sample counts and channel baselines.
  • sprid family list --app <slug>List content families, themes and market editions.
  • sprid family create --file payload.jsonCreate a family: sourcePostId, title, theme and sourceReference.
  • sprid family edition <familyId> --file payload.jsonCopy an independent draft: accountId, locale and market. Translate it in the editor or through the API.
  • sprid family localize <postId> --file payload.jsonSave translated captions and slide text or reel beats atomically, clearing old approval.
  • sprid family get|preview <postId>Read the edition or render its current content for review.
  • sprid family review <postId> --file payload.jsonApprove a rendered revision with fingerprint, sourceReference and confirmed: true.
  • sprid family plan|schedule <familyId> --file payload.jsonPlan exact postId/channelId/scheduledFor destinations. Scheduling also requires the returned planFingerprint.
Sign in
  • sprid setup begin --file <artifact> --task publish|review|repo [--source <source>] [--entry website|installed-skill|browser|paid]Save the first useful result locally before signup. Repeating begin preserves the same task and retry key.
  • sprid setup continue [--yes] [--account <slug>] [--payload <draft.json>] [--platform <platform>]Resume the saved app and task across browser approvals. --yes confirms inferred app identity. A text draft payload contains title, captionInstagram, aspectRatio and slides: [{text, subtitle, role}]. Repeated preparation returns the same post. Review and approve it in the post editor.
  • sprid setup statusRead local progress and the original artifact. Continue rechecks server identity and each publishing destination’s status.
  • sprid setup results [--account <slug>]Count prepared drafts, accepted publishing approvals and confirmed deliveries separately, with per-destination receipts. An accepted API instruction does not attest a human click.
  • sprid setup verify --source <source> --operation <operation> [--params-file <params.json>]Verify the selected review source with a live app-scoped read and save its evidence. Discover operations with marketing-review capabilities.
  • sprid login [--api URL] [--no-browser]Sign in through your browser.
  • sprid whoamiShow your user, workspace and API address.
  • sprid use [<workspace>]Choose a workspace. Leave the name out to list your workspaces.
  • sprid logoutSign out and remove the saved login.
Connect your app
  • sprid initCreate an App Profile from .sprid/app.json in your repo.
  • sprid connectShow missing connections and the commands to add them.
  • sprid connect <service> --app <slug> --key <file> …Save a store or analytics key. Read sprid docs <service> for the required fields.
  • sprid connect <platform> --account <slug>Connect a publishing account through the platform’s sign-in page.
  • sprid pinterest boards --account <slug> [--channel <id>] [--bookmark <token>]List boards and sections for the exact connected Pinterest channel; a returned bookmark reads the next page.
  • sprid pinterest create --account <slug> --name <name> [--description <text>] [--privacy public|secret]Create a board in the exact connected Pinterest account. Older connections must reconnect once to grant board creation permission.
  • sprid pinterest set <postId> --board <id> --link <url> [--section <id>] [--title "…"] [--description "…"] [--alt-text "…"] [--ai-disclosures AI_MODIFIED,SYNTHETIC_PERFORMER]Save the reviewed Pin destination and searchable metadata on a draft.
  • sprid pinterest metrics <publishId> --account <slug> [--days 30] [--refresh]Read the selected Pin’s bounded Pinterest metrics window.
  • sprid connect --from-local [--app <slug>]Import credentials from your existing local Sprid configuration.
  • sprid connect <service> --clear [--app <slug>]Remove a saved service key.
  • sprid disconnect <platform> --account <slug> [--forget]Disconnect a channel. --forget also removes it from your account if it has no publishing history.
  • sprid docs search <words...> [--limit N] [--json]Search bundled guides and command syntax offline. Results include an excerpt and the command to read more.
  • sprid docs [<guide>|cli|queries|metrics] [--offline]Read current guides with a labeled offline fallback. The CLI reference always describes your installed version. --offline skips the network.
Read your results
  • sprid statusShow what needs you, your connections and the publishing queue.
  • sprid next [--limit N]List the next actions and how to complete them.
  • sprid marketing-review [--app <slug>] [--days N|--since YYYY-MM-DD] [--end YYYY-MM-DD] [--check]Read connected analytics and a versioned metric dataset for two equal periods. End is exclusive. Validated results retain blocked reasons; complete packets are saved immutably under marketing-reports/evidence. --check reads setup only.
  • sprid marketing-review --view summary|full [--sources gsc,posthog] [--refresh|--cached-only]Summary is a compact entry point; full retains evidence. Exact-window snapshots name freshness. Refresh forces provider reads; cached-only makes none. Daily collection refreshes connected sources automatically for active plans.
  • sprid marketing-review evidence --app <slug> --id <evidence.id>Read the exact app-scoped source snapshot without provider calls, including after key rotation. Saved privately for 90 days; this command also archives the receipt locally.
  • sprid marketing-review context --app <slug> [--file <context.json>]Read shared review memory, or save {baseRevision,context}. Context holds definitions, investigations, decisions, corrections and release references. Concurrent changes return a conflict without overwriting. Explicitly select context to share; never upload keys or raw customer records.
  • sprid marketing-review collection --app <slug> --enabled true|falseEnable or pause daily connected-source collection. Stored evidence remains readable; this grants no publishing or model-spending permission.
  • sprid marketing-review capabilities --app <slug> [--source <source>]Discover read operations, parameter schemas, examples and missing setup for every connected source. Configuration is not a live credential check.
  • sprid marketing-review query --app <slug> --source <source> --operation <operation> [--params-file <params.json>]Run a discovered read through Sprid-held credentials. Parameters are a JSON object; resource IDs come from the App Profile. Continue with returned next.params and keep coverage/truncation in your report.
  • sprid marketing-review query --app <slug> --query-file <query.sql>Run a read-only PostHog query through the app’s stored connection.
  • sprid queueShow what is scheduled and what failed.
  • sprid queue retry <publishId>Retry a failed or missed publish.
  • sprid reviews [--app <slug>] [--unanswered] [--max-rating N] [--limit N]Read store reviews.
  • sprid reviews draft <id>Draft a reply using the workspace’s model key. Nothing is sent.
  • sprid reviews reply <id> [--text "…"] [--yes]Review and send a public reply. --yes skips the confirmation.
Build your own media
  • sprid post init [--kind text|composed|stills|own]Choose how this repo builds posts.
  • sprid post new <slug> [--lane <name>]Create a post specification.
  • sprid post build [slug] [--lane <name>]Run your media builder.
  • sprid post register [slug] [--lane <name>] [--built-with <command>] [--platforms <list>]Record the files your builder produced.
  • sprid post check [slug] [--deep] [--platforms <list>]Check the media. --deep also checks it against connected platforms.
  • sprid post preview [--serve [port]] [--open] [--lane <name>] [--copy] [--verify]Preview your posts as a grid or feed.
  • sprid post push [slug] [--force]Upload finished media to Sprid.
  • sprid post draft [slug] [--force]Create a Sprid draft with media and caption.
  • sprid post sync [slug] [--execute] [--adopt] [--lane <name>]Update existing posts with rebuilt media, keeping their schedule.
  • sprid post pull [slug]Read Sprid’s schedule and status into your local registry.
  • sprid post statusShow local and remote post status together.
  • sprid post doctorCheck which API and publishing channels this repo can reach.
Workspace and agents
  • sprid open [post <id>|draft|calendar|connections|accounts|billing|spend|app]Open the relevant Sprid screen.
  • sprid invite <email> [--role editor|admin] [--account <slug>]Invite a collaborator.
  • sprid upgrade [pulse|push|founding]Open checkout for a plan.
  • sprid mcp [--surface core|all]Connect an MCP client through the CLI’s saved login.
  • sprid help [<command> [<subcommand>]|environment|exit-codes] [--json]Read focused help without authentication. JSON includes the installed command catalog.
  • sprid completion bash|zsh|fishPrint a shell completion script. Source it in your shell; Sprid never edits shell configuration.
Useful options
  • Use sprid help <command> or sprid <command> --help for focused help; sprid docs cli prints the complete installed reference.
  • Use sprid docs search <words> to find commands and guides offline.
  • Add --json when passing results to a script. Errors include ok: false and error; usage errors exit 2, runtime failures exit 1. Local tools may propagate their own nonzero codes.
  • Enable completion in the current shell: source <(sprid completion bash), source <(sprid completion zsh), or sprid completion fish | source. Zsh requires compinit first.
  • Use -w/--workspace <slug|id> for one command, or sprid use to remember your choice.
  • sprid login stores its token in ~/.sprid/credentials.json. SPRID_PAT overrides it.
  • SPRID_URL overrides the API address. SPRID_APP_URL overrides the web app address.

Connect a service

Read setup steps, required permissions and a live check:

Run in your terminal
sprid docs posthog

Browse connection guides · Connect your agent

Need a hand?
Colour theme
Back to Sprid ↗