agentleFS
rsdltrsdlt/rsdlt.github.io/.claude/skills/blog-post/SKILL.md

blog-post

Skill1 starsChanged 26 days agoMITView on GitHub

House rules for writing, editing and scheduling posts on rsdlt.dev (this Astro blog). Use whenever drafting a new post, turning notes, an announcement or a git log into a post, writing the next post in a series (Building levi, Foambyte engineering), scheduling a post for a future date, or revising an existing post in src/content/posts.

27 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use remote-db-sync, tia-frontend-design-site and 5 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • alfredangSkill

    remote-db-sync

    Push local DB content (menus, settings, taxonomy, pages, posts) to the production database via bearer-token-protected sync APIs. Use when the user wants to publish local CMS/admin edits to the live site without logging into the production admin UI, or to extend the sync surface for new tables. Triggers — "push to production", "sync to remote", "deploy menu/settings/page/post", "the live site doesn't show my change".

    Also in 3 projects that use this

  • alfredangSkill

    tia-frontend-design-site

    This site's own design system for Tertiary Infotech Academy (tertiaryinfotech.edu.sg) — light mint public pages, a dark animated matrix-green hero with the fibre-optic globe, generated artwork, Exo 2 + Inter, compact non-template layouts, live-online copy. Load with the user-level tia-frontend-design skill whenever building, restyling or reviewing ANY UI in this repo.

    Also in 3 projects that use this

  • anshul-garg27Skill

    newsletter

    Create engaging email newsletters with subject lines, sections, and CTAs for Substack, Beehiiv, ConvertKit, or plain email

    Also in 3 projects that use this

  • ukunal91appSkill

    lead-magnets

    When the user wants to create, plan, or optimize a lead magnet for email capture or lead generation. Also use when the user mentions "lead magnet," "gated content," "content upgrade," "downloadable," "ebook," "cheat sheet," "checklist," "template download," "opt-in," "freebie," "PDF download," "resource library," "content offer," "email capture content," "Notion template," "spreadsheet template," or "what should I give away for emails." Use this for planning what to create and how to distribute it. For interactive tools as lead magnets, see free-tool-strategy. For writing the actual content, see copywriting. For the email sequence after capture, see email-sequence.

    Also in 3 projects that use this

  • AnthropicSkill

    seo-audit

    Run a comprehensive SEO audit — keyword research, on-page analysis, content gaps, technical checks, and competitor comparison. Use when assessing a site's SEO health, when finding keyword opportunities and content gaps competitors own, or when you need a prioritized action plan split into quick wins and strategic investments.

    Also in 5 projects that use this

  • VercelSkill

    find-skills

    Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

    Also in 3 projects that use this

  • +1 more from alfredang

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 3 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 23 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Projects: read the git log with bodies (git log --reverse --format='%ad %h %s%n%b'), the diffs of the commits you cover, and the project's …

    line 14
  2. Very specific:

    Code samples are real excerpts: If you trim one, add a // Simplified from <file> comment.

    line 24
  3. Distinctive:

    Don't run prettier on posts.

    line 49
  4. Very specific:

    Scheduled posts go out at 9:00: use T09:00:00 with the right offset.

    line 57
  5. Distinctive:

    To publish now,: use a time that has already passed.

    line 59
  6. Very specific:

    After the draft is complete, apply the stop-slop skill to cut AI writing patterns: filler, formulaic contrasts, passive voice, vague …

    line 94
  7. Distinctive:

    Every internal link points to a post that exists and is already live.

    line 103
  8. Very specific:

    Commit the post on its own ("Add a post on …" or "Schedule Building levi post N").

    line 105

“Common” is measured: kept by at least 6 in 10 of the 23 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Writing a post for rsdlt.dev

rsdlt.dev is Rodrigo Santiago's blog: first-hand posts about building software, mostly Foambyte (React, Hono, Cloudflare Workers, Postgres), levi (a Rust git TUI) and working with Claude Code. Every post documents real work. Accuracy matters more than polish.

