L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

Tree-sitter

Tree-sitter

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

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: Tree-sitter description: Expert skill for creating tree-sitter grammars for incremental parsing and syntax highlighting category: Tooling allowed-tools:

  • Read
  • Write
  • Edit
  • Glob
  • Grep
  • Bash graph: domains: [domain:software-engineering] specializations: [specialization:programming-languages] skillAreas: [skill-area:compiler-implementation, skill-area:language-design] roles: [role:backend-engineer]

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" }
    }
  }
}
Skills enregistrées