| 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
- Grammar.js: Follow tree-sitter grammar.js conventions
- External Scanners: Use external scanners for context-sensitive lexing
- Queries: Write highlight.scm and other query files for editor integration
- Testing: Build comprehensive corpus test files
- 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"]