Agent skill

Blog Post

by samuelclay in samuelclay/NewsBlur

Write a blog post for a new feature based on the current branch changes

MITAuto-check passedWriting & Content

Install Blog Post

skills CLI
$ npx skills add samuelclay/NewsBlur --skill blog-post -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install samuelclay/NewsBlur blog-post --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/samuelclay/NewsBlur.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/blog-post .claude/skills/blog-post && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
blog-post
GitHub stars
7.6k
Token cost
~846 tokens
SKILL.md length
364 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Write a blog post for a new feature based on the current branch changes

  • Works in 6 steps: Analyze the branch changes to understand… → Read the last 10 blog posts to match the… → Write the blog post following these… → …
  • Tasks that involve Blog and article writing
  • Calls git and bundle

What it does

Blog Post is an agent skill from samuelclay/NewsBlur. Write a blog post for a new feature based on the current branch changes

Its SKILL.md is about 850 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Writing & Content, covering Blog and article writing. The repository describes itself as: NewsBlur is a personal news reader that brings people together to talk about the world. A new sound of an old instrument. The licence is MIT.

When your agent uses it

  • Tasks that involve Blog and article writing

Example prompts

  • “/blog-post”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Analyze the branch changes to understand the feature
  2. Read the last 10 blog posts to match the voice and style
  3. Write the blog post following these guidelines
  4. Create the blog post file using the Write tool with the full content.
  5. Start the Jekyll server to preview
  6. Report what was created

What it can do on your machine

Read from SKILL.md and the folder at commit ba6ff88. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • bundle

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Blog Post loads about 846 tokens when it runs. Until then it costs about 20 tokens; SKILL.md has 364 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~20
When it runs · the whole SKILL.md, loaded when a task matches
~846

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from samuelclay/NewsBlur at commit ba6ff88, republished under its MIT licence (© samuelclay). 364 words, ~846 tokens.

