Skip to content
Agentmart
Submit a tool

publishport

Publish, cross-post and schedule content on social and content platforms — X/Twitter, Reddit, LinkedIn, Medium, Dev.to, Hashnode, Substack, Bluesky, Mastodon…

Skill by karuha-m

IndexedMIT
Write a review

Chalk Labs

Need help deploying publishport?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

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/karuha-m-publishport

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.

We use your email only for this newsletter. Privacy

About

Publish, cross-post and schedule content on social and content platforms — X/Twitter, Reddit, LinkedIn, Medium, Dev.to, Hashnode, Substack, Bluesky, Mastodon, Threads, Telegram, Tumblr, Pinterest, YouTube, TikTok, plus Chinese platforms such as Xiaohongshu (RedNote), Douyin, Bilibili, Zhihu, Weibo and WeChat — through the user's own logged-in browser via PublishPort. Also covers setting PublishPort up for the user, checking which accounts are connected, attaching images or video to a post, and confirming a post actually went live. Use whenever the user asks to post, publish, cross-post, repost or schedule content, asks to set up or connect PublishPort, asks which of their platform accounts are connected, or asks to pull back the link or stats of something they published.

Use cases: writing

No 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/publishport

What's inside

Skill name
publishport
Description
Publish, cross-post and schedule content on social and content platforms — X/Twitter, Reddit, LinkedIn, Medium, Dev.to, Hashnode, Substack, Bluesky, Mastodon, Threads, Telegram, Tumblr, Pinterest, YouTube, TikTok, plus Chinese platforms such as Xiaohongshu (RedNote), Douyin, Bilibili, Zhihu, Weibo and WeChat — through the user's own logged-in browser via PublishPort. Also covers setting PublishPort up for the user, checking which accounts are connected, attaching images or video to a post, and confirming a post actually went live. Use whenever the user asks to post, publish, cross-post, repost or schedule content, asks to set up or connect PublishPort, asks which of their platform accounts are connected, or asks to pull back the link or stats of something they published.
License
MIT
Instructions
161 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Publishing with PublishPort

PublishPort runs publishing commands **on the user's own machine, inside their own logged-in
browser**. No platform API keys, no cloud account impersonation — every action comes from the
user's real session, which is why platforms with no public write API (Xiaohongshu, Douyin,
Zhihu, WeChat…) can be published to at all.

Two rules matter more than everything else below:

- **Never guess a flag.** Ask the CLI for its schema; it is the only accurate source.
- **Never publish twice.** A command that errors may still have posted. Check, then retry.

Throughout this file, `publishport` means the official CLI. Run it as
`npx -y publishport@latest <command>`, or install it once with `npm install -g publishport`.

## 0. Setup

If you were pointed at this file to set PublishPort up, do these steps in order. If
`publishport status` already reports a credential, skip step 2.

1. **Install this skill**, so future sessions know how to publish without being sent here again:

   ```bash
   npx -y skills add https://www.publishport.app/skill.md -g -y
   ```

   It installs into every agent it detects on this machine; add `-a <agent>` (for example
   `-a claude-code`, `-a codex`, `-a cursor`) to install for yourself only. Without Node.js, save
   this file yourself as `publishport/SKILL.md` in your skills folder. In a hosted chat with no
   persistent skills folder, skip this step.

2. **Connect the user's account.**

   ```bash
   publishport login
   ```

   It prints an authorization link and a confirmation code, then exits. Give the user both, and
   ask them to open the link, sign in or create an account, check that the code matches, and
   click **Authorize**. Then run:

   ```bash
   publishport login --wait
   ```

   It returns as soon as they approve and saves the credential to
   `~/.publishport/config.json`. Exit code 3 means they have not approved yet: run it again.
   If you cannot talk to the user while a command runs, end your turn after sharing the link and
   run `--wait` when they reply. Links expire after 10 minutes; `publishport login` makes a new
   one.

   Do not ask the user to paste a token or an access address into the chat. If they already have
   one from the desktop app, `publishport login <address>` saves it directly.

3. **Check the machine side.**

   ```bash
   publishport capabilities
   ```

   It lists the user's online devices and which platforms are signed in on each. No device online
   means the user still needs the PublishPort desktop app (<https://www.publishport.app/download>),
   running and signed in with the same account. A platform shows as signed in once the user has
   logged into it in the desktop app.

Finish by telling the user what is ready and what is left for them to do.

The credential can run commands on the user's machine. Never print it, put it in a file inside a
project, or send it anywhere except PublishPort's own endpoints. In a sandbox that is thrown away
after the session, the login does not survive; `PUBLISHPORT_TOKEN` in the environment works in
its place.

## 1. Pick the channel

Publishing always goes through PublishPort's relay, which runs the command on the machine where
the user's desktop app is signed in. Two ways to reach that relay:

**a. The CLI** — the default. Every command goes through the relay, so it works whether or not
you are on the user's machine:

| What | CLI |
|---|---|
| Online devices, login state per platform | `publishport capabilities` |
| A platform's fast path plus its live `--help` schema | `publishport guide <platform> --device <d>` |
| Run one command on the device | `publishport run --device <d> -- <command...>` |
| Copy a file onto / off the device | `publishport upload` / `publishport download` |
| Anything else | `publishport call <tool> --json '{...}'` (`publishport tools` lists them) |

**b. PublishPort MCP tools are already connected** (`list_capabilities`, `local_bash`,
`publish_guide`, …) — use them instead and follow their own instructions, which are more
detailed than this file. They map one-to-one onto the CLI: `list_capabilities` =
`capabilities`, `publish_guide` = `guide`, `local_bash` = `run`, `prepare_upload` /
`read_local_file` = `upload` / `download`.

If neither works — no Node.js and no MCP tools — stop and tell the user what is missing.
Do not substitute scraping, headless logins, or unofficial platform APIs.

**Do not reach for a locally installed `ppcli` and run it yourself**, even when the desktop app is
on the same machine and you can see the binary. The relay is what resolves which device to run on,
checks login state, and keeps the run accounted for; going around it silently drops all three, and
breaks the moment the user's agent moves off that machine.

Everywhere below, `ppcli <platform> …` means *run that command through your channel* — as
`publishport run --device <d> -- ppcli <platform> …` on the CLI, or `local_bash` on MCP.

## 2. Publish

1. **Confirm the account.** `ppcli auth status` lists login state per platform, but it is cached
   and can be stale — before a real publish run `ppcli <platform> whoami`. If that reports
   `AUTH_REQUIRED`, ask the user to sign in again in the desktop app instead of pushing ahead.
2. **Read the real schema.** `publishport guide <platform> --device <d>` returns the fast path plus a
   one-line index of the platform's subcommands; for the full parameters of the one you need, run
   `ppcli <platform> <command> --help` (over MCP, pass `command` to `publish_guide`). Required arguments
   differ per platform (some need a cover image, a topic, a category id). Fill in every required
   argument deliberately; defaults are rarely what the user wants.
3. **Stage the content as files.** Put the body on the device first —
   `publishport call write_local_text --json '{"device":"<d>","path":"post.md","content":"…"}'`,
   or `write_local_text` over MCP — then pass it with `--file` (or the command's own
   `--<name>-file`). Never inline a long body in the command line: quoting breaks on the first

From karuha-m/publishport-skill, MIT.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 20, 2026 (12 days ago)
Last release
Aug 28, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get publishport running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying publishport?

CallGet help
Cite this page

publishport skill. Agent Mart. https://agentmart.dev/skills/karuha-m-publishport (last updated 2026-10-24)