gcontext/post-crafter
GitHubInstall
FIVE PASSES · TWELVE QUESTIONS · ONE POST

Write the post. Have it land.

Tell it what you shipped. It runs that one line through five passes, angle, headline, hook, proof, close, stopping at each one to show you the options and take your call. Fifteen minutes later you have a post worth the release it is about.

Install the agentLook inside a pass
/post-crafterlaunch post for shipnotes

Inside each pass.

01 ANGLE4→1
four claims, none you have posted before
02 HEADLINE20→3
twenty written, scored, red-teamed
03 HOOK2 SEC
three openings, cut to the first two lines
04 PROOF3→2
claims your repo cannot back get dropped
05 CLOSE1 PATH
the click-path walked before you see it

Your posts are the weakest part of your product.

THAT ENDS WITH THE NEXT RELEASE.

01
Your headline will be the best thing on the timeline that day.
02
You will never post a claim you have to walk back. The ones it cannot prove die before you read them.
03
Your tenth post will sound more like you than the ones you wrote yourself.
04
And you will be done in fifteen minutes. Every single time.

Get Started.

1
Set up gcontext

One-time setup. Already have a gcontext instance? Skip to step 2 ↓

a/Install uv
$curl -LsSf https://astral.sh/uv/install.sh | sh
b/Install gcontext What is gcontext? →
$uv tool install gcontext-ai
c/Create your instance
$gcontext init my_instance

This creates a folder named my_instance. Every step below runs inside it.

2
Install the agent
a/Add the agent to your instance
$cd <instance_name>
$gcontext add post-crafter

<instance_name> is the folder from step 1 (e.g. my_instance).

b/Start the server
$gcontext up .
c/Connect your client
connect (once per client)
Claude Code
Cursor
Codex
claude mcp add --transport http <instance_name> http://127.0.0.1:4242/mcp
"<instance_name>": {"url": "http://127.0.0.1:4242/mcp"} in ~/.cursor/mcp.json
[mcp_servers.<instance_name>] url = "http://127.0.0.1:4242/mcp" in ~/.codex/config.toml
Full steps per client:gcontext connect

Claude Desktop: add the server URL to claude_desktop_config.json manually.

d/Run setup inside your client
/mcp__<instance_name>__post_crafter__setup

Setup personalizes the agent inside your client; it asks what the agent should do.

3
First steps
a/Run setup
terminal
$ /mcp__<instance>__post_crafter__setup
seeding persuasion formulas
scaffolding products/ folder
register a product? (optional)
b/Craft a post
terminal
$ /mcp__<instance>__post_crafter__craft task: announce the v2 release
step 0 / intake: loading product knowledge, picking audience
step 1 / angle: 3-5 claims proposed, you pick one
step 2 / headline: 15-25 candidates scored and red-teamed, you pick one
step 3 / body: hook + proof + CTA, each block approved separately
step 4 / assemble: final post saved to posts/
c/Run it again
terminal
$ /mcp__<instance>__post_crafter__craft task: write about the new pricing
product knowledge loaded from last run
voice rules applied from voice.md
same 5-step flow, faster with existing context
gcontext / post-craftergithub