Official agent skill

Validate Integration Docs

by elastic in elastic/integrations

Lint an Elastic integration package's markdown with vale and propose fixes.

OfficialApache-2.0Auto-check passedDevelopment

Install Validate Integration Docs

skills CLI
$ npx skills add elastic/integrations --skill validate-integration-docs -a claude-code

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

GitHub CLI
$ gh skill install elastic/integrations validate-integration-docs --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/elastic/integrations.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/validate-integration-docs .claude/skills/validate-integration-docs && 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
validate-integration-docs
GitHub stars
336
Token cost
~1.1k tokens
SKILL.md length
428 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
Apache-2.0

At a glance

Lint an Elastic integration package's markdown with vale and propose fixes.

  • Works in 2 steps: Lint the source → Build and re-lint the rendered output
  • The user says vale check
  • SKILL.md covers Phase 1 — Lint the source, Phase 2 — Build and re-lint… and Review checklist
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Validate Integration Docs is an agent skill from elastic/integrations, published by the product's own GitHub organization. Lint an Elastic integration package's markdown with vale and propose fixes. Use when the user says "vale check," "lint docs," "validate the README," "check integration markdown," or wants to polish an integration's docs before opening a PR. Filters out false positives inside Go-template comment blocks in dev/build/docs/, then re-runs vale against the rendered docs/ output after elastic-package build as a final pass.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires elastic-package CLI and vale on PATH. Designed for packages in elastic/integrations (or any repo using the dev/build/docs/README.md → docs/README.md…

It sits in Development, covering Linting and formatting. The licence is Apache-2.0.

When your agent uses it

  • The user says vale check
  • Validate the README
  • Check integration markdown
  • Wants to polish an integrations docs before opening a PR

Example prompts

  • “s markdown with vale and propose fixes. Use when the user says”
  • “lint docs,”
  • “validate the README,”
  • “/validate-integration-docs”

Requirements

  • Compatibility (from SKILL.md): Requires `elastic-package` CLI and `vale` on PATH. Designed for packages in elastic/integrations (or any repo using the _dev/build/docs/README.md → docs/README.md layout produced by elastic-package build).

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Lint the source
  2. Build and re-lint the rendered output

What it can do on your machine

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

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

  • Network

    Links to these hosts (documentation or services it may open):

    • elastic.co
    • github.com

    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.

  • Compatibility

    Requires `elastic-package` CLI and `vale` on PATH. Designed for packages in elastic/integrations (or any repo using the _dev/build/docs/README.md → docs/README.md layout produced by elastic-package build).

    From compatibility in the SKILL.md frontmatter.

Context cost

Validate Integration Docs loads about 1.1k tokens when it runs. Until then it costs about 112 tokens; SKILL.md has 428 words of instructions outside code blocks.

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

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 elastic/integrations at commit a0dffc9, republished under its Apache-2.0 licence (© elastic). 428 words, ~1,057 tokens.

