ClaudeMods
☰
EN
● 0 online · Views 0 times
SponsorsSubmit a project
GitHub repositories · by ShriD5

ship-log

/ship turns what you built in this Claude Code session into a build-in-public post.

Translated

About this mod

/ship turns what you built in this Claude Code session into a build-in-public post for X or LinkedIn. It reads commits and the diffstat since the session started plus your prompts, and has a fast model write a single post (lowercase, first person, one concrete number, under 280 characters, no hashtags or em dashes). Variants include /ship again and /ship linkedin. Drafts are validated against the rules, retried once if they break them, and copied to your clipboard. Options (model, webhookUrl, webhookToken) are set via /config. It saves HEAD on session.start, tracks prompt.submit, and uses git log/git diff --stat, $.model.complete, and $.ui.copy.

Installation

Check the author's README for the marketplace and plugin name first. Commands may change as the repository evolves.

claude plugin marketplace add ShriD5/claude-mods
claude plugin install ship-log
Original text / README

ship-log

/ship turns what you built in this Claude Code session into a build-in-public post.

It reads the commits and the diffstat since the session started, plus a short list of what you asked Claude for, and has a fast model write one X post: lowercase, first person, one concrete number, under 280 characters, no hashtags, no em dashes, none of the "officially / game-changer / excited to announce" voice. The draft shows up as the command's output and goes to your clipboard.

/ship            an X post
/ship again      another take, a different angle from the last one
/ship linkedin   a longer LinkedIn version (sentence case, short paragraphs, up to 1,300 chars)

A draft that still breaks a rule (too long, a banned phrase, emoji spam) is sent back once with the problems named. If it is still too long after that, it gets cut at the last sentence that fits.

Install

claude --plugin-dir ./ship-log

or add this repo as a marketplace and install it with /plugin.

Options

Set them in /config (or pluginConfigs["ship-log"].options in settings):

| option | default | what it does | | --- | --- | --- | | model | haiku | The model that writes the post: an alias (haiku, sonnet) or a full model id. | | webhookUrl | empty | If set, every draft is POSTed here as { "platform": "x" \| "linkedin", "text": "...", "source": "ship-log" }, so it can drop straight into a content calendar or a drafts queue. | | webhookToken | empty | Sent as Authorization: Bearer <token> with that POST. Stored as a secret. |

How it works

It saves HEAD in $.state on session.start and keeps every prompt you type (prompt.submit). /ship runs git log <start>..HEAD and git diff --stat <start> through $.process.run, so uncommitted work counts too, then writes the post with $.model.complete and copies it with $.ui.copy.

Similar projects