with one click
post-retro
// Run the 72-hour retrospective on a published draft and save the conclusion in retros/. Use when the user says "retro this post", "review how this performed", or wants to update the draft lifecycle after publishing.
// Run the 72-hour retrospective on a published draft and save the conclusion in retros/. Use when the user says "retro this post", "review how this performed", or wants to update the draft lifecycle after publishing.
Find LinkedIn post angles that can reach technical builders right now, but only when the angle is specific, differentiated, and defensible. Use when the user says "what should I post about", "pitch me ideas", "give me post angles", "find a topic", "ideate a post", or asks for fresh material without supplying a thought. Returns 3 to 5 scored idea briefs and writes shortlisted ones into ideas/YYYY-MM-DD.md.
Generate an image-generation prompt for a LinkedIn post in one of three selectable styles (1930s rubber-hose cartoon, black sketch on white, or white sketch on black) with the post's hook rendered into the image as overlaid text. Prompts for the style when none is given. Picks a tactile, content-specific metaphor by reasoning over the whole draft, never a generic stand-in. Use when the user says "image for this post", "make a cover image", "generate the post image", "draw an image for X", or picks a draft to illustrate. Saves the prompt to `concepts/<date>-<slug>/prompt.md`, updates the draft's `concept_path`, and prints the prompt for the user to paste into their image tool. Trigger phrases: "post-image", "cover image", "draw the post".
Turn one approved idea brief or one raw user thought into a finished LinkedIn post in the owner's voice. Use when the user says "write a post", "draft this thought", "turn this into a LinkedIn post", "polish this for LinkedIn", picks an approved idea from post-ideator, or hands over raw material. Works from that single input only, grounded in the post corpus and post-patterns for voice and shape.
Critique one draft against the approved idea brief, the archive winners, and the pattern report. Use when the user says "review this draft", "should I publish this", "critique this post", or after post-writer completes a draft. Approves only strong drafts and returns a single rewrite plan when rejecting.
Run the full LinkedIn post pipeline end-to-end in one go — briefing (if missing), top-posts + patterns context, ideator shortlist, writer draft, critic verdict. Use when the user says "full cycle", "run the pipeline", "do the whole flow", "post-cycle", "give me a post end to end", or wants a single command that replaces invoking topics-briefing, post-ideator, post-writer, and post-critic separately. Optionally accepts an idea number to pick from a freshly generated shortlist.
Generate retrospective failure analyses for the worst-performing published posts so the writer and critic learn from misses, not just wins. Reads the bottom-5 posts by impressions from `posts/`, classifies each, and writes one postmortem file per post to `retros/postmortems/<post-date>-<slug>.md`. Use when the user says "run postmortems", "analyze bottom posts", "what failed", "post-mortem the losers", or "refresh failure analyses". Also invoked by `post-cycle` when the postmortem corpus is stale.
| name | post-retro |
| description | Run the 72-hour retrospective on a published draft and save the conclusion in retros/. Use when the user says "retro this post", "review how this performed", or wants to update the draft lifecycle after publishing. |
Run this 72 hours after a draft is published.
drafts/YYYY-MM-DD-<slug>.mdbun run post-patternsThe draft frontmatter should include:
published_urlpublished_atimpressions_24himpressions_72hlikes_72hcomments_72hshares_72hIf these are missing, ask for the missing metrics or tell the user exactly which fields still need to be filled in.
Every retro must answer:
topic_family + source_type posts?Save one markdown file to retros/YYYY-MM-DD-<slug>.md with YAML frontmatter:
---
draft_file: drafts/YYYY-MM-DD-<slug>.md
topic_family: security
source_type: news
published_url: ...
published_at: ...
impressions_24h: 1200
impressions_72h: 1800
likes_72h: 45
comments_72h: 7
shares_72h: 3
beat_median_impressions: true
beat_peer_group: false
discussion_validated: true
hook_matched_body: true
decision: modify
summary: Strong reach, but the comment thread drifted away from the intended angle.
---
The body should explain the decision in a few short paragraphs and name one concrete thing to repeat, modify, or stop.