Назад към всички

Tree-sitter

// Expert skill for creating tree-sitter grammars for incremental parsing and syntax highlighting

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameTree-sitter
descriptionExpert skill for creating tree-sitter grammars for incremental parsing and syntax highlighting
categoryTooling
allowed-toolsRead,Write,Edit,Glob,Grep,Bash

Tree-sitter Skill

Overview

Expert skill for creating tree-sitter grammars for incremental parsing and syntax highlighting.

Capabilities

  • Write tree-sitter grammar.js files
  • Handle tree-sitter external scanners
  • Design queries for syntax highlighting
  • Implement incremental parsing support
  • Handle tree-sitter error recovery
  • Generate bindings for various languages
  • Integrate with editors (VS Code, Neovim, Helix)
  • Test grammars with corpus files

Target Processes

  • language-grammar-design.js
  • lexer-implementation.js
  • parser-development.js
  • lsp-server-implementation.js

Dependencies

  • tree-sitter CLI
  • tree-sitter crates/npm packages

Usage Guidelines

  1. Grammar.js: Follow tree-sitter grammar.js conventions
  2. External Scanners: Use external scanners for context-sensitive lexing
  3. Queries: Write highlight.scm and other query files for editor integration
  4. Testing: Build comprehensive corpus test files
  5. Error Recovery: Design grammar with error recovery in mind

Output Schema

{
  "type": "object",
  "properties": {
    "grammarName": { "type": "string" },
    "nodeTypes": {
      "type": "array",
      "items": { "type": "string" }
    },
    "queries": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": ["highlights", "injections", "locals", "tags", "folds"]
      }
    },
    "bindings": {
      "type": "array",
      "items": { "type": "string" }
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}