The difference one file makes
An agent without her skill guesses. It invents a flag that looks plausible and passes a local file path where a URL belongs, and you spend the next ten minutes reading error JSON with it. An agent that has read her skill starts withintegrations:list to learn your real channel IDs. It checks what each channel accepts before writing a word, runs your image through postqueen upload because raw paths get rejected, then schedules with a proper ISO 8601 date. Same model, same prompt, completely different first attempt.
Installing it is one command. This page covers both ways to run that command, and the API key that makes either one work.
What the skill actually is
A singleSKILL.md file from the postqueen-agent repository. It registers under the name postqueen and declares Bash(postqueen:*) as the only tool it needs, so it asks for nothing beyond permission to run her CLI.
Inside, it is a playbook rather than a manual page:
- Two hard rules up top. Authenticate before anything, and put every media file through
postqueen uploadfirst. Raw filesystem paths and external URLs are rejected by the publishing pipeline, and most providers only accept a PostQueen-verified URL. - A seven-step core workflow. It runs from authenticate through discover and post to analyze, ending with the fix for a missing release ID when analytics comes back
{"missing": true}. - Worked patterns. Fetching Reddit flairs and Pinterest boards, building a thread, scheduling a week in a loop.
- A gotchas list. ISO 8601 dates are required, JSON goes in single quotes, character limits come from
integrations:settings.
Two routes in
Both land the same skill. Pick by which agent you are teaching.
If you are not sure, take the registry route. It is one line, it works from Codex to Cursor to Hermes, and nothing stops you adding the plugin later on the machines where you use Claude Code.
Route 1: the skills registry
1
Install the skill
skills CLI writes into ~/.agents/skills, where agents that support the registry look for it. Most pick it up on their next start.2
Install the CLI
The skill tells your agent to install the CLI if it is missing, and it is one command either way:Or with pnpm:
Hermes loads skills from
~/.hermes/skills/ plus any directory listed under skills.external_dirs, so it needs one line of config pointing at ~/.agents/skills. That step is written out on the Hermes page.Route 2: the Claude Code plugin
The repository ships a plugin manifest at.claude-plugin/plugin.json and a marketplace catalog at .claude-plugin/marketplace.json. That makes the repo itself a Claude Code marketplace with exactly one plugin in it, named postqueen.
Why bother, when route 1 is shorter? Because the plugin carries a version, so you pick up updates deliberately rather than by accident. It installs at a scope you choose, including project scope, which writes into .claude/settings.json so everyone working in that repository gets the same skill. And it shows up in /plugin alongside everything else you have installed, ready to disable or remove in one place.
1
Add the marketplace
Inside Claude Code:This registers the catalog. Nothing is installed yet.
2
Install the plugin
plugin-name@marketplace-name: postqueen from the plugin entry, postqueen-agent from the marketplace. Claude Code then asks for a scope:To skip the interactive step, for example in a setup script, use the shell form instead. It installs to user scope unless you pass
--scope:3
Activate it
4
Install the CLI
/plugin list shows what you have, /plugin marketplace update postqueen-agent refreshes the catalog, and /plugin uninstall postqueen@postqueen-agent removes it.
Her API key
The skill teaches your agent what to run. The key is what lets it run anything at all.1
Reveal your key
Open app.postqueen.ai, go to Settings > Developers > Public API, and click Reveal. Self-hosting? The same screen lives in your own instance.
2
Export it
~/.zshrc or ~/.bashrc, so it survives a new terminal. If an always-on agent will be using it, export it in the environment that process starts in rather than the one you happen to be typing in.3
Point at your own instance, if you have one
Self-hosted PostQueen needs one more variable: your backend URL, the same value as
NEXT_PUBLIC_BACKEND_URL. The CLI appends /public/v1/... to whatever you set, and most single-domain setups serve the backend under /api:postqueen auth:login runs an OAuth2 device flow that needs an auth server to mediate it, and PostQueen does not currently host one. On the hosted service the API key is the route to take. Running your own auth server is written out in full on the Authentication page.Verify it works
One command tells you the skill, the CLI and the key are all in place:id your agent will pass to -i, next to the account name and the platform it belongs to:
When it does not work
More on this in CLI troubleshooting.
๐ First post from the skill
Now ask your agent in plain words:โSchedule a post about our new espresso tonic for tomorrow at 9am on Instagram and X.โIt runs the loop the skill taught it: find the channels, check what each one accepts, then upload the image before scheduling.
-t draft and the post is created in the draft state, which sits on the calendar without being queued. Nothing publishes until you turn it into a scheduled post:
Learn more
CLI introduction
Everything your agent runs on your behalf, with flags and JSON output.
Command reference
Every command and every flag, in one page.
Why agents love her
Why an agent can drive her without guesswork, and the two rules that matter most.
Agents overview
Every way to put an agent in front of PostQueen, from coding assistants to chat apps.