1. Gather facts from primary sources

  • Projects: read the git log with bodies (git log --reverse --format='%ad %h %s%n%b'), the diffs of the commits you cover, and the project's plan or README. For levi that's ../levi, its commit bodies and docs/plan.md.
  • News and announcements: fetch the original source. Quote numbers exactly and attribute vendor claims ("Google's own numbers, not independent").
  • Every number needs a source you could point to. Keep comparisons like for like: don't turn "55 s for a full search" and "0.16 s for a scoped query" into "340x faster".
  • Never invent the author's feelings, motivations, opinions or anecdotes ("my favorite part", "the feature I use most", "I wanted"). If the post needs them, write around them and list them for the author to fill in.
  • Code samples are real excerpts. If you trim one, add a // Simplified from <file> comment.

2. File and frontmatter

Path: src/content/posts/<slug>.md. The slug is kebab-case with the search keywords people would type (integration-testing-cloudflare-workers-postgres-pglite-vitest). URLs are /posts/<slug>/ and must never change once published.

---
title: "Specific, Keyword-Rich Title: With a Concrete Payoff"
pubDatetime: 2026-10-18T09:00:00-05:00
description: "One sentence, under ~160 characters, saying what the reader learns."
tags: ["levi", "rust", "git", "claude code"]
---
  • pubDatetime uses Central time with an explicit offset: -05:00 during daylight saving (CDT, mid-March to early November), -06:00 otherwise (CST). Check with date if unsure.
  • Tags are lowercase. Series tags decide which series page lists the post:
    • foambyte: Foambyte engineering series (/foambyte). Architecture posts only, not news.
    • levi: Building levi series (/levi).
  • Optional fields: modDatetime (when revising a published post), featured, draft: true, ogImage.
  • Don't run prettier on posts. It rewrites the Markdown.

3. Scheduling

Production builds hide posts whose pubDatetime is in the future (minus a 15-minute margin), everywhere: lists, tags, RSS, series pages, llms.txt, the post page and its OG image. The site rebuilds every day at about 9:17 Central, with spare runs an hour and two hours later (.github/workflows/deploy.yml), and on every push.

  • Scheduled posts go out at 9:00: use T09:00:00 with the right offset. Later times wait until the next day's run or the next push.
  • To publish now, use a time that has already passed.
  • One post per day for a series, on consecutive days unless told otherwise.
  • Never link to a post that isn't live yet. Link back to earlier posts, not forward. Mentioning a future post in plain text is fine.

4. Structure and voice

  • Open with the point. The first paragraph says what the post covers and why it matters, with links to the project or source. In a series, it also links the series page and the previous post.
  • ## sections, ordered the way the work happened or the way the reader needs it.
  • Bulleted lists with bold lead-ins for sets of points, numbered lists for sequences, and tables for comparisons, benchmarks and before/after numbers.
  • Short paragraphs and plain words. First person, direct, specific. No em dashes.
  • End with ## Takeaways: 3 to 5 bullets with bold lead-ins, each a lesson the reader can reuse. In a series, follow with one sentence on what the next post covers.
  • End every post with this footer, verbatim:
---

*I'm Rodrigo Santiago, a product leader who builds. I co-founded [Foambyte](https://foambyte.com) with my brother Diego, a brewmaster who leads the product as CPO, and I designed and built the platform: architecture, frontend, backend, mobile and infrastructure. If you need someone who can own both the product and the code, [let's talk on LinkedIn](https://www.linkedin.com/in/rsdlt).*

Series specifics

  • Building levi: one post per work session, oldest first, open-ended as levi keeps shipping. Every post has a ## How Claude Code fit in section grounded in the commits: the plan as the contract, numbers in commit messages, CI gates, small releases, measured and rejected ideas.
  • Foambyte engineering: each post explains a decision, the alternatives and why it was the right trade-off at the time.

5. Prose pass

After the draft is complete, apply the stop-slop skill to cut AI writing patterns: filler, formulaic contrasts, passive voice, vague declaratives, pull-quote endings. Where stop-slop and this skill disagree, this skill wins: keep the bold lead-ins, tables, Takeaways section and the footer.

6. Verify, commit, report

  1. pnpm build finishes with 0 errors. For a scheduled post, confirm it's absent from dist/ (the production build hides it) and that it renders in pnpm dev.
  2. Every internal link points to a post that exists and is already live.
  3. Re-check each number and quote against its source one last time.
  4. Commit the post on its own ("Add a post on …" or "Schedule Building levi post N"). Never push; end with ready for you to push.
  5. Tell the author what to review: claims you couldn't verify, and anywhere a personal detail would make the post stronger.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.