Install
$ agentstack add skill-elastic-elastic-docs-skills-frontmatter-description ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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:
- Read the frontmatter and first ~30 lines of body content
- Identify the doc type (tutorial, how-to, reference, troubleshooting, overview)
- Check if a
descriptionfield already exists - Write or rewrite the description following the constraints and type pattern
- Verify length is ≤ 200 characters
- Edit the frontmatter to add or update the
descriptionfield
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)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: elastic
- Source: elastic/elastic-docs-skills
- License: Apache-2.0
- Homepage: https://elastic.github.io/elastic-docs-skills/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.