Download SKILL.mdSave it as .claude/skills/blog-post/SKILL.md (or your agent's skills folder).
name
blog-post
description
Write a blog post for a new feature based on the current branch changes

Your task

Write a blog post announcing a new NewsBlur feature based on the changes in the current branch. The blog post should match NewsBlur's voice and style.

Arguments provided: {{ arguments }}

Use the arguments to determine:

  • Length: short (2-3 paragraphs), medium (standard feature announcement), or long (in-depth with history/context)
  • Tone: Any specific tone guidance (excited, technical, casual, etc.)
  • Focus: Any specific aspects to emphasize
Steps to execute
  1. Analyze the branch changes to understand the feature:

    bash
    git log main..HEAD --oneline
    git diff main..HEAD --stat

    Then read the full diff to understand what was built:

    bash
    git diff main..HEAD
  2. Read the last 10 blog posts to match the voice and style:

    bash
    ls -t blog/_posts/*.md | head -10

    Read each of these files to understand:

    • The conversational first-person voice
    • How features are introduced and explained
    • Screenshot placement and formatting
    • Section structure (headers, examples, etc.)
    • How posts end (forum link, availability info)
  3. Write the blog post following these guidelines:

    Front matter:

    yaml
    ---
    layout: post
    title: <compelling title that describes the feature>
    tags: ["web"]  # or ["ios"], ["android"], or multiple
    ---

    Voice and style:

    • First-person conversational tone ("I wanted...", "You can now...")
    • Start with the problem or motivation, then introduce the solution
    • Be direct and practical, not marketing-speak
    • Include real examples of how to use the feature
    • No em dashes or hyphens as punctuation. Restructure sentences instead.
    • Avoid AI slop: no overly polished language, no filler phrases like "excited to announce"

    Screenshots:

    • Use placeholder comments where screenshots should go:
      html
      <!-- SCREENSHOT: description of what to capture -->
      <img src="/assets/FILENAME.png" style="width: 80%;border: 1px solid rgba(0,0,0,0.1);margin: 24px auto;display: block;">
    • Adjust width (50%, 60%, 80%, 90%, 100%) based on content
    • Screenshots should show the feature in action

    Structure (for medium/long posts):

    • Opening paragraph: Problem/motivation + solution announcement
    • "How it works" or "How to use it" section
    • Screenshots showing the feature
    • Real-world examples or use cases (if applicable)
    • Closing: Availability info + forum link for feedback

    Filename format:

    blog/_posts/YYYY-MM-DD-slug-title.md

    Use today's date and a URL-friendly slug.

  4. Create the blog post file using the Write tool with the full content.

  5. Start the Jekyll server to preview:

    bash
    cd blog && bundle install && bundle exec jekyll serve

    Run bundle install first to ensure gems are up to date. Report that Jekyll is running and the user can preview at http://localhost:4000

  6. Report what was created:

    • The filename and path
    • The title
    • List of screenshot placeholders that need to be captured
    • Remind user to:
      • Take screenshots and save to blog/assets/
      • Update the placeholder image paths
      • Preview at http://localhost:4000

© samuelclay, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/blog-post of samuelclay/NewsBlur.

Open the folder on GitHubat commit ba6ff88

Compare with similar skills

Blog Post next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Blog Post compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Blog Post this skillsamuelclay/NewsBlur7.6k—~846Automated safety check: PassMIT
Khazix WeChat Article WriterKKKKhazix/khazix-skills21k1 repos~2.9kAutomated safety check: PassMIT
Figurevectorize-io/hindsight47k—~1.9kAutomated safety check: PassMIT
SepiaNanako0129/sepia3k—~3.6kAutomated safety check: PassMIT
Blog Post Draftingluongnv89/claude-howto42k—~2.1kAutomated safety check: PassMIT
Notion To Blogwasp-lang/wasp19k—~922Automated safety check: PassMIT

Similar skills

  • Khazix WeChat Article Writer

    KKKKhazix/khazix-skills

    Writes long-form WeChat official account articles in the personal style of the Khazix account, from briefs, links, PDFs or rough notes, with a topic quality check.

    21k GitHub starsUsed in 1 repo~2.9k tokens
    Writing & ContentAuto-check passed
  • Figure

    vectorize-io/hindsight

    Draw an animated figure (boxes, arrows, moving data) as one self-contained SVG for a GitHub README, PR, issue or blog post.

    47k GitHub stars~1.9k tokensUpdated today
    Writing & ContentAuto-check passed
  • Sepia

    Nanako0129/sepia

    Make AI-generated writing read as human-written, in fiction and in professional prose.

    3k GitHub stars~3.6k tokensUpdated 3 days ago
    Writing & ContentAuto-check passed
  • Blog Post Drafting

    luongnv89/claude-howto

    Guides drafting a blog post from an idea and optional source material: research, brainstorming, outlining and version-tracked drafts, with user approval at each step.

    42k GitHub stars~2.1k tokensUpdated 9 days ago
    Writing & ContentAuto-check passed
  • Notion To Blog

    wasp-lang/wasp

    Transfer a blog post from Notion to the Wasp blog. An agent skill from wasp-lang/wasp.

    19k GitHub stars~922 tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Blog Post

    nteract/semiotic

    Author a new entry for the Semiotic blog. An agent skill from nteract/semiotic.

    2.7k GitHub stars~3.4k tokensUpdated today
    Writing & ContentAuto-check passed

More from samuelclay/NewsBlur

  • Make Interfaces Feel Better

    samuelclay/NewsBlur

    Design engineering principles for making interfaces feel polished.

    7.6k GitHub starsUsed in 10 repos~1.5k tokens
    Auto-check passed
  • Commit PR

    samuelclay/NewsBlur

    A skill your agent uses when the user runs /commit-pr, says "commit and push", "open a PR", "ship this", asks to update an existing PR with new changes, or asks to resolve PR review comments in the…

    7.6k GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed
  • Newsblur CLI

    samuelclay/NewsBlur

    Manage your NewsBlur from the terminal. An agent skill from samuelclay/NewsBlur.

    7.6k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Investigate Forum

    samuelclay/NewsBlur

    Triage the NewsBlur support forum (forum.newsblur.com). An agent skill from samuelclay/NewsBlur.

    7.6k GitHub stars~5.7k tokensUpdated yesterday
    Auto-check passed

Questions about Blog Post

What does Blog Post do?

Write a blog post for a new feature based on the current branch changes. Blog Post is an agent skill from samuelclay/NewsBlur.

When should I use Blog Post?

Blog Post fits situations like: tasks that involve Blog and article writing.

How do I install Blog Post in Claude Code?

Run `npx skills add samuelclay/NewsBlur --skill blog-post -a claude-code`. Or copy the skill folder (.agents/skills/blog-post in samuelclay/NewsBlur) into .claude/skills/blog-post in your project. Claude Code loads it when a task matches its description.

How do I install Blog Post in Codex?

Run `npx skills add samuelclay/NewsBlur --skill blog-post -a codex`. Or copy the skill folder (.agents/skills/blog-post in samuelclay/NewsBlur) into .agents/skills/blog-post in your project. Codex loads it when a task matches its description.

Can I use Blog Post in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add samuelclay/NewsBlur --skill blog-post -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/blog-post, .gemini/skills/blog-post, .github/skills/blog-post and .opencode/skills/blog-post in your project.

What does Blog Post need to run?

Going by SKILL.md and its folder, Blog Post needs the command-line tools its instructions call (git and bundle).

Does Blog Post access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Blog Post safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Blog Post use?

Blog Post is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Blog Post use?

About 846 tokens (SKILL.md is roughly 3.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Blog Post?

Skills that share tags, products or a category with Blog Post: Khazix WeChat Article Writer (KKKKhazix/khazix-skills, 21k stars), Figure (vectorize-io/hindsight, 47k stars), Sepia (Nanako0129/sepia, 3k stars) and Blog Post Drafting (luongnv89/claude-howto, 42k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Blog Post?

samuelclay (a GitHub user) maintains it in samuelclay/NewsBlur, which has 7,646 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.

Source: samuelclay/NewsBlur on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.