[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BZ2ZHCATF9BXJRP74C832P":3,"skill-same:01M6BZ2ZHCATF9BXJRP74C832P":74},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6BZ2ZHCATF9BXJRP74C832P","tree-sitter-language-pack-parsing-source",null,"Use when the user wants a tree-sitter syntax tree for a source file — an s-expression dump or JSON tree. Covers `ts-pack parse`, language auto-detection vs `--language`, stdin input, and reading `has_errors`.","xberg-io\u002Ftree-sitter-language-pack","xberg-io","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F241328462?v=4","01M6BYYMACFMK5WNT338Y71K58","Xberg.io","01M6BYYMEGM63ZCEYZJRTVS9JT",485,"MIT","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fplugin\u002F.pi\u002Fskills\u002Ftree-sitter-language-pack-parsing-source\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"tree sitter language pack parsing source","pack","language","source","tree","tree sitter","language pack","tree sitter language pack","parsing","file","json","syntax","for","errors","expression","auto","use","reading","parse","when","2026-11-10 10:12:30",false,"---\ndescription: Use when the user wants a tree-sitter syntax tree for a source file — an s-expression dump or JSON tree. Covers `ts-pack parse`, language auto-detection vs `--language`, stdin input, and reading `has_errors`.\nname: tree-sitter-language-pack-parsing-source\n---\n\n\u003C!--\nAI-RULEZ :: GENERATED FILE — DO NOT EDIT\nContent-Hash: blake3:211a994b629d9e5e530945c00db243d6f0e4a8f78e054dc7c52db4527c90c35f\nSource-Hash: blake3:b8687cf31ac8c66a5ecc15c4f11520ff201d8db14467b7528d5120124e9753a4\nSchema-Version: v1\n-->\n\n# Parsing source into a syntax tree\n\n`ts-pack parse \u003Cfile>` parses one source file with the matching\ntree-sitter grammar and prints the resulting concrete syntax tree. Use it\nwhen the user wants the tree itself — to inspect node structure, debug a\ngrammar, or feed an s-expression to another tool.\n\n## Quick recipe\n\n```bash\n# S-expression (default) — auto-detects language from the file extension\nts-pack parse src\u002Fmain.rs\n\n# JSON form: { \"language\", \"sexp\", \"has_errors\" }\nts-pack parse src\u002Fmain.rs --format json\n```\n\n## Flag surface\n\n| Flag | Short | Default | Purpose |\n| ---- | ----- | ------- | ------- |\n| `--language \u003Cname>` | `-l` | auto | Override the language (skip extension detection). |\n| `--format \u003Cfmt>` | `-f` | `sexp` | `sexp` or `json`. |\n\nThe parser library for the language downloads on first use and is cached.\n\n## Language detection\n\nThe language is auto-detected from the file extension. Override it when the\nextension is missing, misleading, or you are reading from stdin:\n\n```bash\n# Misleading extension or no extension:\nts-pack parse script --language bash\n\n# stdin (use \"-\" as the file):\ncat snippet.py | ts-pack parse - --language python\n```\n\nstdin cannot be auto-detected by path; always pass `--language` with `-`.\nFor content-based detection without a path, use the SDK\n(`detect_language_from_content`) — see the `tree-sitter-language-pack-detecting-languages` skill.\n\n## Output shapes\n\n### S-expression\n\nA nested `(node_type child ...)` tree. Compact, good for eyeballing\nstructure or piping to a grammar tool.\n\n### JSON\n\n```json\n{\n  \"language\": \"rust\",\n  \"sexp\": \"(source_file (function_item ...))\",\n  \"has_errors\": false\n}\n```\n\nRead `has_errors` to know whether the parse produced any error nodes — a\nfast syntax check. For positioned, per-error detail use\n`ts-pack process \u003Cfile> --diagnostics` (see `tree-sitter-language-pack-extracting-code-structure`).\n\n## Examples\n\n```bash\n# Inspect a TypeScript file's tree\nts-pack parse src\u002Fapp.ts\n\n# Machine-readable, then check for syntax errors with jq\nts-pack parse src\u002Fapp.ts --format json | jq '.has_errors'\n\n# Parse a heredoc as Python\nprintf 'def f():\\n    return 1\\n' | ts-pack parse - -l python\n```\n\n## When to reach for process instead\n\n`parse` gives you the raw tree. If the user wants structured metadata\n(functions, imports, exports, symbols, docstrings) rather than the tree,\nuse `ts-pack process` — see the `tree-sitter-language-pack-extracting-code-structure` skill.\n","\u003C!--\nAI-RULEZ :: GENERATED FILE — DO NOT EDIT\nContent-Hash: blake3:211a994b629d9e5e530945c00db243d6f0e4a8f78e054dc7c52db4527c90c35f\nSource-Hash: blake3:b8687cf31ac8c66a5ecc15c4f11520ff201d8db14467b7528d5120124e9753a4\nSchema-Version: v1\n-->\n\n# Parsing source into a syntax tree\n\n`ts-pack parse \u003Cfile>` parses one source file with the matching\ntree-sitter grammar and prints the resulting concrete syntax tree. Use it\nwhen the user wants the tree itself — to inspect node structure, debug a\ngrammar, or feed an s-expression to another tool.\n\n## Quick recipe\n\n```bash\n# S-expression (default) — auto-detects language from the file extension\nts-pack parse src\u002Fmain.rs\n\n# JSON form: { \"language\", \"sexp\", \"has_errors\" }\nts-pack parse src\u002Fmain.rs --format json\n```\n\n## Flag surface\n\n| Flag | Short | Default | Purpose |\n| ---- | ----- | ------- | ------- |\n| `--language \u003Cname>` | `-l` | auto | Override the language (skip extension detection). |\n| `--format \u003Cfmt>` | `-f` | `sexp` | `sexp` or `json`. |\n\nThe parser library for the language downloads on first use and is cached.\n\n## Language detection\n\nThe language is auto-detected from the file extension. Override it when the\nextension is missing, misleading, or you are reading from stdin:\n\n```bash\n# Misleading extension or no extension:\nts-pack parse script --language bash\n\n# stdin (use \"-\" as the file):\ncat snippet.py | ts-pack parse - --language python\n```\n\nstdin cannot be auto-detected by path; always pass `--language` with `-`.\nFor content-based detection without a path, use the SDK\n(`detect_language_from_content`) — see the `tree-sitter-language-pack-detecting-languages` skill.\n\n## Output shapes\n\n### S-expression\n\nA nested `(node_type child ...)` tree. Compact, good for eyeballing\nstructure or piping to a grammar tool.\n\n### JSON\n\n```json\n{\n  \"language\": \"rust\",\n  \"sexp\": \"(source_file (function_item ...))\",\n  \"has_errors\": false\n}\n```\n\nRead `has_errors` to know whether the parse produced any error nodes — a\nfast syntax check. For positioned, per-error detail use\n`ts-pack process \u003Cfile> --diagnostics` (see `tree-sitter-language-pack-extracting-code-structure`).\n\n## Examples\n\n```bash\n# Inspect a TypeScript file's tree\nts-pack parse src\u002Fapp.ts\n\n# Machine-readable, then check for syntax errors with jq\nts-pack parse src\u002Fapp.ts --format json | jq '.has_errors'\n\n# Parse a heredoc as Python\nprintf 'def f():\\n    return 1\\n' | ts-pack parse - -l python\n```\n\n## When to reach for process instead\n\n`parse` gives you the raw tree. If the user wants structured metadata\n(functions, imports, exports, symbols, docstrings) rather than the tree,\nuse `ts-pack process` — see the `tree-sitter-language-pack-extracting-code-structure` skill.\n",{"name":5,"description":7},"main","6403d3051157d3808dcdca49aeb0c211742d1d61","plugin\u002F.pi\u002Fskills\u002Ftree-sitter-language-pack-parsing-source",71,"https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack","https:\u002F\u002Fdocs.tree-sitter-language-pack.xberg.io","https:\u002F\u002Fgithub.com\u002Fxberg-io","https:\u002F\u002Fxberg.io","Open-source content intelligence with a Rust core: documents, web, LLMs and code, with native bindings for every major language.","2026-11-07 18:08:38",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add xberg-io\u002Ftree-sitter-language-pack --skill tree-sitter-language-pack-parsing-source",{"tool":60,"command":61},"bunx","bunx skills add xberg-io\u002Ftree-sitter-language-pack --skill tree-sitter-language-pack-parsing-source",{"tool":63,"command":64},"pnpm","pnpm dlx skills add xberg-io\u002Ftree-sitter-language-pack --skill tree-sitter-language-pack-parsing-source","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fplugin\u002F.pi\u002Fskills\u002Ftree-sitter-language-pack-parsing-source\u002FSKILL.md",true,[68],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"index.md","REFERENCE","参考文档",523,"https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fplugin\u002F.pi\u002Fskills\u002Ftree-sitter-language-pack-parsing-source\u002Findex.md",[75,99,122,127,145,160],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":86,"publishedAt":39},"01M6BZ48YBWAZH9X1XZ6QVA5TD","tree-sitter-language-pack","Parse and extract code intelligence from 371 programming languages using tree-sitter grammars. Use when writing code that parses source, extracts structure\u002Fimports\u002Fexports\u002Fsymbols\u002Fdocstrings\u002Fcomments, detects a language, runs syntax diagnostics, or produces syntax-aware chunks for LLMs — in Rust, Python, Node.js\u002FTypeScript, or the ts-pack CLI. Covers installation, the CLI surface, the SDK surface, and parser-cache management.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fskills\u002Ftree-sitter-language-pack\u002FSKILL.md",[81],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[26,25,24,23,21,20,87,88,89,90,91,92,93,94,95,96,97,98,37,38],"rust","writing","code","llms","cli","node","parser","typescript","io","structure","chunks","imports",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":113,"publishedAt":39},"01M6BZ461Q0A0TZJG56G6J5QF0","tree-sitter-language-pack-using-the-mcp-server","Use when parsing source, extracting code structure, or detecting a language through the tree-sitter-language-pack MCP server's tools, rather than shelling out to the ts-pack CLI. Covers the tool surface, the auto-installing launcher, and when MCP beats the CLI or SDK.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fskills\u002Ftree-sitter-language-pack-using-the-mcp-server\u002FSKILL.md",[105,110],{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":111,"categoryName":112,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000023","Skill与智能体开发",[114,115,26,116,117,25,24,23,21,20,89,91,118,119,120,34,96,22,121,38],"tree sitter language pack using the mcp server","MCP","mcp server","server","detecting","extracting","launcher","Tools",{"skillNo":123,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":39},"01M6BZ437CE3DZQ22GYHMNMMVK","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fskills\u002Ftree-sitter-language-pack-parsing-source\u002FSKILL.md",[],[27,19,26,25,24,23,22,21,20,28,29,30,31,32,33,34,35,36,37,38],{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":39},"01M6BZ40QMB2C6QF2N09MM15GF","tree-sitter-language-pack-managing-parsers","Use when the user needs to manage the tree-sitter parser cache — prefetch parsers for offline or CI runs, list what is downloaded, inspect a language, find the cache directory, or clean it. Covers `ts-pack download`, `list`, `info`, `cache-dir`, `clean`, and `init`.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fskills\u002Ftree-sitter-language-pack-managing-parsers\u002FSKILL.md",[],[134,135,26,25,24,23,21,20,136,137,138,139,140,31,141,142,143,35,144,38],"parsers","tree sitter language pack managing parsers","ci","init","prefetch","cache","find","inspect","manage","clean","info",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":152,"publishedAt":39},"01M6BZ3Y1E46H4CPXVJD6SB03D","tree-sitter-language-pack-extracting-code-structure","Use when the user wants structured code metadata from a source file — functions, classes, imports, exports, symbols, docstrings, comments, or syntax diagnostics. Covers `ts-pack process` feature flags, the JSON result shape, and the default feature set.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fskills\u002Ftree-sitter-language-pack-extracting-code-structure\u002FSKILL.md",[151],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},[153,26,89,25,24,119,96,23,21,20,154,155,156,30,157,158,22,98,159,38],"tree sitter language pack extracting code structure","extracting code structure","code structure","SET","default","flags","result",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":39},"01M6BZ3VAJEY26GESPCWQ2JSXA","tree-sitter-language-pack-detecting-languages","Use when the user wants to know which programming language a file or snippet is. Covers implicit detection in `ts-pack parse`\u002F`process`, confirming support with `ts-pack list`\u002F`info`, and the SDK detection functions for path, extension, and raw content.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fskills\u002Ftree-sitter-language-pack-detecting-languages\u002FSKILL.md",[],[167,26,25,24,23,118,21,20,168,28,169,170,171,31,35,172,173,144,37,38],"tree sitter language pack detecting languages","programming language","programming","support","which","functions","with"]