Agent skill

Openpost CLI

by getopenpost in getopenpost/openpost

Operate a running OpenPost instance through the openpost CLI.

AGPL-3.0Auto-check passedProductivity & Automation

Install Openpost CLI

skills CLI
$ npx skills add getopenpost/openpost --skill openpost-cli -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install getopenpost/openpost openpost-cli --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/getopenpost/openpost.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/openpost-cli .claude/skills/openpost-cli && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
openpost-cli
GitHub stars
653
Token cost
~1.3k tokens
SKILL.md length
603 words
Files
3 (incl. references)
Skills in repo
7
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Operate a running OpenPost instance through the openpost CLI.

  • Works in 5 steps: Confirm the CLI exists → Inspect context before a… → Pass --profile, --instance, or… → …
  • Authentication and profile setup
  • SKILL.md covers Start safely, Choose the authoring path, Apply mutations deliberately and Verify the outcome, plus 1 more section
  • Reaches openpo.st; needs OPENPOST_TOKEN

What it does

Openpost CLI is an agent skill from getopenpost/openpost. Operate a running OpenPost instance through the openpost CLI. Use for authentication and profile setup; workspace, account, provider, media, schedule, job, and billing inspection; creating or editing text posts, threads, and format-first publications; scheduling or publishing content; checking lifecycle events; recovering failed destinations; and comment replies or moderation. Prefer this skill when terminal or scripted OpenPost work is requested. It is not needed when an OpenPost MCP connector is already being…

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `agents/openai.yaml` and `references/workflows.md`).

It sits in Productivity & Automation, covering Copy editing and proofreading and App automation through connectors. The repository describes itself as: Create, adapt, schedule, and track social posts. Open-source, hosted or self-hosted. The licence is AGPL-3.0.

When your agent uses it

  • Authentication and profile setup
  • Billing inspection
  • Editing text posts
  • Format-first publications

Example prompts

  • “/openpost-cli”

Requirements

  • A credential in OPENPOST_TOKEN

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Confirm the CLI exists
  2. Inspect context before a workspace-scoped action
  3. Pass --profile, --instance, or --workspace when the saved context is absent or ambiguous. Prefer the stored keyring token or…
  4. Use --json for reads and automation. Parse IDs and status from JSON instead of scraping tables.
  5. When syntax may have changed, run openpost help or openpost --help. Treat live help as the command source of truth.

What it can do on your machine

Read from SKILL.md and the folder at commit ed8ad44. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • openpo.st

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENPOST_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Openpost CLI loads about 1.3k tokens when it runs, and up to ~3.7k if it reads all its reference files. Until then it costs about 134 tokens; SKILL.md has 603 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~134
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from getopenpost/openpost at commit ed8ad44, republished under its AGPL-3.0 licence (© getopenpost). 603 words, ~1,322 tokens.

Download SKILL.mdSave it as .claude/skills/openpost-cli/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
openpost-cli
description
Operate a running OpenPost instance through the openpost CLI. Use for authentication and profile setup; workspace, account, provider, media, schedule, job, and billing inspection; creating or editing text posts, threads, and format-first publications; scheduling or publishing content; checking lifecycle events; recovering failed destinations; and comment replies or moderation. Prefer this skill when terminal or scripted OpenPost work is requested. It is not needed when an OpenPost MCP connector is already being used.

OpenPost CLI

Use the openpost executable as an external client of a running OpenPost instance. Keep the instance, workspace, destination accounts, content, and publish time explicit.

Start safely

  1. Confirm the CLI exists:

    sh
    command -v openpost
    openpost version

    If it is missing, stop and point to https://openpo.st/docs/automate/cli. Do not install software unless the user asked.

  2. Inspect context before a workspace-scoped action:

    sh
    openpost instance diagnostics --json
    openpost auth status --json
    openpost workspace list --json
  3. Pass --profile, --instance, or --workspace when the saved context is absent or ambiguous. Prefer the stored keyring token or OPENPOST_TOKEN; do not put a token in command output, logs, files, or chat.

  4. Use --json for reads and automation. Parse IDs and status from JSON instead of scraping tables.

  5. When syntax may have changed, run openpost help or openpost <group> <command> --help. Treat live help as the command source of truth.

Choose the authoring path

  • Use openpost post for the text-and-thread composer: short text, text with media, and editable drafts.
  • Use openpost thread create when the source is a Markdown file containing two or more ----separated posts.
  • Use openpost publication for format-first content: link shares, image posts, carousels, stories, short video, long video, and provider-specific output fields.
  • Inspect openpost provider readiness --json before a new provider workflow. Inspect openpost provider capabilities --provider <key> --json before choosing a publication profile or provider setting.

