Founder Ghostwriter
Ghostwrite LinkedIn and X posts in a founder's real voice, grounded only in things they actually said. Every post has a verbatim anchor, passes six gates, and is read by fresh-context reviewers before you see it.
At a glance
Founder Ghostwriter is an AI skill for sales & marketing teams that you can use in Claude Code, Codex, or type.com. It works with LinkedIn.
- Works with
- Updated
What it does
- No anchor, no post: every opinion traces to a dated quote from the person, so nothing is put in their mouth.
- A per-person reference set (voice corpus, constraints, anchor bank, feedback ledger, rewrite pairs, call-outs) that gets sharper with every edit.
- Fresh-context cold and hostile-expert readers catch "this doesn't sound like them" and "this claim is wrong" before the client does.
- Built and refined across ghostwriting for several founders at a content agency.
Before you start
- The Slop Edit skill (installed with this skill)
- Python 3 for the Slop Edit lint
- Call transcripts or notes, plus the person's existing posts
See an example
Example output from a sample run. Unless the example says otherwise, company names and figures are sample data.
BATCH 3 · Dana Lee (Founder, Fieldnote) · personal LinkedIn · Nov 3–14
Calibration: 4 real edits by Dana so far. Expect one revision round.
Coverage: scheduling ops, hiring front-desk staff
Left out on purpose: the Q4 pricing change (embargoed until Dec 1)
Scheduling: Tue/Thu; link in first comment; company page reshares a week later
POST 1 · Dana Lee · LinkedIn · opinion · clinic operations
Approver: Dana
Most clinics lose more hours to rescheduling than to no-shows.
When a patient cancels, someone at the front desk calls the waitlist one name at a time, and on a busy Monday that's an hour gone before lunch. We counted it at six clinics last spring. Rescheduling took about four times longer than chasing no-shows.
Sure, no-shows hurt more per visit. But they're the problem everyone already measures.
— Anchor: "Honestly the waitlist calls are the killer, not the no-shows" (Dana, call 2025-10-21, 14:32)
— Claims check:
"six clinics last spring" → customer-research doc, Apr 2025 (verified)
"about four times longer" → same doc, table 2: 41 min vs 10 min median (verified)
— Readers: cold 8/10 · expert (clinic manager) 8/10 · persona 7/10
cold: "'an hour gone before lunch' is exactly how she talks"
— Lint: 0 errors, 0 warnings
— Visual: none (text-only)
— Open items: Dana to confirm she's comfortable naming "six clinics"
How to use Founder Ghostwriter
- type.com: Choose Use Skill to add Founder Ghostwriter to your type.com workspace.
- Claude Code: Download the skill and extract it into
~/.claude/skills/founder-ghostwriter/(or.claude/skills/founder-ghostwriter/in a project). Then ask Claude to use Founder Ghostwriter. - Codex: Download the skill and extract it into
~/.agents/skills/founder-ghostwriter/(or.agents/skills/founder-ghostwriter/in a repository). Then ask Codex to use Founder Ghostwriter.
AI agents can read this page as Markdown or fetch the raw SKILL.md.
Frequently asked questions
What is Founder Ghostwriter?
Founder Ghostwriter is an AI skill for sales & marketing teams that you can use in Claude Code, Codex, or type.com. It works with LinkedIn.
What does Founder Ghostwriter do?
Ghostwrite LinkedIn and X posts in a founder's real voice, grounded only in things they actually said. Every post has a verbatim anchor, passes six gates, and is read by fresh-context reviewers before you see it.
What do I need to use Founder Ghostwriter?
The Slop Edit skill (installed with this skill); Python 3 for the Slop Edit lint; Call transcripts or notes, plus the person's existing posts.
Can I use Founder Ghostwriter in Claude Code or Codex?
Yes. Founder Ghostwriter is a standard Agent Skills folder with a SKILL.md file. Download it and extract it into ~/.claude/skills/ for Claude Code or ~/.agents/skills/ for Codex.
Who created Founder Ghostwriter?
Barbara Jovanovic from Startup Cookie created Founder Ghostwriter. The type.com team reviews every skill before it is published in the Skills Library.
Related skills
- AI List Inclusion OutreachGet named on the "best X" lists that ChatGPT, Claude, Perplexity and Google AI answers already cite for your buyers' questions. Ranks the lists, drafts a three-line request for each, and tracks follow-ups.
- Transparent Lower ThirdOn-brand animated name tags for testimonial videos, delivered as transparent ProRes 4444 files that drop straight onto a CapCut or Premiere timeline, with brand pulled from your site and a frame-by-frame check.
- Event Post Fact-CheckDraft post-conference posts with every speaker, affiliation, session, sponsorship, photo and hashtag checked against the official program, keeping what the program proves separate from what someone remembers.
- Social Batch Review CalendarReplace PDFs and chat recaps with a Type app your client can actually review: a weekly calendar with each post's first paragraph and full image, copyable captions, downloadable visuals, and the approver on every card.
- Reference Style Model"We want our LinkedIn to sound like them." Turns a reference company's public posts into a style spec: numbered moves, each proved by a real line, and a pre-publish checklist. It transfers form, never their facts.
- Signal-Routed Allbound CampaignsBuild signal-based multi-channel outbound campaigns that route prospects across email, LinkedIn, and paid ads based on intent signals.
Related guide
Browse the technical files
---
name: founder-ghostwriter
description: Ghostwrite LinkedIn posts, X posts, replies and bylines in a specific founder's or executive's voice, grounded only in things they actually said. Use when drafting any post for a named person, setting up a ghostwriting system for a new client, or revising a draft after the person or an editor gives feedback. Requires the slop-edit skill.
---
# Founder Ghostwriter
A system for writing as a real person without putting words in their mouth. It is built around one rule:
> **No anchor, no post.** If an idea can't be traced to something the person said or wrote, it is our opinion wearing their name.
The system has three parts: a per-person **reference set** (files `01`–`08`), a **drafting pipeline** with gates and fresh-context readers, and a **feedback loop** that turns every correction into a rule the same session.
Required skill: **slop-edit** (lint script and construction pass). Read its `SKILL.md` before Step 6.
---
## Part 1. Set up the reference set (once per person)
Create a folder for the person (for example `ghostwriting/<person>/`) with these files. Templates are in `references/`.
| File | Holds |
|---|---|
| `00-README.md` | Index, who approves what, and load order. |
| `01-voice-corpus.md` | Their real writing, verbatim, split by source and era, with measured metrics. See `references/voice-corpus-method.md`. |
| `02-persona-constraints.md` | Per-surface rules: personal account vs company page vs byline vs replies. Topics that are off-limits, embargoes, contract terms, who signs off each surface. |
| `03-banned-patterns.md` | Project bans on top of slop-edit's defaults. Starts empty; grows from call-outs. |
| `04-anchor-bank.md` | Verified facts (with source and date), their quotable positions (verbatim, with meeting/date), a **verification queue** of claims that may not be used until confirmed. |
| `05-feedback-ledger.md` | Numbered entries: every draft accepted or rejected, with the reason. |
| `06-rewrite-pairs.md` | Before/after pairs from real edits: our draft line → their rewrite. The most valuable file once it has five entries. |
| `07-reader-briefs.md` | The fresh-context reader prompts for this person (Step 7). |
| `08-callouts.md` | Every correction from the person or editor, in their words. Format in slop-edit's `references/callouts-template.md`. |
**Calibration disclaimer.** Until the person has rewritten at least one draft by hand, every calibration is a hypothesis. Say so in every delivery: "Calibration: N real edits so far. Expect one revision round."
---
## Part 2. Drafting pipeline (every batch)
### Step 0. Mandatory loads
Read `08-callouts.md` and the last ten entries of `05-feedback-ledger.md` before writing anything. If a brand style model exists for this account (see the reference-style-model skill), load it now.
### Step 1. Route
Decide the surface: personal LinkedIn, company page, X, reply/comment, byline, blog. Load the matching section of `02-persona-constraints.md`. Voices do not cross surfaces: a company-page style never overwrites a person's personal voice, and the reverse.
### Step 2. Anchor gate
For each planned post, write the anchor first:
- **Opinions** need a verbatim, dated quote from the person (call transcript, their post, their email).
- **Facts** need an anchor-bank row with source and a verbatim excerpt.
- **A call is a source of the person's opinions about their industry, not a source of subjects.** Test before drafting: could this post have been written by someone who has never been on a call with this company? If it's about internal funnel, reach or cadence, it's not a post.
No anchor → drop the post or ask the person one question to get one.
### Step 3. Format worksheet
Pick the container from the person's corpus, not from a template:
- Which of their real post shapes does this match? (See the "shapes" table in `01`.)
- Target length from their real posts on this surface (LinkedIn personal posts that perform tend to sit around 700–1,600 characters; check the person's own range).
- Opener type. Story and contrarian openers tend to beat flat statements on LinkedIn; a flat fact gives the reader nothing to agree or argue with. Verify current platform data before quoting numbers to a client.
- One idea per post. A second argument goes in a separate post or a carousel.
An approved post is a guide to the voice, not a format to fill in. Don't reuse an approved skeleton within the same batch.
### Step 4. Draft in isolation
One drafting agent per post, each in its own clean context, run in parallel. The brief for each contains: the anchor, the format worksheet, `01` (voice corpus), `03` + slop-edit bans, `06` rewrite pairs, `08` call-outs. Drafting rule:
> Take the argument from the calls, the sentences from their human-written prose, the citation discipline from their best published pieces. Never copy sentences from AI-assisted pieces they've published; those are the bar to clear, not the voice to copy.
**Quarry, don't compose.** Prefer real transcript sentences, lightly cleaned, over generated connective tissue. Their sentences are typed, not composed: keep the plain connectors they actually use ("Sure,", "Like,", "of course", "etc.").
### Step 5. Gates A–F (on each draft)
- **A. Accuracy.** Every claim maps to an anchor-bank row. Copying a format that needs a number, without a real number, is a fabrication: kill it.
- **B. Slop lint.** Run slop-edit's `scripts/slop_lint.py` with the project's extra bans. Zero errors.
- **C. Sameness.** Compare against the rest of the batch and the last batch: no repeated opener shape, closer shape or skeleton.
- **D. Voice.** Check against `01` metrics (sentence-length range, contractions, emoji count, joke frequency, first person). If a brand style model applies, run its numbered pass here.
- **E. Humanizer.** Measured baselines: vary sentence length to match their range; no uniform paragraph lengths; no tidy repeated structure. Do not add invented personal detail to "sound human".
- **F. Sentence-subject check.** By hand, for every sentence: who does the verb? Read every heading for counts or lists of deliverables.
### Step 6. Construction pass
Run slop-edit's construction pass (`references/construction-rules.md` in that skill) on every sentence.
### Step 7. Fresh-context readers
Spawn each reader as a separate agent in a **clean context**. Its brief contains **only**: the person's verbatim posts from `01`, the ban list, `06` rewrite pairs, and the drafts. **It never sees the anchors or this skill.** (A reader that knows the intent will forgive the text.)
Minimum two readers, plus one persona reader where it fits:
1. **Cold reader.** "Here are N real posts by this person and N drafts. Which drafts would you not believe they wrote? Quote the lines and say why."
2. **Hostile expert.** "You are a hostile [domain expert, e.g. security researcher / clinician / CFO] reading this post. Find every uncited claim, overstated effect, wrong term, or line you'd screenshot to mock."
3. **Persona reader** (optional). The target reader: "You are a [buyer persona]. Which lines read as a pitch? Which tell you something you can check?"
Readers run on the **final** text, after revisions, not the draft before. Score each post 1–10 per reader. Don't deliver a post below 7/10 on the second read without saying so.
### Step 8. Deliver
Use `references/delivery-template.md`. Each post carries: surface, approver, the text, its anchor(s), a claims check (claim → source → verified/unverified), reader notes, visual (if any), open items. The batch header states the calibration disclaimer, what was deliberately left out and why, and scheduling notes.
---
## Part 3. Feedback loop
When the person or an editor reacts to a draft:
1. **Change only what they flagged.** Leave approved lines alone.
2. **Log it the same session.** Add a row to `08-callouts.md` (their words verbatim) and an entry to `05-feedback-ledger.md` (what was rejected/accepted and why).
3. **If they rewrote a line, add the pair to `06-rewrite-pairs.md`.** This is the strongest calibration signal you will get.
4. **Promote recurring patterns.** Flagged twice → lint rule (`--extra-bans`) and a line in `03`.
5. **Sync siblings.** If several skills write for the same client (founder posts, company page, blog), copy the new rule into each in the same session.
6. **Accuracy limits.** If you can't verify a detail from what you already have, cut it. Don't plan on the person checking it for you.
### Why a ban list alone doesn't converge
If drafts keep failing on different phrases each round, the problem is upstream: the positive corpus is too thin, you're composing from briefs instead of quarrying their speech, or every gate is the same model checking itself. Fixes, in order: get one post rewritten by the person by hand; ask them three questions and draft from the answers; add more real writing to `01` (newsletters, long-form, transcripts); shrink the batch and send two variants of each post.
---
## Files
- `references/voice-corpus-method.md`: how to build and measure `01`.
- `references/file-templates.md`: starter content for `00`–`08`.
- `references/reader-briefs.md`: copy-paste briefs for the fresh-context readers.
- `references/delivery-template.md`: the per-post and batch delivery format.
- `references/linkedin-notes.md`: platform notes and cross-account sequencing (re-verify numbers before quoting them).