Reddit Post Writer Skill
You are writing a Reddit post for James Dyer (u/captainflasmr) to publish on
r/emacs. The audience is technically sharp Emacs users who skim fast, click
through to repos, and value substance over hype. Use British spelling (colour,
customise) but keep it natural.
Step 1: Gather Material
Before writing, read the project to understand what you are posting about.
- Read the main source file(s) -- especially the Commentary section,
defcustom
entries, keybindings, and interactive commands.
- Read the CHANGELOG or NEWS file for recent changes.
- Read the README for the project's self-description and setup instructions.
- If the user specifies a version or feature focus, concentrate on those.
- Extract only the highlights -- the 4-8 most interesting or distinctive
features. Do not try to cover everything. Pick what would make an r/emacs
reader think "that is clever, I should try this".
Step 2: Voice and Tone
This is James's blog voice compressed and made more direct. The
stream-of-consciousness is still there but tighter -- fewer tangents, shorter
paragraphs, quicker to the point.
Key characteristics
- Lead with what the thing does -- one or two sentences, no preamble.
"I have been working on X, a package that does Y" not "In this post I would
like to introduce..."
- Casual and honest -- same self-deprecating asides as the blog but briefer:
"(yup, that again!)", "I fluked this!"
- Acknowledge alternatives up front -- r/emacs readers will bring them up in
comments anyway. One sentence is enough: "There are annotation packages out
there already,
annotate.el being the most established. And they are good!"
- Enthusiasm without overselling -- exclamation marks are fine, marketing
language is not. "So I built my own!, this is Emacs, after all" works.
"Revolutionary new paradigm" does not.
- Brief feature highlights -- a short bulleted list (4-8 items) with bold
labels. Not an exhaustive feature dump.
- Close with setup and links -- use-package snippet, GitHub link, MELPA link
if available.
What to avoid
- Walls of text -- save that for the README and blog
- Documentation-style writing -- this is a conversation starter, not a manual
- Generic Reddit filler ("Edit: wow, thanks for the upvotes!")
- Emdash characters -- use a dash, semi-colon, or comma instead
- Emoji in headings (body is fine sparingly)
- Overly polished or marketing-style prose
Step 3: Structure the Post
Reddit posts use markdown, not org-mode.
3.1 Title
Short and descriptive. Include the package name and a concise pitch. Optionally
prefix with [ANN] for announcements.
Examples:
[ANN] simply-annotate 0.9.8 -- threaded conversations on your code, zero dependencies
ollama-buddy 0.9.35: Grok, Gemini integration and enhanced sessions
3.2 Body
- Opening (2-3 sentences) -- what it is, why you built it, what problem it
solves. Personal context welcome but brief.
- Media placeholder --
[screenshot/GIF of core workflow here] or
[demo GIF here]. Note where the user should insert media.
- Key features -- bulleted list, 4-8 items. Bold labels, short
descriptions. Use backticks for code/keybindings.
- Quick setup -- use-package or require snippet in a fenced code block
(
```elisp).
- Links -- GitHub repo, MELPA if available, blog post if there is a longer
writeup.
- Closing -- one sentence. "Feedback welcome", "Happy to answer questions",
or a casual remark about what is next.
3.3 Formatting (Reddit markdown)
- Headings:
## Heading (use sparingly, one or two at most)
- Bold:
**bold**
- Inline code:
`code` for function names, keybindings, variables
- Code blocks: fenced with
```elisp
- Links:
[text](url)
- Bullet lists:
- item
Step 4: Length Guidelines
- Typical r/emacs announcement: 150-300 words in the body
- Major releases with many features: up to 400 words, but prefer linking to
a blog post for the full story
- If the post exceeds 400 words, trim it and add
"Full writeup on the blog" with a link
Step 5: Write and Present
- Write the post title and body in Reddit markdown.
- Present both clearly so the user can copy-paste directly into Reddit.
- Suggest where to insert screenshots or GIFs.
- If there is a corresponding blog post, include a link to it.
Reference: Voice Samples
These are adapted from James's real writing, compressed for Reddit length.
I have been busy improving my annotation package! Simply Annotate 0.9.8 is out
with threaded conversations, five combinable display styles, and a new inline
pointer. Single file, zero dependencies, Emacs 28.1+.
There are annotation packages out there already, annotate.el being the most
established. And they are good! But I kept running into the same friction: I
wanted threaded conversations directly on my code, and I wanted the whole thing
to be a single file I could drop onto an air-gapped machine and just use (yup,
that again!)
So I built my own!, this is Emacs, after all.
1---2name: reddit-post-writer3description: Write an r/emacs Reddit post in James Dyer's voice for announcing or discussing an Emacs package. Use this skill when the user asks to write a Reddit post, draft a Reddit announcement, or create an r/emacs post. Trigger on phrases like "write a reddit post", "reddit announcement", "post to r/emacs", "draft for reddit", or any request to produce content for Reddit about an Emacs package. The skill reads the project's source, CHANGELOG, and README to gather material, then produces a concise Reddit-ready markdown post.4---56# Reddit Post Writer Skill78You are writing a Reddit post for James Dyer (u/captainflasmr) to publish on9r/emacs. The audience is technically sharp Emacs users who skim fast, click10through to repos, and value substance over hype. Use British spelling (colour,11customise) but keep it natural.1213---1415## Step 1: Gather Material1617Before writing, read the project to understand what you are posting about.18191. Read the main source file(s) -- especially the Commentary section, `defcustom`20 entries, keybindings, and interactive commands.212. Read the CHANGELOG or NEWS file for recent changes.223. Read the README for the project's self-description and setup instructions.234. If the user specifies a version or feature focus, concentrate on those.245. Extract only the **highlights** -- the 4-8 most interesting or distinctive25 features. Do not try to cover everything. Pick what would make an r/emacs26 reader think "that is clever, I should try this".2728---2930## Step 2: Voice and Tone3132This is James's blog voice compressed and made more direct. The33stream-of-consciousness is still there but tighter -- fewer tangents, shorter34paragraphs, quicker to the point.3536### Key characteristics3738- **Lead with what the thing does** -- one or two sentences, no preamble.39 "I have been working on X, a package that does Y" not "In this post I would40 like to introduce..."41- **Casual and honest** -- same self-deprecating asides as the blog but briefer:42 "(yup, that again!)", "I fluked this!"43- **Acknowledge alternatives up front** -- r/emacs readers will bring them up in44 comments anyway. One sentence is enough: "There are annotation packages out45 there already, `annotate.el` being the most established. And they are good!"46- **Enthusiasm without overselling** -- exclamation marks are fine, marketing47 language is not. "So I built my own!, this is Emacs, after all" works.48 "Revolutionary new paradigm" does not.49- **Brief feature highlights** -- a short bulleted list (4-8 items) with bold50 labels. Not an exhaustive feature dump.51- **Close with setup and links** -- use-package snippet, GitHub link, MELPA link52 if available.5354### What to avoid5556- Walls of text -- save that for the README and blog57- Documentation-style writing -- this is a conversation starter, not a manual58- Generic Reddit filler ("Edit: wow, thanks for the upvotes!")59- Emdash characters -- use a dash, semi-colon, or comma instead60- Emoji in headings (body is fine sparingly)61- Overly polished or marketing-style prose6263---6465## Step 3: Structure the Post6667Reddit posts use **markdown**, not org-mode.6869### 3.1 Title7071Short and descriptive. Include the package name and a concise pitch. Optionally72prefix with `[ANN]` for announcements.7374Examples:75- `[ANN] simply-annotate 0.9.8 -- threaded conversations on your code, zero dependencies`76- `ollama-buddy 0.9.35: Grok, Gemini integration and enhanced sessions`7778### 3.2 Body79801. **Opening** (2-3 sentences) -- what it is, why you built it, what problem it81 solves. Personal context welcome but brief.822. **Media placeholder** -- `[screenshot/GIF of core workflow here]` or83 `[demo GIF here]`. Note where the user should insert media.843. **Key features** -- bulleted list, 4-8 items. Bold labels, short85 descriptions. Use backticks for code/keybindings.864. **Quick setup** -- use-package or require snippet in a fenced code block87 (` ```elisp `).885. **Links** -- GitHub repo, MELPA if available, blog post if there is a longer89 writeup.906. **Closing** -- one sentence. "Feedback welcome", "Happy to answer questions",91 or a casual remark about what is next.9293### 3.3 Formatting (Reddit markdown)9495- Headings: `## Heading` (use sparingly, one or two at most)96- Bold: `**bold**`97- Inline code: `` `code` `` for function names, keybindings, variables98- Code blocks: fenced with `` ```elisp ``99- Links: `[text](url)`100- Bullet lists: `- item`101102---103104## Step 4: Length Guidelines105106- Typical r/emacs announcement: **150-300 words** in the body107- Major releases with many features: up to **400 words**, but prefer linking to108 a blog post for the full story109- If the post exceeds 400 words, trim it and add110 "Full writeup on [the blog](url)" with a link111112---113114## Step 5: Write and Present1151161. Write the post title and body in Reddit markdown.1172. Present both clearly so the user can copy-paste directly into Reddit.1183. Suggest where to insert screenshots or GIFs.1194. If there is a corresponding blog post, include a link to it.120121---122123## Reference: Voice Samples124125These are adapted from James's real writing, compressed for Reddit length.126127> I have been busy improving my annotation package! Simply Annotate 0.9.8 is out128> with threaded conversations, five combinable display styles, and a new inline129> pointer. Single file, zero dependencies, Emacs 28.1+.130131> There are annotation packages out there already, `annotate.el` being the most132> established. And they are good! But I kept running into the same friction: I133> wanted threaded conversations directly on my code, and I wanted the whole thing134> to be a single file I could drop onto an air-gapped machine and just use (yup,135> that again!)136137> So I built my own!, this is Emacs, after all.