Read references/workflows.md for exact command patterns and format selection.

Apply mutations deliberately

  • Default to creating a draft when the user did not ask to schedule or publish.
  • Treat scheduling, publishing, retrying a rendition, replying, hiding or deleting a comment, disconnecting an account, generating schedule slots, and deletion as state-changing actions. Perform them only when the request authorizes that effect.
  • Before a publish or schedule action, resolve the exact instance, workspace, destination accounts, content, media, and RFC3339 time or named next slot.
  • Use account slugs as human-friendly --accounts selectors. Use exact account IDs for rendition retry, rendition deletion, and account disconnect; account rename accepts a flexible selector (ID, slug, platform:username, bare platform, or Fediverse host) plus --slug.
  • Add alt text during upload or with openpost media update.
  • Run openpost publication validate <id> --json before publishing a format-first publication.
  • Pass --yes only when the user already authorized the command's confirmation. Interactive confirmations guard post delete, media delete, schedule delete, schedule suggest, and account disconnect. Pass --confirm only for the exact item the user asked to delete: publication delete, publication delete-rendition, and publication delete-comment each require it.
  • Never add --force automatically after a revision conflict. Only publication update has --force; post update has no such flag because it re-reads the current revision before writing. Reload with post view or publication view, show the conflict, and retry only after reconciling the saved version with the requested edits.
Show full SKILL.md (159 more words)Show less

Verify the outcome

After a mutation, inspect the returned ID and current server state:

sh
openpost post view <post-id> --json
openpost publication view <publication-id> --json
openpost publication events <publication-id> --json
openpost jobs list --json

Do not describe scheduled as published. For queued work, report the object ID, job ID when present, schedule time, and current status. For partial or failed publication, inspect rendition failure fields and lifecycle events before retrying.

Handle common failures

  • 401 or auth required: run openpost auth status --json; do not expose or regenerate credentials without user direction.
  • Workspace not found or ambiguous: run openpost workspace list --json, then pass an exact ID with --workspace.
  • Account selector ambiguous: run openpost account list --json, then use a unique slug or ID.
  • Provider validation failure: inspect readiness, capabilities, media metadata, and publication validation output; fix the stated blocker.
  • Revision conflict: reload with post view or publication view; do not replay stale data.
  • Media deletion blocked: run openpost media usage <media-id> --json and report the references.
  • No next slot: inspect openpost schedule list --json; do not invent a time.

© getopenpost, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .agents/skills/openpost-cli of getopenpost/openpost.

  • SKILL.md
  • agents/openai.yaml
  • references/workflows.md

Open the folder on GitHubat commit ed8ad44

Compare with similar skills

Openpost CLI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Openpost CLI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Openpost CLI this skillgetopenpost/openpost653—~1.3kAutomated safety check: PassAGPL-3.0
WeChat Article Compliance Revieweraiworkskills/wechat-article-skills665—~1.5kAutomated safety check: PassApache-2.0
Openloomi Connectorsmelandlabs/openloomi1k—~3.3kAutomated safety check: PassApache-2.0
MoviePilot API Gatewayjxxghp/MoviePilot12k—~5.1kAutomated safety check: PassGPL-3.0
Octo MarketplaceMininglamp-OSS/octo-cli918—~1.6kAutomated safety check: PassApache-2.0
Setting Up RelayfileAgentWorkforce/relay865—~3.3kAutomated safety check: PassApache-2.0

