Agent skill

Blog Post

by espennilsen in espennilsen/pi

Draft, edit, and publish blog posts for e9n.dev. An agent skill from espennilsen/pi.

MITAuto-check passedWriting & Content

Install Blog Post

skills CLI
$ npx skills add espennilsen/pi --skill blog-post -a claude-code

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

GitHub CLI
$ gh skill install espennilsen/pi 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/espennilsen/pi.git skills-src && mkdir -p .claude/skills && cp -r skills-src/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
122
Token cost
~565 tokens
SKILL.md length
208 words
Files
1
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

Draft, edit, and publish blog posts for e9n.dev. An agent skill from espennilsen/pi.

  • Works in 5 steps: Read existing posts to match voice and… → Create the post file using the project's… → Frontmatter template → …
  • Creating new posts
  • SKILL.md covers Voice & Style, Process, Preview and Common Tags
  • Calls npm

What it does

Blog Post is an agent skill from espennilsen/pi. Draft, edit, and publish blog posts for e9n.dev. Use when creating new posts, editing drafts, or refining existing content. Handles Eleventy frontmatter, Tailwind formatting, and Espen's authentic voice.

Its SKILL.md is about 570 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 and CSS and styling. It works with Tailwind CSS. The licence is MIT.

When your agent uses it

  • Creating new posts
  • Refining existing content

Example prompts

  • “/blog-post”

Workflow steps

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

  1. Read existing posts to match voice and format
  2. Create the post file using the project's naming convention
  3. Frontmatter template
  4. Structure
  5. Review checklist

What it can do on your machine

Read from SKILL.md and the folder at commit 79d019b. 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:

    • npm

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

  • Network

    No URLs in SKILL.md. Its commands use npm, 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 565 tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 208 words of instructions outside code blocks.

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

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 espennilsen/pi at commit 79d019b, republished under its MIT licence (© espennilsen). 208 words, ~565 tokens.

