Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
ahxt avatar

Blog New Post

  • 1 installs
  • 1 repo stars
  • Updated May 14, 2026
  • ahxt/academic-homepage-ai-native

blog-new-post is a Claude Code skill that scaffolds a new dated blog-post directory and starter source file in Typst, Markdown, MDX, or LaTeX.

About

blog-new-post scaffolds a new dated blog-post directory under content/ with a starter source file in the chosen format. It supports Typst, Markdown, MDX, and LaTeX, each pre-filled with the matching metadata block and sample headings. It derives the slug from the title, defaults the date to today, and confirms directory uniqueness. It deliberately leaves author and tags blank rather than inventing them.

  • Scaffolds a dated blog-post directory with a starter source file
  • Supports Typst, Markdown, MDX, and LaTeX formats
  • Pre-fills format-specific metadata frontmatter

Blog New Post by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #1,365 of 1,879 Documentation skills by installs in the Skillselion catalog
  • Data as of Jul 7, 2026 (Skillselion catalog sync)
At a glance

blog-new-post capabilities & compatibility

Capabilities
blog scaffolding · content scaffolding · frontmatter generation
Use cases
documentation · copywriting
Pricing
Free
From the docs

What blog-new-post says it does

Scaffold a new dated blog-post directory under `content/` (e.g. `content/2026-05-10-my-post/`) with a starter source file in the user's chosen format (Typst, Markdown, MDX, or LaTeX)
SKILL.md
Create a new post directory plus a starter source file in the chosen format, pre-filled with the metadata block matching that format.
SKILL.md
Don't fill in author, affiliation, or tags. Leave those blank.
SKILL.md
npx skills add https://github.com/ahxt/academic-homepage-ai-native --skill blog-new-post

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars1
Last updatedMay 14, 2026
Repositoryahxt/academic-homepage-ai-native

What it does

Scaffold a dated blog-post directory and starter file in Typst, Markdown, MDX, or LaTeX with metadata frontmatter.

Who is it for?

Academic or personal sites whose posts live in dated content/ directories across multiple source formats.

Skip if: Filling in author, affiliation, or tags, which the anti-goals say to leave blank.

When should I use this skill?

You want to start a new blog post or note and need the dated directory plus a format-appropriate starter file created.

What you get

A dated post directory with an index file pre-filled with the correct metadata block and sample headings.

  • a dated post directory with a starter index file in the chosen format

By the numbers

  • 4 supported formats (Typst, Markdown, MDX, LaTeX)

Files

SKILL.mdMarkdownGitHub ↗

blog-new-post

Create a new post directory plus a starter source file in the chosen format, pre-filled with the metadata block matching that format.

Inputs

Ask only for what's missing:

  • <title> — required. Free-text post title.
  • <slug> — derived from title if not given (lowercase, hyphenated,

punctuation stripped).

  • <date> — defaults to today's date (YYYY-MM-DD). Pull from the

currentDate context if available.

  • <format> — one of typst, markdown, mdx, latex. Default

typst to match the surrounding project.

  • <parent-dir> — defaults to content/ at the project root.
  • <author> — optional. Don't invent — leave blank if unknown.

Output

Create:

<parent-dir>/<date>-<slug>/
├── index.<ext>          # starter file in the chosen format
└── (no images yet)

Where <ext> is typ / md / mdx / tex.

Starter templates

Typst (index.typ)

#metadata((
  title: "<TITLE>",
  description: "<one-line summary>",
  date: "<YYYY-MM-DD>",
  lang: "en",
)) <post>

= Background

Write here.

= Method

== Subsection

$ y = f(x) $

= Discussion

The post sources do not import /config.typ or use #show: template.with(...). The renderer (Claude Code) reads the #metadata((...)) <post> dict directly. Use a plain ISO date string "YYYY-MM-DD", not a Typst datetime(...) call.

Markdown (index.md)

---
title: "<TITLE>"
description: "<one-line summary>"
date: <YYYY-MM-DD>
lang: en
tags: []
---

## Background

Write here.

## Method

### Subsection

$$ y = f(x) $$

## Discussion

MDX (index.mdx)

export const meta = {
  title: "<TITLE>",
  description: "<one-line summary>",
  date: "<YYYY-MM-DD>",
  lang: "en",
};

## Background

Write here.

## Method

$$ y = f(x) $$

LaTeX (index.tex)

\documentclass[11pt]{article}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{hyperref}

\title{<TITLE>}
\author{}
\date{<YYYY-MM-DD>}

\begin{document}
\maketitle

\begin{abstract}
<one-line summary>
\end{abstract>

\section{Background}

Write here.

\section{Method}

\subsection{Subsection}

\[ y = f(x) \]

\section{Discussion}

\end{document}

Steps

1. Resolve inputs. Ask only for what's missing. Default date = today, default format = typst, default parent = content/ at the project root. 2. Compute slug. Lowercase, words joined by -, drop punctuation. Confirm uniqueness — if the directory already exists, append -2. 3. Write the directory and starter file with the format-specific template above. Substitute <TITLE>, date components, etc. 4. Report the new path and the next step: "Edit `<path>/index.<ext>`, then ask me to render it (`blog-build`)."

Anti-goals

  • Don't create images/ or assets/ subfolders preemptively — let the

user add files when needed.

  • Don't fill in author, affiliation, or tags. Leave those blank.
  • Don't write a refs.bib unless the user asks.

Related skills

FAQ

Which formats are supported?

Typst, Markdown, MDX, and LaTeX, each with its own metadata block; Typst is the default to match the surrounding project.

Does it fill in author and tags?

No. It leaves author, affiliation, and tags blank rather than inventing them.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.