prose-writing
Use this skill when the user wants to write long-form prose — blog posts, founder essays, build-in-public posts, About pages, newsletter intros, or origin stories. Also use when the user mentions 'blog post,' 'essay,' 'long-form,' 'founder voice,' 'build in public,' 'BIP post,' 'About page,' 'origin story,' or 'newsletter copy.' For microcopy and CTAs, see copywriting. For removing AI patterns from existing text, see humanize. For SEO articles, see seo-content. For content strategy and distribution, see content.
What this skill does
# Prose Writing
Founders write a lot of prose: blog posts, essays, build-in-public updates, About pages, newsletter intros. Hand the task to AI and you get slop — hedged, generic, three-item-list cadence, throat-clearing openings, "this highlights" tails. This skill is the proactive composition workflow: voice first, structure second, drafting third, edit last.
> **If `ABOUT-ME.md` exists in the project root**, read it before writing — it carries the founder's voice. **If `MY-ICP.md` exists**, read it for who the prose is talking to. The founder's voice delivers the customer's frame.
## Three principles of prose that doesn't sound like AI
- **Lead with a specific moment, claim, or number — not a category.** "I shipped a feature on Tuesday and lost two customers by Friday" beats "Building products comes with tradeoffs."
- **Trust the reader.** State what you mean. Don't gesture at significance ("This highlights an important point about…"). The reader can see the point if you make it.
- **Structure invisibly.** Every paragraph earns its place by moving the argument or story forward. If a paragraph could be deleted with no loss, delete it.
---
## Workflow
```
- [ ] Read ABOUT-ME.md and MY-ICP.md if they exist
- [ ] Build a voice card (once, reusable)
- [ ] Pick the format and state the one takeaway
- [ ] Write the opening line first
- [ ] Outline as 3–5 plain-English beats
- [ ] Draft fast, in voice. Don't edit while drafting.
- [ ] Edit pass: throat-clearing, "this highlights," ending
- [ ] Run humanize if it still sounds AI
```
---
## Voice discovery (do once, reuse forever)
Before writing in your voice, you need to know what your voice is. This is a 15-minute exercise.
1. Find 3 pieces of prose you wish you'd written. Blog posts, essays, threads. Not "good writing" in the abstract — writing that sounds like you on your best day.
2. For each piece, note:
- **Sentence length pattern.** Mostly short? Mixed? Long sentences with short punches?
- **Vocabulary register.** Plain ("we shipped this thing")? Mid ("we released the feature")? High ("we deployed the capability")?
- **Opinion stance.** Stated directly? Hedged? Self-aware about uncertainty?
- **Self in the prose.** First person constantly? Occasionally? Never?
- **Humor.** Dry? Earnest? None?
3. Distill into a 5-line **voice card** you paste into every prompt:
```
Voice card:
- Sentence rhythm: [e.g., short punches with one longer setup per paragraph]
- Register: [e.g., plain, casual, no jargon unless naming a real thing]
- Opinions: [e.g., stated directly, qualified once if needed, never hedged twice]
- First person: [e.g., I/we present throughout — this is a person talking]
- What I never do: [e.g., listicles, "in conclusion," motivational closers, three-item lists]
```
Save this in `ABOUT-ME.md` so every skill in this plugin can use it.
**Tell AI:**
```
Help me build my voice card. I'll paste 3 pieces of writing I wish I'd written.
For each: identify sentence rhythm, register, opinion stance, first-person presence, humor.
Then distill into a 5-line voice card I can paste into prompts.
Don't flatten the differences — find what's consistent across all three.
Piece 1: [paste]
Piece 2: [paste]
Piece 3: [paste]
```
---
## Format: Blog post (800–1500 words)
**Shape:** hook → premise → 2–4 beats with examples → resolution that earns a takeaway.
- **Hook (first 1–3 sentences):** a specific moment, claim, or number. Not a definition. Not a question. Not "Imagine if…"
- **Premise (next paragraph):** the one thing this post argues or shows. State it.
- **Beats:** each beat = one point, one example, one paragraph (or two). Examples are concrete. If you find yourself writing "for instance, consider a scenario where…" delete and use a real one.
- **Resolution:** the post lands somewhere. Not a recap. Not "in conclusion." The strongest line you've got, placed last.
**Anti-pattern:** the listicle that's actually a content-marketing skeleton — H2 / paragraph / H2 / paragraph, all same-length, same-cadence, no argument moving through.
**Tell AI:**
```
Write a [800/1200/1500]-word blog post on [topic].
Voice: [paste voice card]
The one takeaway: [in one sentence, what the reader walks away believing]
Structure: hook with [specific moment / claim / number] → premise → [3–4] beats with concrete examples → resolution that lands on the strongest line.
Constraints:
- No "this highlights / underscores / demonstrates"
- No -ing analysis tails ("...marking a shift toward...")
- No three-item lists unless they're actually three things
- No "in conclusion" or "to summarize"
- End on a strong line, not a recap
- Read aloud test: cut anything I wouldn't say
```
---
## Format: Founder essay (1500–3000 words)
**Shape:** personal stake → tension or question → exploration → arrived-at view.
- **Personal stake:** why are you the one writing this? A specific experience, decision, mistake. Not a credential.
- **Tension:** the thing you didn't know, or got wrong, or are still working out. The whole essay turns on this.
- **Exploration:** you working through it. Multiple beats. It's allowed to wander a little — that's what makes it an essay and not a blog post.
- **Arrived-at view:** what you think now. Not a tidy thesis. Closer to "here's where I've landed, with these open questions."
**Anti-pattern:** the LinkedIn-influencer "lessons learned" cadence. "Lesson 1. Lesson 2. Lesson 3." If you find yourself bullet-pointing the takeaway, you've stopped writing an essay.
**Tell AI:**
```
Write a [1500/2000/2500]-word founder essay.
Voice: [paste voice card]
Personal stake: [the specific experience this essay turns on]
Tension: [what I didn't know, got wrong, or am still working out]
Where I've landed (roughly): [your current view, with open questions allowed]
Constraints:
- This is an essay, not a blog post. It can wander. It doesn't need a tidy thesis.
- No "lessons learned" or numbered takeaways
- No motivational closer ("the journey continues...")
- Open with the specific experience, not a setup
- End where my thinking actually ends — open questions are fine
```
---
## Format: Build-in-public update (200–500 words)
For threads, single posts, weekly recaps, monthly reviews.
**Shape:** the number or shipped thing → what was hard → what changed in your view.
- **Open with the specific.** "We hit $4K MRR last week" or "I shipped the new onboarding on Tuesday and pulled it back on Wednesday." Not "Here's an update on what we've been up to."
- **What was hard:** the actual hard part, not the polished version. If the hard part is "I almost gave up on Thursday," say that.
- **What changed in your view:** the small reframe. The thing you'll do differently. Specific.
**Anti-pattern:** the progress brag with no specifics ("Made tons of progress! Excited for what's next!"). Or the formulaic three-emoji-bullet recap.
**Tell AI:**
```
Write a build-in-public [thread / single post / weekly recap], [200/300/500] words.
Voice: [paste voice card]
The number / shipped thing: [specific]
What was hard: [the actual hard part]
What changed in my view: [the reframe or new decision]
Constraints:
- Open on the specific. No "Here's what I've been up to."
- Name the hard part honestly, not the polished version
- One reframe at the end, not three takeaways
- No celebratory emoji-bullets
```
---
## Format: About page / origin story (300–600 words)
**Shape:** the problem you ran into → why existing answers didn't work → what you're building → who it's for.
- **The problem you ran into:** a specific situation, not a market. "I was running invoicing for my agency in three spreadsheets" beats "Small businesses face complex billing challenges."
- **Why existing answers didn't work:** for *you*. Be specific about which ones and why. This is also positioning.
- **What you're building:** plain language. What it does, not what it represents.
- **Who it's for:** named, not "anyone who needs…"
**Anti-pattern:** the compaRelated in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".