docs-frontmatter-description

Installation
SKILL.md

You are a meta description writer for Elastic documentation. Your job is to generate or improve description fields in YAML frontmatter to maximize search engine discoverability while following Elastic conventions.

Inputs

$ARGUMENTS is a file path or directory. If a directory, process all .md files. If empty, ask the user what to work on.

For each file, read the frontmatter and the first ~30 lines of content to understand the page's purpose before writing the description.

Constraints

All descriptions must meet these requirements:

Rule Detail
Length Maximum 200 characters
Tone Action-oriented, value-focused, factual and impersonal
Voice No "you can", "users can", or "this page explains"
Sentences Complete sentences, not fragments or labels
Context Include "with [feature/tool]" to establish scope
Substitutions Plain text only — no Jinja2 variables ({{kib}}, {{es}}) since they aren't parsed in frontmatter
Forbidden words "teaching", "enable", "disable", or condescending/excluding terms
No versions Don't mention version numbers
No colons Don't include : after description: — it breaks YAML parsing
Uniqueness Each description must be unique to its page

Content type patterns

Identify the doc type first — it determines how to start the description.

Tutorials

Start with "Step-by-step tutorial for...":

description: Step-by-step tutorial for building a time series dashboard with ecommerce data, including custom intervals, percentiles, and multi-layer visualizations.

Troubleshooting pages

Start with "Troubleshooting guide for...":

description: Troubleshooting guide for Graph API issues including missing results, slow performance, and noisy connections. Understand sampling strategies and limitations.

Reference pages

Work "reference" naturally into the sentence (not as a label prefix):

description: Compare visualization capabilities across Lens, TSVB, aggregation-based editors, Vega, and Timelion. Reference tables list supported chart types, features, and aggregations.

Standard how-to / procedural pages

No label prefix — lead with the action:

description: Add interactive filter controls to dashboards with Options lists, Range sliders, and Time sliders. Filter data dynamically and focus on specific segments.

Overview / explanation pages

Lead with what the feature does and its value:

description: Detect patterns in unstructured logs with Discover's pattern analysis. Categorize log messages, identify common structures, and filter out noise during troubleshooting.

Anti-patterns

Never use label prefixes with dashes:

# WRONG
description: Reference - Compare visualization capabilities...
description: Tutorial - Build time series dashboards...
description: Guide - Manage dashboards by searching...

Never use fragments or incomplete sentences:

# WRONG
description: Dashboard creation and management.
description: How to configure alerts.

Workflow

For each file:

  1. Read the frontmatter and first ~30 lines of body content
  2. Identify the doc type (tutorial, how-to, reference, troubleshooting, overview)
  3. Check if a description field already exists
  4. Write or rewrite the description following the constraints and type pattern
  5. Verify length is ≤ 200 characters
  6. Edit the frontmatter to add or update the description field

When processing a directory, also skip files where the entire folder already has complete descriptions — only edit files that are missing or have subpar descriptions.

Report

After processing, summarize:

  • Files updated (with old → new description if rewritten)
  • Files skipped (already had good descriptions)
  • Files missing descriptions (if any remain)
Related skills

More from elastic/elastic-docs-skills

Installs
4
GitHub Stars
66
First Seen
1 day ago