name: content-from-delivery description: > Turn a completed client engagement into 3 LinkedIn posts in under 3 minutes. Describe what you delivered, what changed, and what the client's situation was before you started. The skill extracts the story at three levels, classifies the proof type, produces 3 pattern-revealing posts ready to copy-paste, and runs quality checks against the extraction blind spots most practice owners hit. Use when you've finished a piece of client work and want to turn it into content before the details fade. Works with bullet points, rough notes, or polished summaries. Triggers: "content from delivery", "turn this engagement into posts", "write LinkedIn posts from client work", "extract content from this project", "content-from-delivery", or any request to turn a completed engagement into LinkedIn content. metadata: author: Kathryn Brown, Advisory OS version: "1.0.0" updated: "2026-04-02"
Content-from-Delivery Engine
Turn the work you already did into the content you never get around to writing. One engagement in, 3 LinkedIn posts out.
Core Principle
Extract before writing. Read the full engagement description before producing any content. The quality of the posts depends on pulling out three distinct layers of the story — the surface version the owner would write, the real version with numbers and before/after, and the prospect version that starts where the reader starts. Skipping extraction produces flat, self-promotional content. Running it produces posts that make prospects think about their own situation.
What This Skill Does
You describe a completed client engagement — what the client's situation was, what you delivered, what changed. Bullet points, rough notes, voice memo transcript — the skill extracts structure from whatever you paste. It produces a content package that does three jobs:
Job 1: Story Extraction — Pulls the engagement apart at three levels. Surface (the version you'd write yourself — accurate but flat). Real (what emerges with follow-up — numbers, actions, before/after). Prospect (the version that starts where the prospect starts — mirrors their current pain so they think "that's where I am right now"). This is the raw material for all three posts.
Job 2: LinkedIn Posts — Three different posts from the same engagement, each using a different angle. Pattern-revealing, not self-promotional. Anonymized. Ready to copy-paste and publish. Each post leads with the prospect's situation, not your expertise.
Job 3: Quality Assurance — Checks the output against the three blind spots that make most practice owner content flat: missing emotional starting point, buried compounding outcomes, and vague language. Scores the content on four dimensions so you know exactly what to strengthen if a post isn't ready.
The Content Package: Section by Section
1. Engagement Snapshot
What happened — client type (anonymized), scope, timeline, outcome summary. Two to three sentences. Orientation for everything that follows.
Format: Label/value pairs in a metadata table.
| Field | Content |
|---|---|
| Client type | [Industry/role — anonymized. "Operations consulting firm, 15 people"] |
| Scope | [What was delivered — one line] |
| Timeline | [How long the engagement ran] |
| Outcome | [One sentence — the headline result] |
2. Proof Type Classification
Which of the six categories this engagement best fits. The proof type determines the narrative framing for all three posts.
| Proof Type | What It Catches |
|---|---|
| Revenue Discovery | Found, saved, or protected money — quantified impact with dollar figures |
| Bottleneck Removal | Before: X. After: Y. Clear structural change |
| Decision Clarity | Untangled a complex situation — client went from stuck to clear |
| Speed | Expected timeline vs. actual — results in weeks, not months |
| Capability Transfer | Built something the client now owns and runs without you |
| Risk Prevention | Disaster avoided or caught early — the counterfactual |
Format: One-line classification with reasoning. "Bottleneck Removal — founder went from 60-hr weeks approving every decision to a team structure that runs without daily involvement."
If the engagement fits multiple types, pick the strongest one for the primary framing and note the secondary.
3. Three-Layer Extraction
The engagement retold at three levels. This is the longest section and the most important — it's the raw material the posts are built from.
Surface — What the owner would write themselves. Accurate but flat. No numbers, no emotion, no prospect hook. This is the version that would say "helped a client streamline their operations."
Real — What emerges with follow-up questions. Specific numbers. Before/after. Actions taken. Timeline. The version that says "founder was working 60-hour weeks. Within 90 days, the team was handling 80% of decisions independently. Revenue grew 30% the following quarter because they could finally take on new work."
Prospect — The version that starts where the prospect starts. Mirrors their current pain. The version that opens with "Every decision in the firm ran through one person. Not because the team couldn't handle it — because nobody had built the structure to let them." A prospect reading this thinks about their own firm, not yours.
Format: Three blocks, each labeled. Surface is 2-3 sentences. Real is a full paragraph with numbers. Prospect is 2-3 sentences written in the reader's voice.
Rules:
- Surface must be noticeably flat compared to Real and Prospect — that contrast teaches the owner what extraction does
- Real must include at least one specific number (dollars, hours, percentage, timeline)
- Prospect must start with the client's situation, not the provider's action
- If the input doesn't contain enough detail for Real, flag what's missing: "Missing: timeline for results" or "Missing: quantified outcome"
4. LinkedIn Posts (3)
Three different posts from the same engagement. Each uses a different angle or proof type emphasis. Pattern-revealing, not self-promotional. Anonymized. Ready to copy-paste and publish.
Post structure (all three):
- One sentence per line (Taki format — every sentence gets its own line)
- Scene-led, not thesis-led — the insight emerges through the story, never announced in the opening. No post opens with a thesis statement like "Every consulting engagement has the same leak."
- Opens with a specific moment or scene — a person, a situation, a concrete detail. "A CPA I work with spent 4 hours every month on client review prep." Not "Most consultants struggle with content."
- Includes at least one specific number from the Real layer
- Anonymized — no client name, no identifying details. Change industry or practice type if needed to protect identity while keeping the pattern
- Aspirational, not accusatory — the reader should see where they want to be, not feel called out for what they're doing wrong. The post makes the reader want to engage publicly. Test: "Would the reader want their LinkedIn network to see them commenting on this?"
- Ends with what was built or gained — not what was wrong. The reader finishes thinking "I want that" not "I'm guilty of that."
- 150-250 words each
- No hashtags, no emoji, no "DM me for more"
Voice rules — AI pattern management (every post):
Pre-generation requirement: Before writing each post, re-read the pattern table and sentence-level rules below. Write with the constraints active during generation — do not write freely and then QC afterward. The QC pass in Section 5 is a safety net, not the primary mechanism.
The principle: These patterns are AI tells when they're unearned — used as structural defaults without evidence behind them. They're voice when they're earned — used once, with conviction, grounded in a specific observation. The writer's own signature phrases use contrast structures ("Capability deployed. Not curriculum learned."). The difference is frequency and evidence. One earned contrast move per post is voice. Three stacked with no specifics behind them is AI.
| Pattern | Limit | Earned by | Unearned example | Earned example |
|---|---|---|---|---|
| Twinning (negation-correction pair using same subject or parallel structure, including "isn't just X / It's Y" variant) | 1 per post max | The corrected belief is something the writer has observed clients saying or doing — not a hypothetical reader assumption | "It's not a marketing problem. It's an extraction problem." (generic reframe, no evidence) | "She thought the problem was follow-through. The team completed the work in 72 hours once the friction was gone." (specific observation, earned by the story) |
| Mirror reversal (same word in reversed positions) | 0 per post — these almost never earn their place | Would the writer say this on a call? If it only works as a written line, cut it. | "Effort and value live at different addresses." | Rarely passes. State it plainly. |
| Negation-correction ("Not because X. Because Y." and any same-noun negation-correction regardless of whether "because" appears. Cross-reference with twinning — same structure, fails both.) | Shares the 1-per-post limit with twinning — if you use a twinning move, you've used your negation-correction allowance too | Same as twinning — must be grounded in observed behavior | "Not because they're lazy. Because building feels slower than doing." (assumed reader psychology) | "The team wasn't stalling on the planning work. They completed it in 3 days once the format changed." (observed fact) |
| Three-beat parallels (2+ items with identical structure in a sequence of 3+) | 1 per post max | The repetition demonstrates an actual observed pattern or data sequence — the structure IS the evidence | "No reminders. No follow-up. Nobody chased." (decorative rhythm) | "2s become scope creep. 2s become payment chasing. 2s become 'I'm disappointed in the partnership.'" (scoring data — repetition proves the pattern) |
| Formulaic setup ("Most people think X. Actually Y.") | 1 per post max | The "common belief" is something the writer has personally observed clients saying — with specific quotes or behaviors, not an assumed reader belief | "Most people think they need better marketing." (strawman) | "Every practice owner I've asked says one, maybe two. Then I ask four different questions and they start counting." (observed behavior from real diagnostics) |
| Dramatic fragments (single-word or sub-five-word sentences for emphasis) | 1 per post max | It's the single most important line in the post. If you've already used one, the next gets cut. | "Gone." "Period." "That's the gap." (stacked fragments) | "It was right." (earned by the specifics before it — two-word payoff after a prediction) |
| Identical openers (3+ sentences starting with same word) | 0 | Almost never earned. Vary openers. | "She didn't hire anyone. She didn't add a tool. She didn't..." | Rewrite with varied subjects and structures. |
| Correction-revelation compounds | Max 1 correction-family move per post total (twinning, mirror, negation-correction, formulaic all draw from the same allowance) | If you use a twinning move, you cannot also use a formulaic setup in the same post | Two or more from the family in one post = AI lecture mode regardless of individual quality | One earned contrast move surrounded by scene, specifics, and direct statements |
| Trying-to-be-quotable (metaphor/abstraction over clarity) | 0 — if the insight is real, state it plainly | Would the writer say this in a real conversation? | "Effort and value live at different addresses." | "The deliverable served one client. The kit serves every client after." (concrete, not metaphorical) |
| Rhetorical hand-holding ("Sound familiar?" / "Think about that.") | 0 — always cut | Never earned. If the line before it is strong, it doesn't need the nudge. | "Let that sink in." | Delete. |
| Borrowed vocabulary (methodology terms from someone else's framework — e.g., "golden example," "rocks," "traction," "EOS") | 0 in posts — allowed in analytical sections | The term describes a literal deliverable that was built, not a borrowed framework concept. Even then, prefer plain language in posts. | "We built a golden example for the kit." (framework term) | "We captured a reference version of the finished product." (plain language) |
Sentence-level rules (mandatory, every post):
| Rule | What it means |
|---|---|
| End strong | Last word of each sentence is the most impactful. Restructure so filler words don't land at the end. |
| Economy | Cut "already," "still," "really," "very," "just," "actually," "start to," "in order to." |
| No repetition | Every sentence says something new. If two sentences make the same point in different words, cut one. |
| Vary word choice | No word appears 3+ times in a post. |
| Precision vocabulary | 3-5 precision word upgrades per post in longer sentences. "disappeared" → "evaporated," "stuck" → "stalled." Not fancy — precise. |
| Two-comma max | Most sentences have 0-2 commas. More means the sentence is doing too much. |
| Kill adverbs | Remove -ly words and "already," "just," "really," "basically," "simply." Replace with stronger verbs. |
| Sentence length varies | No metronomic rhythm. Mix short, medium, long. Jagged edges, not even cadence. |
Status and aspiration rules:
LinkedIn rewards posts that make the reader look good. The reader who engages with this post is telling their network something about themselves. Design every post so that something is positive.
- The reader who shares or comments is signaling: "I'm the kind of practice owner who turns their work into visible proof." Not: "I'm the kind of practice owner who's been failing at content."
- Give the reader new vocabulary or a framework they can use in their own conversations. The Three Layers, the proof types, the extraction concept — these are status transfers.
- The post topic must be something the reader can engage with publicly without admitting weakness, ignorance, or failure.
- Lead with what was built, not what was broken. Aspiration over accusation.
Three angles:
- Post 1: The Pattern — Opens with a scene, not a thesis. A specific person, a specific situation. The systemic pattern emerges from the story — the reader recognizes it in their own practice without being told to. Never opens with "Every [type] has the same problem."
- Post 2: The Before/After — Opens where the client started. Walks through the transformation. The "after" is aspirational — the reader sees where they want to be. Lands on what was built and what it means going forward.
- Post 3: The Capability — Opens with what the practice owner built and now owns. Focus on the permanent capability created — the system, the asset, the repeatable process. The reader finishes thinking "I want to build that" not "I've been missing that."
Format: Each post in its own block with the angle labeled. Ready to copy-paste.
Voice reference: Match the tone of the v6-QC'd giveaway post golden example (business-aos/khb-aos/projects/content-to-pipeline/builds/giveaway-post-golden-example-v6-qc.md). Scene-led, specific, aspirational, passed Copy QC + Sentence Editor. Study it before writing.
5. Quality Check
Two passes: extraction quality, then copy quality.
Pass 1 — Extraction blind spots (from "What He Skipped"):
| Blind Spot | Check | Result |
|---|---|---|
| Emotional starting point | Do the posts lead with a scene — a person in a situation — not with methodology or a thesis? Does the reader feel the situation before the solution appears? | Pass / Flag + what to fix |
| Compounding outcome | Do the posts surface what the initial result unlocked — the ongoing or recurring impact? Not just "revenue grew" but what that revenue growth enabled? | Pass / Flag + what to fix |
| Specificity | Do the posts use concrete language? "$200K in one quarter" not "improved revenue." "60-hour weeks" not "overworked." Numbers, timelines, quantities. | Pass / Flag + what to fix |
Pass 2 — Copy QC (run against every post before presenting):
| Check | Limit | Earned? | Action if over limit or unearned |
|---|---|---|---|
| Twinning | 1 per post | Must be grounded in observed behavior, not generic reframe | Fold into one sentence or cut the negation half |
| Mirror reversal | 0 | Almost never passes. Would the writer say it on a call? | State it plainly |
| Negation-correction | Shares limit with twinning (1 total from correction family) | Same evidence requirement as twinning | Drop the negation, state the reason |
| Three-beat parallels | 1 per post | Repetition must demonstrate an observed pattern — structure IS the evidence | Vary length/structure, or cut to two |
| Formulaic setup | 1 per post | "Common belief" must be something observed in real client conversations | State the insight directly |
| Dramatic fragments | 1 per post | Must be the single most important line | Cut extras |
| Identical openers | 0 | Not earned | Vary openers |
| Correction-family compound | 1 total per post (twinning + mirror + negation + formulaic all draw from same allowance) | — | If 2+ appear, cut to 1 |
| Trying-to-be-quotable | 0 | Not earned — state insights plainly | Rewrite concretely |
| Rhetorical hand-holding | 0 | Never earned | Delete |
| Borrowed vocabulary | 0 in posts (OK in analytical sections) | Even when describing literal deliverables, prefer plain language in posts | Replace with plain description |
| Sentence variation | Lengths must vary — no metronomic rhythm | — | Mix short/medium/long |
| Read-aloud | Every line at conversation speed | — | Rewrite anything requiring "presentation voice" |
| Status check | Reader wants their network to see them engaging | — | Reframe if accusatory or deficit-focused |
| Anonymization combo | No 2+ details that identify the client when combined | — | Generalize at least one detail |
Format: Two tables. Pass 1 with pass/flag per blind spot. Pass 2: for each pattern, note the count, whether each use is earned (with the specific evidence), and pass/fail. Over-limit or unearned = fail. The test for "earned" is always: does the writer have a specific observed behavior, client quote, or data point behind this move? If the evidence isn't in the post, the move isn't earned.
6. Content Score
Four dimensions scored on the engagement's publishability:
| Dimension | Score (1-5) | Assessment |
|---|---|---|
| Specificity | [1-5] | Can the outcome be stated in concrete numbers or facts? |
| Impact | [1-5] | How significant was the business outcome? |
| Narrative Clarity | [1-5] | How easily can this be told as a before/after story? |
| Readiness | [1-5] | Can this be published anonymized without losing its power? |
Overall assessment: One sentence. Either "Ready to publish" or "Strengthen [dimension] — [specific suggestion]."
Format: Table with scores and one-line assessments per dimension. Overall assessment below.
Reading a Scope-to-SOW Converter Output as Input
If you have the Scope-to-SOW Converter skill, you can paste its output together with your delivery notes. The skill maps the SOW sections to the extraction:
| SOW Section | Maps To |
|---|---|
| Opening Context | Prospect layer — the client's starting situation |
| Scope of Work | Engagement Snapshot — what was delivered |
| Deliverables | Real layer — the specific outputs produced |
| Success Criteria | Content Score — the outcomes to measure against |
If you don't have the Scope-to-SOW Converter skill, ask for it — it's free.
Both input paths (raw engagement description and SOW + delivery notes) produce the same output. Use whichever you have.
Rules
- One engagement per run. Don't mix multiple clients or projects in one input. Each engagement gets its own content package.
- No paragraphs in the output. Every section uses tables, label/value pairs, bullet points, or single-sentence lines. The content package is a production tool, not a document to read.
- Anonymize by default. Change the client's name, industry, or practice type if needed to protect identity. Keep the pattern — change the details. A composited case study (real pattern, changed specifics) is better than a vague one. Combination test: After anonymizing, check whether two or more specific details in the same post (task types, team size, service lines, tools, compliance form numbers, process descriptions) could identify the client when read together. A single detail like "three-person firm" is safe. "Three-person firm" + "1095-B filing" + "recruiting process" points to one firm. If the combination narrows to a recognizable client, generalize at least one detail further.
- Don't assume. If the input doesn't contain enough information for a specific number, flag it: "Missing: [what's needed]." Partial content is better than fabricated content. A post with "Missing: quantified outcome" tells the user exactly what to add.
- Numbers over adjectives. "$200K in one quarter" not "significant revenue growth." "60-hour weeks down to 35" not "dramatically reduced workload." Every post should contain at least one concrete number.
- Aspirational, not accusatory. Every post should make the reader see where they want to be — not feel called out for what they're doing wrong. Test: "Would the reader want their LinkedIn network to see them engaging with this?" If the answer is no, reframe. Lead with what was built, not what was broken.
- Scene-led, not thesis-led. Every post opens with a specific person in a specific situation. The insight emerges from the story. Never open with a thesis statement ("Every consulting engagement has the same leak") or a correction ("Most consultants don't document their work").
- Copy QC is mandatory. Run all posts through the anti-AI pattern checks and sentence-level rules in Section 5 before presenting. No post ships with P1 failures. No post ships with unexcepted P2 failures.
- Three posts always. Produce all three angles every run. The Quality Check flags which posts are strong and which need enrichment — the user decides what to publish.
- Output as a markdown file. Produce the content package as a .md file. Name the file:
[engagement-type]-content-[YYYY-MM-DD].md(lowercase, hyphens, no spaces). - First person for posts. LinkedIn posts are written in Kathryn's voice — first person, conversational, one sentence per line. The extraction sections (Snapshot, Three Layers, Quality Check, Score) are analytical.
Output Format
# Content-from-Delivery — [Engagement Type]
| | |
|---|---|
| **Client type** | [Anonymized — industry, size] |
| **Scope** | [What was delivered] |
| **Timeline** | [Duration] |
| **Outcome** | [One-sentence headline result] |
| **Date** | [Today's date] |
| **Based on** | [What the user pasted — "engagement description, ~X sentences"] |
---
## Proof Type
**[Type]** — [One sentence reasoning.]
---
## Three-Layer Extraction
### Surface
[2-3 sentences — the flat version the owner would write.]
### Real
[Full paragraph — numbers, before/after, actions, timeline.]
### Prospect
[2-3 sentences — starts where the reader starts. Their pain, not your solution.]
---
## LinkedIn Posts
### Post 1: The Pattern
[One sentence per line. 150-250 words. Pattern-revealing angle.]
---
### Post 2: The Before/After
[One sentence per line. 150-250 words. Transformation angle.]
---
### Post 3: The Capability
[One sentence per line. 150-250 words. What was built and now owned.]
---
## Quality Check — Extraction
| Blind Spot | Result | Notes |
|------------|--------|-------|
| **Emotional starting point** | [Pass/Flag] | [Details] |
| **Compounding outcome** | [Pass/Flag] | [Details] |
| **Specificity** | [Pass/Flag] | [Details] |
## Quality Check — Copy QC
| Pattern | Post 1 | Post 2 | Post 3 | Notes |
|---------|--------|--------|--------|-------|
| P1: Twinning | [P/F] | [P/F] | [P/F] | |
| P1: Mirror reversal | [P/F] | [P/F] | [P/F] | |
| P2: Three-beat parallels | [P/F] | [P/F] | [P/F] | |
| P2: Not because/Because | [P/F] | [P/F] | [P/F] | |
| P2: Formulaic setup | [P/F] | [P/F] | [P/F] | |
| P2: Borrowed vocabulary | [P/F] | [P/F] | [P/F] | |
| P3: Dramatic beats (max 1) | [P/F] | [P/F] | [P/F] | |
| P3: Identical openers | [P/F] | [P/F] | [P/F] | |
| Compound check | [P/F] | [P/F] | [P/F] | |
| Sentence variation | [P/F] | [P/F] | [P/F] | |
| Status check | [P/F] | [P/F] | [P/F] | |
| Anonymization combo | [P/F] | [P/F] | [P/F] | |
---
## Content Score
| Dimension | Score | Assessment |
|-----------|-------|------------|
| **Specificity** | [1-5] | [One line] |
| **Impact** | [1-5] | [One line] |
| **Narrative Clarity** | [1-5] | [One line] |
| **Readiness** | [1-5] | [One line] |
**Overall:** [One sentence — ready to publish or what to strengthen.]
What Makes This Different
Most practice owners finish a piece of client work and move on. The outcome exists in their memory, maybe in a few emails, maybe in a final report — but it never becomes anything a prospect can find. Six months later, they're sitting on a sales call trying to remember the details of a result they lived through.
This skill catches outcomes before they evaporate. You describe the engagement in whatever form you have — bullet points, rough notes, a paragraph you'd put in an email — and the Three-Layer extraction pulls out the story you didn't know was there. The Surface version is what you'd write yourself. The Real version is what makes the post credible. The Prospect version is what makes someone pick up the phone.
You don't need to be a content strategist. You don't need to know what makes a good LinkedIn post. The skill handles the structure, the anonymization, and the quality checks. You paste what happened. You get 3 posts you can publish today.
If you also have the Client Intelligence Brief skill, they pair: the brief reveals what's happening with active clients. This skill turns what already happened into content that attracts the next one.