Agent skill

Blogpost Creator

by Xe in Xe/site

Create new blogposts from a template or linkposts using the hydrate command.

ZlibAuto-check passedWriting & Content

Install Blogpost Creator

skills CLI
$ npx skills add Xe/site --skill blogpost-creator -a claude-code

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

GitHub CLI
$ gh skill install Xe/site blogpost-creator --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/Xe/site.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/blogpost-creator .claude/skills/blogpost-creator && 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
blogpost-creator
GitHub stars
732
Token cost
~1.1k tokens
SKILL.md length
533 words
Files
2
Skills in repo
12
Repo updated
First seen
Licence
Zlib

At a glance

Create new blogposts from a template or linkposts using the hydrate command.

  • Works in 9 steps: For linkposts: Extracts slug from URL… → For other post types: Generates a… → For linkposts: Can auto-fetch title,… → …
  • Tasks that involve Blog and article writing
  • SKILL.md covers Usage, What it does, File structure and Frontmatter templates, plus 3 more sections
  • Runs JavaScript scripts from its folder; calls node and go; reaches anubis.techaro.lol

What it does

Blogpost Creator is an agent skill from Xe/site. Create new blogposts from a template or linkposts using the hydrate command.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `extract-meta.js`).

It sits in Writing & Content, covering Blog and article writing. The repository describes itself as: The new frontend/backend code for https://xeiaso.net. The licence is Zlib.

When your agent uses it

  • Tasks that involve Blog and article writing

Example prompts

  • “/blogpost-creator”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Read, Grep, Glob, WebFetch, Bash(go run *), Edit, Write

