Babysitter Tree-sitter
Expert skill for creating tree-sitter grammars for incremental parsing and syntax highlighting
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/programming-languages/skills/tree-sitter" ~/.claude/skills/a5c-ai-babysitter-tree-sitter && rm -rf "$T"
manifest:
library/specializations/programming-languages/skills/tree-sitter/SKILL.mdtags
source content
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"] } }, "bindings": { "type": "array", "items": { "type": "string" } }, "generatedFiles": { "type": "array", "items": { "type": "string" } } } }