Alison Aquinas logoAlison's LLM Plugins

yaml-lsp

Included in pluginci-cdView on GitHub ↗

Files

SKILL.mdagentsreferencesscripts

Install

Install the containing plugin
/plugin install ci-cd@llm-skills
Invoke this skill after installation
/ci-cd:yaml-lsp
Download yaml-lsp-skill.zip
This skill is bundled inside ci-cd. Install the plugin once, then Claude Code can use any of its included skills. Browse the full plugin repository at github.com/alisonaquinas/llm-ci-dev.

SKILL.md


name: yaml-lsp description: > Run the YAML Language Server in a Docker container. Provide real-time YAML validation, completion, and hover information without local installation.

YAML Language Server

Enable YAML language server capabilities (completion, validation, diagnostics) using the Red Hat YAML Language Server in Docker.

This skill provides a containerized Language Server Protocol (LSP) implementation for YAML files, compatible with Neovim, VS Code, Helix, Zed, and other LSP-aware editors.


Intent Router

Load reference files for depth on specific topics:

TopicFileLoad when...
Setup & Installationreferences/install-and-setup.mdGetting Docker and the LSP running
Quick Referencereferences/quick-reference.mdNeed startup flags and LSP capabilities
Editor Configurationreferences/editor-configuration.mdIntegrating with editor (Neovim, VS Code, etc.)
Troubleshootingreferences/troubleshooting.mdDebugging LSP startup or connection issues

Quick Start

Startup Modes

The YAML Language Server can run in two modes:

  1. Stdio mode — Suitable for editors that launch LSP as a subprocess
  2. Socket mode — Suitable for remote connections or multi-editor setups

Stdio Mode (Recommended for Most Editors)

docker run --rm -i -v "$(pwd):/workspace" node:lts-alpine \
  npx --yes yaml-language-server --stdio

Editor communicates with the server over stdin/stdout.

Socket Mode

docker run --rm -p 7998:7998 -v "$(pwd):/workspace" node:lts-alpine \
  npx --yes yaml-language-server --socket=7998

Editor connects to the server on TCP port 7998.

Common Editor Integration

Neovim (nvim-lspconfig):

require('lspconfig').yamlls.setup({
  cmd = {
    'docker', 'run', '--rm', '-i', '-v', vim.fn.getcwd() .. ':/workspace',
    'node:lts-alpine', 'npx', '--yes', 'yaml-language-server', '--stdio'
  }
})

LSP Capabilities

The YAML Language Server provides:

  • Diagnostics — Real-time syntax and schema validation
  • Completion — IntelliSense for keys and values
  • Hover Information — Type hints and documentation
  • Formatting — Auto-format YAML files
  • Schema Association — Link YAML files to JSON schemas for validation

Configuration

Associate YAML files with JSON schemas in editor settings:

{
  "yaml.schemas": {
    "https://json.schemastore.org/github-workflow.json": ".github/workflows/*.yml",
    "https://json.schemastore.org/kube-config.json": "kubeconfig"
  }
}

Related References

  • Load Quick Reference for startup flags and protocol modes
  • Load Editor Configuration to integrate with your editor
  • Load Troubleshooting if the server fails to start or connect
← Back to marketplace