Workflow steps

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

  1. For linkposts: Extracts slug from URL basename if no custom slug provided (e.g., https://example.com/blog/my-post becomes "my-post")
  2. For other post types: Generates a URL-friendly slug from your title (or uses your custom slug)
  3. For linkposts: Can auto-fetch title, description, and publication date from the provided URL
  4. Validates that linkposts have a URL provided (prompts if missing)
  5. Runs go run ./cmd/hydrate with the appropriate parameters
  6. For linkposts: Updates the redirect_to field in the frontmatter with the provided URL
  7. For linkposts: Adds fetched summary to the post body if available
  8. Opens the created file in VS Code for editing
  9. Shows you the file location for reference

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Grep
    • Glob
    • WebFetch
    • Bash(go run *)
    • Edit
    • Write

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • go

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • anubis.techaro.lol

    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

Blogpost Creator loads about 1.1k tokens when it runs. Until then it costs about 23 tokens; SKILL.md has 533 words of instructions outside code blocks.

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

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 Xe/site at commit ca51680, republished under its Zlib licence (© Xe). 533 words, ~1,087 tokens.

Download SKILL.mdSave it as .claude/skills/blogpost-creator/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
blogpost-creator
description
Create new blogposts from a template or linkposts using the hydrate command.
allowed-tools
Read, Grep, Glob, WebFetch, Bash(go run *), Edit, Write

Blog Post Creator

Create new blog posts for Xe's site using the hydrate command.

Usage

Invoke this skill when you want to create a new blog post. The skill will prompt you for:

  • Post type: blog, linkpost, note, talk, or xecast
  • Title: The title of your post (for linkposts, can auto-fetch from URL)
  • Description: A brief description/summary (for linkposts, can auto-fetch from URL)
  • Link URL: (required for linkposts) The URL this post should redirect to
  • Publication date: (optional, for linkposts can auto-extract from the page, defaults to today if not found)
  • Custom slug: (optional, for linkposts will auto-extract from URL basename if not provided)

What it does

  1. For linkposts: Extracts slug from URL basename if no custom slug provided (e.g., https://example.com/blog/my-post becomes "my-post")
  2. For other post types: Generates a URL-friendly slug from your title (or uses your custom slug)
  3. For linkposts: Can auto-fetch title, description, and publication date from the provided URL
  4. Validates that linkposts have a URL provided (prompts if missing)
  5. Runs go run ./cmd/hydrate <kind> <slug> with the appropriate parameters
  6. For linkposts: Updates the redirect_to field in the frontmatter with the provided URL
  7. For linkposts: Adds fetched summary to the post body if available
  8. Opens the created file in VS Code for editing
  9. Shows you the file location for reference

File structure

Blog posts are created in:

  • lume/src/blog/<year>/<slug>.mdx for blog and linkpost
  • lume/src/notes/<year>/<slug>.mdx for notes
  • lume/src/talks/<year>/<slug>.mdx for talks
  • lume/src/xecast/<year>/<slug>.mdx for xecast

Frontmatter templates

Each post type has its own frontmatter template:

Blog posts include hero image configuration:

yaml
---
title: ""
desc: ""
date: YYYY-MM-DD
hero:
  ai: ""
  file: ""
  prompt: ""
  social: false
---

Link posts include a redirect URL:

yaml
---
title: ""
date: YYYY-MM-DD
redirect_to: "https://example.com"
---

Other types (notes, talks, xecast) have simpler frontmatter:

yaml
---
title: ""
desc: ""
date: YYYY-MM-DD
---
Show full SKILL.md (261 more words)Show less

Linkpost Special Features

Linkposts have enhanced functionality:

  1. Automatic slug extraction: If no custom slug is provided, the skill will extract the basename from the URL (e.g., https://example.com/blog/my-post becomes my-post)

  2. Auto-fetching content: The skill can automatically fetch the webpage to extract:

    • The page title (used as the post title)
    • A summary/description (added to the post body)
    • The publication date (used as the post date, defaults to today if not found)
    • This saves time and ensures accurate representation of the linked content

Use the extract-meta.js file in this folder to extract meta-information from webpages:

bash
node extract-meta.js <url>
  1. URL handling: The skill handles redirects and will follow them to get the final content for title/description extraction

Example Linkpost Workflow

When creating a linkpost with a URL like https://anubis.techaro.lol/blog/2025/file-abuse-reports:

  1. Skill detects it's a linkpost with a URL
  2. Extracts slug "file-abuse-reports" from URL basename
  3. Fetches the webpage to get:
    • The actual title: "Taking steps to end traffic from abusive cloud providers"
    • A summary of the content for the post body
    • The publication date from the page (e.g., "2025-01-15")
  4. Creates the post with auto-generated slug, fetched title, and extracted date
  5. Adds the summary to the post body for context
  6. Updates the redirect_to field with the provided URL

Date Extraction Details

The skill will look for publication dates in various formats:

  • Meta tags: <meta property="article:published_time" content="2025-01-15">
  • JSON-LD structured data: "datePublished": "2025-01-15"
  • HTML5 semantic elements: <time datetime="2025-01-15">
  • Common date patterns in the page content
  • URL patterns: Extracts date from URL structure like /blog/2025/my-post

If no date is found, it defaults to today's date.

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

Files

SKILL.md and 1 other file in .agents/skills/blogpost-creator of Xe/site.

  • SKILL.md
  • extract-meta.js

Open the folder on GitHubat commit ca51680

Compare with similar skills

Blogpost Creator 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.

Blogpost Creator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Blogpost Creator this skillXe/site732—~1.1kAutomated safety check: PassZlib
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 2 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 8 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 today
    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
  • Stop Slop

    Xe/site

    Remove AI writing patterns from prose. An agent skill from Xe/site.

    732 GitHub starsUsed in 8 repos~423 tokens
    Auto-check passed
  • Choose and create the right Neon branch type for testing and development.

    732 GitHub starsUsed in 3 repos~2.4k tokens
    Auto-check: notes
  • Guides and best practices for working with Neon Serverless Postgres.

    732 GitHub starsUsed in 2 repos~1.8k tokens
    Auto-check passed
  • A skill your agent uses when creating git commits, writing commit messages, or following version control workflows

    732 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when asked to generate a "no way to prevent this" / no-way-to-prevent-this satire post for a memory-safety CVE (out-of-bounds write/read, buffer/heap overflow…

    732 GitHub stars~816 tokensUpdated today
    Auto-check passed
  • Create reusable templ UI components with props, children, and composition patterns.

    732 GitHub stars~552 tokensUpdated today
    Auto-check passed

Questions about Blogpost Creator

What does Blogpost Creator do?

Create new blogposts from a template or linkposts using the hydrate command. Blogpost Creator is an agent skill from Xe/site. Create new blogposts from a template or linkposts using the hydrate command.

When should I use Blogpost Creator?

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

How do I install Blogpost Creator in Claude Code?

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

How do I install Blogpost Creator in Codex?

Run `npx skills add Xe/site --skill blogpost-creator -a codex`. Or copy the skill folder (.agents/skills/blogpost-creator in Xe/site) into .agents/skills/blogpost-creator in your project. Codex loads it when a task matches its description.

Can I use Blogpost Creator 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 Xe/site --skill blogpost-creator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/blogpost-creator, .gemini/skills/blogpost-creator, .github/skills/blogpost-creator and .opencode/skills/blogpost-creator in your project.

What does Blogpost Creator need to run?

Going by SKILL.md and its folder, Blogpost Creator needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node and go). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Grep, Glob, WebFetch, Bash(go run *), Edit, Write.

Does Blogpost Creator access the network?

SKILL.md names 1 domain. In commands or code: anubis.techaro.lol; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Blogpost Creator 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 Blogpost Creator use?

Blogpost Creator is published under the Zlib licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Blogpost Creator use?

About 1.1k tokens (SKILL.md is roughly 4.3k 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 Blogpost Creator?

Skills that share tags, products or a category with Blogpost Creator: 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 Blogpost Creator?

Xe (a GitHub user) maintains it in Xe/site, which has 732 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 8, 2026.

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