Similar skills

  • WeChat Article Compliance Reviewer

    aiworkskills/wechat-article-skills

    Local, offline pre-publish review for a WeChat official account article: sensitive words, typos and platform compliance, producing an actionable fix list.

    665 GitHub stars~1.5k tokensUpdated 14 days ago
    Productivity & AutomationAuto-check passed
  • Openloomi Connectors

    melandlabs/openloomi

    openloomi Connectors tools - manage the native 7 messaging integrations and pair with the composio skill for the 1000+ apps OAuth layer (Slack, Discord, X, Gmail, Outlook, Google…

    1k GitHub stars~3.3k tokensUpdated 13 days ago
    Productivity & AutomationAuto-check passed
  • MoviePilot API Gateway

    jxxghp/MoviePilot

    Operates MoviePilot media, download, subscription and system functions through a structured moviepilot_api gateway that handles authentication and authorization on the host.

    12k GitHub stars~5.1k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Octo Marketplace

    Mininglamp-OSS/octo-cli

    Search, install, publish, review, and update Marketplace plugins — Skills, MCP connectors, and Experts/Squads (专家/专家团) — through the unified plugin API.

    918 GitHub stars~1.6k tokensUpdated 9 days ago
    Productivity & AutomationAuto-check passed
  • Setting Up Relayfile

    AgentWorkforce/relay

    A skill your agent uses when an agent or human needs to set up relayfile end-to-end so agents can read and write provider files through a local mount.

    865 GitHub stars~3.3k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Cal Com Automation

    davepoon/buildwithclaude

    Automate Cal.com tasks via Rube MCP (Composio): manage bookings, check availability, configure webhooks, and handle teams.

    3.6k GitHub starsUsed in 7 repos~1.9k tokens
    Productivity & AutomationAuto-check passed

More from getopenpost/openpost

  • Cuelume

    getopenpost/openpost

    Add or audit OpenPost interaction sounds with Cuelume. An agent skill from getopenpost/openpost.

    653 GitHub stars~620 tokensUpdated yesterday
    Auto-check passed
  • Huma

    getopenpost/openpost

    Huma - Go REST/RPC API Framework. An agent skill from getopenpost/openpost.

    653 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Openapi Typescript

    getopenpost/openpost

    Type-safe OpenAPI consumption in TypeScript using openapi-typescript and openapi-fetch.

    653 GitHub stars~887 tokensUpdated yesterday
    Auto-check passed
  • Openpost SEO

    getopenpost/openpost

    Audit OpenPost marketing and documentation SEO with the pinned claude-seo toolkit.

    653 GitHub stars~766 tokensUpdated yesterday
    Auto-check passed
  • Agent Workflow

    getopenpost/openpost

    Coordinate substantial OpenPost features, refactors, or multi-ticket work.

    653 GitHub stars~811 tokensUpdated yesterday
    Auto-check passed
  • UX Consistency

    getopenpost/openpost

    OpenPost acceptance bar for frontend UI and copy changes. An agent skill from getopenpost/openpost.

    653 GitHub stars~680 tokensUpdated yesterday
    Auto-check passed

Questions about Openpost CLI

What does Openpost CLI do?

Operate a running OpenPost instance through the openpost CLI. Openpost CLI is an agent skill from getopenpost/openpost. Operate a running OpenPost instance through the openpost CLI.

When should I use Openpost CLI?

Openpost CLI fits situations like: authentication and profile setup; billing inspection; editing text posts; format-first publications.

How do I install Openpost CLI in Claude Code?

Run `npx skills add getopenpost/openpost --skill openpost-cli -a claude-code`. Or copy the skill folder (.agents/skills/openpost-cli in getopenpost/openpost) into .claude/skills/openpost-cli in your project. Claude Code loads it when a task matches its description.

How do I install Openpost CLI in Codex?

Run `npx skills add getopenpost/openpost --skill openpost-cli -a codex`. Or copy the skill folder (.agents/skills/openpost-cli in getopenpost/openpost) into .agents/skills/openpost-cli in your project. Codex loads it when a task matches its description.

Can I use Openpost CLI in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add getopenpost/openpost --skill openpost-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openpost-cli, .gemini/skills/openpost-cli, .github/skills/openpost-cli and .opencode/skills/openpost-cli in your project.

What does Openpost CLI need to run?

Going by SKILL.md and its folder, Openpost CLI needs credentials named OPENPOST_TOKEN. Our summary lists: A credential in OPENPOST_TOKEN.

Does Openpost CLI access the network?

SKILL.md names 1 domain. In commands or code: openpo.st; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Openpost CLI safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Openpost CLI use?

Openpost CLI is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Openpost CLI use?

About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.3k tokens, read only when the agent opens those files.

What are the alternatives to Openpost CLI?

Skills that share tags, products or a category with Openpost CLI: WeChat Article Compliance Reviewer (aiworkskills/wechat-article-skills, 665 stars), Openloomi Connectors (melandlabs/openloomi, 1k stars), MoviePilot API Gateway (jxxghp/MoviePilot, 12k stars) and Octo Marketplace (Mininglamp-OSS/octo-cli, 918 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Openpost CLI?

getopenpost (a GitHub organization) maintains it in getopenpost/openpost, which has 653 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 6, 2026.

Source: getopenpost/openpost on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.