Download SKILL.mdSave it as .claude/skills/blog-post/SKILL.md (or your agent's skills folder).
name
blog-post
description
Draft, edit, and publish blog posts for e9n.dev. Use when creating new posts, editing drafts, or refining existing content. Handles Eleventy frontmatter, Tailwind formatting, and Espen's authentic voice.

Blog Post — e9n.dev

Write and publish blog posts for Espen's blog at /Users/espen/Dev/e9n.dev/.

Voice & Style

Espen's writing style:

  • Direct and practical — No fluff, no generic AI-sounding filler
  • First-person narrative — Personal experience and honest takes
  • Technical credibility — Can go deep but always ties back to real outcomes
  • Conversational authority — Reads like a senior practitioner sharing field notes, not a textbook
  • Anti-hype — De-hyped, outcome-first perspective on AI and tech

Avoid:

  • "In today's rapidly evolving landscape…" and similar generic openings
  • Buzzword stacking without substance
  • Overly formal or academic tone
  • Listicles without narrative thread

Process

  1. Read existing posts to match voice and format:

    bash
    ls /Users/espen/Dev/e9n.dev/src/posts/

    Read 2-3 recent posts to calibrate tone.

  2. Create the post file using the project's naming convention:

    /Users/espen/Dev/e9n.dev/src/posts/YYYY-MM-DD-slug.md
  3. Frontmatter template:

    yaml
    ---
    title: "Post Title"
    description: "One-line description for SEO and social sharing"
    date: YYYY-MM-DD
    tags:
      - ai
      - sales
      - self-growth
    ---
  4. Structure:

    • Hook in the first paragraph (personal anecdote, bold claim, or question)
    • 2-4 main sections with practical takeaways
    • Concrete examples, code snippets, or frameworks where relevant
    • Close with a next action or reflection, not a generic summary
  5. Review checklist:

    • Does it sound like Espen, not an AI?
    • Is there a concrete takeaway in every section?
    • Would a senior technical/sales reader find this worth their time?
    • Is the frontmatter complete (title, description, date, tags)?

Preview

bash
cd /Users/espen/Dev/e9n.dev && npm run dev

Common Tags

ai, sales, self-growth, agentic-ai, productivity, leadership, stoicism, infrastructure, devops, typescript

© espennilsen, 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 skills/blog-post of espennilsen/pi.

Open the folder on GitHubat commit 79d019b

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 skillespennilsen/pi122—~565Automated safety check: PassMIT
Post Writingbenjamincrozat/blog-v5135—~2.3kAutomated safety check: PassNone
Anti Slop FrontendBlackBeltTechnology/pi-agent-dashboard315—~3.5kAutomated safety check: PassMIT
Tailwindcss Developmentanonaddy/anonaddy4.9k10 repos~865Automated safety check: PassMIT
UI StylingOhh-889/skyroc79513 repos~2.5kAutomated safety check: PassMIT
MCP Developmentcoollabsio/coolify63k1 repos~949Automated safety check: PassMIT

Similar skills

  • Post Writing

    benjamincrozat/blog-v5

    Draft and revise publication-ready Markdown blog posts with reader-first writing, current primary sources, tested examples, reproducible benchmarks for quantitative claims, visually inspected…

    135 GitHub stars~2.3k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Anti Slop Frontend

    BlackBeltTechnology/pi-agent-dashboard

    A mechanical, countable anti-slop checklist for AI-generated frontend.

    315 GitHub stars~3.5k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Tailwindcss Development

    anonaddy/anonaddy

    Always invoke when the user's message includes 'tailwind' in any form.

    4.9k GitHub starsUsed in 10 repos~865 tokens
    Frontend & DesignAuto-check passed
  • UI Styling

    Ohh-889/skyroc

    Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.

    795 GitHub starsUsed in 13 repos~2.5k tokens
    Frontend & DesignAuto-check passed
  • MCP Development

    coollabsio/coolify

    A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 1 repo~949 tokens
    Frontend & DesignAuto-check passed
  • Reviews and converts UI code to Chakra UI v3, producing a critique, rewritten code or both, from plain HTML, Tailwind, CSS Modules or styled-components.

    41k GitHub stars~2.8k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed

More from espennilsen/pi

All 36 skills in this repo
  • GitHub

    espennilsen/pi

    Interact with GitHub repos, PRs, issues, CI, and notifications via the pi-github extension commands and gh CLI.

    122 GitHub stars~1k tokensUpdated 17 days ago
    Auto-check passed
  • Skill Creator

    espennilsen/pi

    Create, review, and improve skills for Pi agents. An agent skill from espennilsen/pi.

    122 GitHub stars~2.1k tokensUpdated 17 days ago
    Auto-check passed
  • Dry Code Review

    espennilsen/pi

    Perform a comprehensive DRY (Don't Repeat Yourself) code review on a codebase.

    122 GitHub stars~1.7k tokensUpdated 17 days ago
    Auto-check passed
  • Extract Design System

    espennilsen/pi

    Reverse-engineer a design system from a live website (public URL or localhost).

    122 GitHub stars~2k tokensUpdated 17 days ago
    Auto-check passed
  • PDF Reader

    espennilsen/pi

    Read and extract content from PDF files — text, tables, metadata, and images.

    122 GitHub stars~1.6k tokensUpdated 17 days ago
    Auto-check passed
  • Google Workspace

    espennilsen/pi

    Manage Google Workspace via the gws CLI — Drive, Gmail, Sheets, Docs, Slides, People, Chat, Meet, Forms, and cross-service workflows.

    122 GitHub stars~3.4k tokensUpdated 17 days ago
    Auto-check passed

Works with

Questions about Blog Post

What does Blog Post do?

Draft, edit, and publish blog posts for e9n.dev. An agent skill from espennilsen/pi. Blog Post is an agent skill from espennilsen/pi.dev.

When should I use Blog Post?

Blog Post fits situations like: creating new posts; refining existing content.

How do I install Blog Post in Claude Code?

Run `npx skills add espennilsen/pi --skill blog-post -a claude-code`. Or copy the skill folder (skills/blog-post in espennilsen/pi) 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 espennilsen/pi --skill blog-post -a codex`. Or copy the skill folder (skills/blog-post in espennilsen/pi) 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 espennilsen/pi --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 (npm).

Does Blog Post access the network?

SKILL.md contains no URLs. Its commands use npm, 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 565 tokens (SKILL.md is roughly 2.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 Blog Post?

Skills that share tags, products or a category with Blog Post: Post Writing (benjamincrozat/blog-v5, 135 stars), Anti Slop Frontend (BlackBeltTechnology/pi-agent-dashboard, 315 stars), Tailwindcss Development (anonaddy/anonaddy, 4.9k stars) and UI Styling (Ohh-889/skyroc, 795 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Blog Post?

espennilsen (a GitHub user) maintains it in espennilsen/pi, which has 122 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on September 21, 2026.

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