quartz-blog-frontmatter-normalizer

Normalize Quartz markdown filenames and YAML frontmatter for deployment.

Updated Feb 24, 2026
One-click install
npx skills add https://github.com/SaintFore/OpenCodeSettings --skill quartz-blog-frontmatter-normalizer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: quartz-blog-frontmatter-normalizer
Source: https://github.com/SaintFore/OpenCodeSettings/tree/main/skills/quartz-blog-frontmatter-normalizer
Command: npx skills add https://github.com/SaintFore/OpenCodeSettings --skill quartz-blog-frontmatter-normalizer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill standardizes Quartz blog markdown posts for deployment by normalizing filenames to kebab-case, filling missing frontmatter defaults, translating Chinese tags to English kebab-case, and ensuring the article body remains unchanged.

Core Features & Use Cases

  • Ensure filename stems are converted to ASCII kebab-case while preserving the .md extension.
  • Add a short Chinese description when missing, set draft to true when missing, and preserve existing draft values.
  • Translate Chinese tags to English, normalize them to kebab-case, and require confirmation for ambiguous translations.
  • Append the original title to aliases when a filename is renamed while avoiding overwriting or duplicating existing aliases.
  • Use Case: Prepare a collection of Quartz posts for deployment to a static site generator, ensuring consistent metadata and safe renames without touching article content.

Quick Start

Normalize the file path/to/source-file.md so the filename becomes kebab-case, missing description and draft are added, Chinese tags are translated to English kebab-case, and the article body remains unchanged.

Frequently Asked Questions about quartz-blog-frontmatter-normalizer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I normalize Quartz markdown filenames and frontmatter for static site deployment?

To normalize Quartz markdown filenames and frontmatter, convert filename stems to ASCII kebab-case, add missing descriptions, default draft to true, and translate Chinese tags to English kebab-case. This process preserves the article body byte-for-byte while ensuring consistent metadata for deployment.

How do I convert Chinese tags to English kebab-case in markdown frontmatter?

Converting Chinese tags to English kebab-case in markdown frontmatter involves translating the tags and normalizing their format. The process requires confirmation for ambiguous translations to ensure accuracy while preserving all existing article content completely unchanged.

Does frontmatter normalization overwrite existing draft values or aliases in Quartz posts?

Frontmatter normalization does not overwrite existing draft values or aliases in Quartz posts. It only defaults missing draft values to true and appends the original title to aliases during a filename rename, carefully avoiding any duplication or overwriting of existing entries.

What is the best way to standardize markdown filenames to ASCII kebab-case without altering content?

The best way to standardize markdown filenames to ASCII kebab-case without altering content is to rename the file stem while preserving the .md extension. This approach edits only the YAML frontmatter and filename, leaving the article body byte-for-byte intact.

Why does my Quartz blog deployment fail when frontmatter is missing draft values or descriptions?

Quartz blog deployments can encounter issues when frontmatter lacks draft values or descriptions because the static site generator expects consistent metadata. Normalizing these fields by adding a short Chinese description and defaulting draft to true ensures reliable publishing.