Download SKILL.mdSave it as .claude/skills/validate-integration-docs/SKILL.md (or your agent's skills folder).
name
validate-integration-docs
description
Lint an Elastic integration package's markdown with vale and propose fixes. Use when the user says "vale check," "lint docs," "validate the README," "check integration markdown," or wants to polish an integration's docs before opening a PR. Filters out false positives inside Go-template comment blocks in _dev/build/docs/, then re-runs vale against the rendered docs/ output after `elastic-package build` as a final pass.
compatibility
Requires `elastic-package` CLI and `vale` on PATH. Designed for packages in elastic/integrations (or any repo using the _dev/build/docs/README.md → docs/README.md layout produced by elastic-package build).
license
Apache-2.0
metadata.origin
elastic/elastic-package

validate-integration-docs

Lint an integration package's docs source, filter template noise, propose fixes, then verify the rendered output.

Phase 1 — Lint the source

  1. Check prerequisites: run both checks before continuing:

    Stop and report any missing tools before proceeding.

  2. Locate the package root: find the nearest ancestor directory (including cwd) that contains both manifest.yml and _dev/build/docs/README.md. If not found, ask the user for the path before continuing.

  3. Run vale on the source:

    bash
    vale _dev/build/docs/README.md --output JSON

    If additional *.md files exist under _dev/build/docs/, include them too.

  4. Detect template-comment ranges: pre-scan the source file with a non-greedy DOTALL match for \{\{\s*/\*.*?\*/\s*\}\}. For each match, record (start_line, end_line) by counting newlines before the match start and end.

  5. Filter findings: suppress any vale finding whose Line falls within any (start_line, end_line) range. Those lines are stripped by elastic-package build and their findings are false positives. Report only findings outside those ranges, grouped by file, with: Line, Match, Severity, Check, and Message.

  6. Draft proposals for each reported finding:

    • Action.Name == "replace" → mechanical substitution using Action.Params[0].
    • Action.Name == "remove" → delete the Match span.
    • No action params (for example Elastic.Semicolons, Elastic.DontUse, Elastic.Ellipses) → draft a prose rewrite of the sentence using context.
  7. Confirm before editing: present all proposals together and ask the user which to apply (all / subset / none). Apply only confirmed edits via the Edit tool. Never edit files under packages/*/docs/ — only _dev/build/docs/ sources.

If Phase 1 finds no actionable issues, skip the confirmation step and proceed to Phase 2.

Show full SKILL.md (158 more words)Show less

Phase 2 — Build and re-lint the rendered output

  1. Build the package from the package root:

    bash
    elastic-package build
  2. Run vale on the rendered README:

    bash
    vale packages/<pkg>/docs/README.md --output JSON

    Extend to other docs/**/*.md if present. No template-comment filtering is needed — comments are stripped by the build.

  3. Report and propose fixes exactly as in Phase 1 steps 6–7. If a Phase 2 finding maps to a source line, edit _dev/build/docs/ only.

  4. Re-run elastic-package build after any source edits so the user can confirm the rendered output is clean.

Review checklist

Before reporting the task complete, verify:

  • vale and elastic-package were both confirmed available (or the user was sent to the relevant install guide).
  • Every finding inside a {{/* */}} block was suppressed in Phase 1.
  • No edits were written to any path under packages/*/docs/.
  • Every edit was confirmed by the user — nothing was silently auto-applied.
  • elastic-package build completed without error.
  • vale packages/<pkg>/docs/README.md (Phase 2) reported no findings.

© elastic, Apache-2.0. 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 .agents/skills/validate-integration-docs of elastic/integrations.

Open the folder on GitHubat commit a0dffc9

Compare with similar skills

Validate Integration Docs 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.

Validate Integration Docs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Validate Integration Docs this skillelastic/integrations336—~1.1kAutomated safety check: PassApache-2.0
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.3k1 repos~2.2kAutomated safety check: PassMIT
Summarise Ecosystem Resultsastral-sh/ruff50k1 repos~2.2kAutomated safety check: PassMIT
Minimizing Ty Ecosystem Changesastral-sh/ruff50k—~4.6kAutomated safety check: PassMIT
Babysit PR To Pass CIsgl-project/sglang37k2 repos~3kAutomated safety check: PassApache-2.0
Rust Best Practicesfarm-fe/farm5.6k3 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.

    5.3k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…

    50k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…

    50k GitHub stars~4.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Babysit PR To Pass CI

    sgl-project/sglang

    Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head.

    37k GitHub starsUsed in 2 repos~3k tokens
    DevelopmentAuto-check passed
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Go Pedantry

    chromedp/chromedp

    This skill should be used when the user is writing Go code and needs guidance on Go-specific pedantry: error wrapping with fmt.Errorf and %w, interface design (accept interfaces return structs)…

    13k GitHub stars~3.7k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from elastic/integrations

  • Official

    Migrate an Elastic integration package from a legacy inline agent template to integrations with required input dependencies (requires.input, streams[].package).

    336 GitHub stars~4.9k tokensUpdated today
    Auto-check passed

Categories

Questions about Validate Integration Docs

What does Validate Integration Docs do?

Lint an Elastic integration package's markdown with vale and propose fixes. Validate Integration Docs is an agent skill from elastic/integrations, published by the product's own GitHub organization. Lint an Elastic integration package's markdown with vale and propose fixes.

When should I use Validate Integration Docs?

Validate Integration Docs fits situations like: the user says vale check; validate the README; check integration markdown; wants to polish an integrations docs before opening a PR.

How do I install Validate Integration Docs in Claude Code?

Run `npx skills add elastic/integrations --skill validate-integration-docs -a claude-code`. Or copy the skill folder (.agents/skills/validate-integration-docs in elastic/integrations) into .claude/skills/validate-integration-docs in your project. Claude Code loads it when a task matches its description.

How do I install Validate Integration Docs in Codex?

Run `npx skills add elastic/integrations --skill validate-integration-docs -a codex`. Or copy the skill folder (.agents/skills/validate-integration-docs in elastic/integrations) into .agents/skills/validate-integration-docs in your project. Codex loads it when a task matches its description.

Can I use Validate Integration Docs 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 elastic/integrations --skill validate-integration-docs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/validate-integration-docs, .gemini/skills/validate-integration-docs, .github/skills/validate-integration-docs and .opencode/skills/validate-integration-docs in your project.

What does Validate Integration Docs need to run?

SKILL.md names no scripts, command-line tools or credentials: Validate Integration Docs is instructions for the agent only. Compatibility (from SKILL.md): Requires `elastic-package` CLI and `vale` on PATH. Designed for packages in elastic/integrations (or any repo using the _dev/build/docs/README.md → docs/README.md layout produced by elastic-package build)..

Does Validate Integration Docs access the network?

SKILL.md names 2 domains. As links in the text: elastic.co and github.com. This is read from the text; nothing was executed.

Is Validate Integration Docs 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 Validate Integration Docs use?

Validate Integration Docs is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Validate Integration Docs use?

About 1.1k tokens (SKILL.md is roughly 4.2k 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 Validate Integration Docs?

Skills that share tags, products or a category with Validate Integration Docs: Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.3k stars), Summarise Ecosystem Results (astral-sh/ruff, 50k stars), Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars) and Babysit PR To Pass CI (sgl-project/sglang, 37k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Validate Integration Docs?

elastic (a GitHub organization, an official publisher) maintains it in elastic/integrations, which has 336 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 8, 2026.

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