[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BZ40QMB2C6QF2N09MM15GF":3,"skill-same:01M6BZ40QMB2C6QF2N09MM15GF":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},"01M6BZ40QMB2C6QF2N09MM15GF","tree-sitter-language-pack-managing-parsers",null,"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`.","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\u002Fskills\u002Ftree-sitter-language-pack-managing-parsers\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 managing parsers","pack","language","tree","tree sitter","language pack","tree sitter language pack","parsers","ci","init","prefetch","cache","find","for","inspect","manage","clean","use","info","when","2026-11-10 10:12:30",false,"---\ndescription: 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`.\nname: tree-sitter-language-pack-managing-parsers\n---\n\n\u003C!--\nAI-RULEZ :: GENERATED FILE — DO NOT EDIT\nContent-Hash: blake3:a2e80363e28ad0e5f3112ab4c73c46e76fa6f9a6d875d1c56af89fc86546f9f5\nSource-Hash: blake3:b8687cf31ac8c66a5ecc15c4f11520ff201d8db14467b7528d5120124e9753a4\nSchema-Version: v1\n-->\n\n# Managing parsers\n\nParser libraries download on demand the first time a language is used and\nare cached on disk. Manage that cache explicitly for offline work, CI\nprefetch, reproducible builds, or to reclaim space.\n\n> Note: parser cache management (`download`, `clean`, `init`) is done via the\n> `ts-pack` CLI directly. The OpenCode tools expose only parse\u002Fprocess\u002Finfo.\n\n## Prefetch (offline \u002F CI)\n\n```bash\nts-pack download python rust typescript   # specific languages\nts-pack download --all                    # every available language\nts-pack download --groups all             # by group\nts-pack download python --fresh           # clean cache first, then download\n```\n\nThe manifest currently defines exactly one group, `all`. Group names are\nmanifest data, not a fixed list — enumerate them with `manifest_groups()`\nrather than hardcoding. Run `download` in your CI setup step so later\n`parse`\u002F`process` calls hit the cache instead of the network.\n\n## Inspect\n\n```bash\nts-pack list                 # all available languages\nts-pack list --downloaded    # only languages currently cached\nts-pack list --manifest      # everything in the remote manifest\nts-pack list --filter script # filter by name substring\n\nts-pack info python          # known? downloaded? cache path?\nts-pack cache-dir            # print the effective cache directory\n```\n\n## Clean\n\n```bash\nts-pack clean           # prompts for confirmation\nts-pack clean --force   # skip the prompt (use in scripts\u002FCI)\n```\n\n`clean` removes all cached parser libraries; they re-download on next use.\n\n## Config file (init)\n\n`ts-pack init` writes a `language-pack.toml` to the current directory\npinning a cache location and\u002For a language set. This **writes a file** to\nthe working directory.\n\n```bash\nts-pack init --languages python,rust --cache-dir .ts-pack-cache\n```\n\nResulting `language-pack.toml`:\n\n```toml\ncache_dir = \".ts-pack-cache\"\nlanguages = [\"python\", \"rust\"]\n```\n\nWith no flags, `init` writes a commented template. When `--languages` is given,\n`init` also triggers the download for those languages. (`init` takes only\n`--languages` and `--cache-dir` — for group-based prefetch use\n`ts-pack download --groups \u003Cnames>`.) Commit `language-pack.toml` to pin the\nparser set across a team or CI.\n\n## Typical CI flow\n\n```bash\nts-pack init --languages python,rust,typescript --cache-dir .ts-pack-cache\n# ... later steps run parse\u002Fprocess offline against the warm cache ...\nts-pack list --downloaded   # assert the expected parsers are present\n```\n\n## When to reach for the other skills\n\nOnce parsers are cached, use `tree-sitter-language-pack-parsing-source` to get syntax trees and\n`tree-sitter-language-pack-extracting-code-structure` to pull metadata. `info`\u002F`list` here also serve\nthe language-support checks described in `tree-sitter-language-pack-detecting-languages`.\n","\u003C!--\nAI-RULEZ :: GENERATED FILE — DO NOT EDIT\nContent-Hash: blake3:a2e80363e28ad0e5f3112ab4c73c46e76fa6f9a6d875d1c56af89fc86546f9f5\nSource-Hash: blake3:b8687cf31ac8c66a5ecc15c4f11520ff201d8db14467b7528d5120124e9753a4\nSchema-Version: v1\n-->\n\n# Managing parsers\n\nParser libraries download on demand the first time a language is used and\nare cached on disk. Manage that cache explicitly for offline work, CI\nprefetch, reproducible builds, or to reclaim space.\n\n> Note: parser cache management (`download`, `clean`, `init`) is done via the\n> `ts-pack` CLI directly. The OpenCode tools expose only parse\u002Fprocess\u002Finfo.\n\n## Prefetch (offline \u002F CI)\n\n```bash\nts-pack download python rust typescript   # specific languages\nts-pack download --all                    # every available language\nts-pack download --groups all             # by group\nts-pack download python --fresh           # clean cache first, then download\n```\n\nThe manifest currently defines exactly one group, `all`. Group names are\nmanifest data, not a fixed list — enumerate them with `manifest_groups()`\nrather than hardcoding. Run `download` in your CI setup step so later\n`parse`\u002F`process` calls hit the cache instead of the network.\n\n## Inspect\n\n```bash\nts-pack list                 # all available languages\nts-pack list --downloaded    # only languages currently cached\nts-pack list --manifest      # everything in the remote manifest\nts-pack list --filter script # filter by name substring\n\nts-pack info python          # known? downloaded? cache path?\nts-pack cache-dir            # print the effective cache directory\n```\n\n## Clean\n\n```bash\nts-pack clean           # prompts for confirmation\nts-pack clean --force   # skip the prompt (use in scripts\u002FCI)\n```\n\n`clean` removes all cached parser libraries; they re-download on next use.\n\n## Config file (init)\n\n`ts-pack init` writes a `language-pack.toml` to the current directory\npinning a cache location and\u002For a language set. This **writes a file** to\nthe working directory.\n\n```bash\nts-pack init --languages python,rust --cache-dir .ts-pack-cache\n```\n\nResulting `language-pack.toml`:\n\n```toml\ncache_dir = \".ts-pack-cache\"\nlanguages = [\"python\", \"rust\"]\n```\n\nWith no flags, `init` writes a commented template. When `--languages` is given,\n`init` also triggers the download for those languages. (`init` takes only\n`--languages` and `--cache-dir` — for group-based prefetch use\n`ts-pack download --groups \u003Cnames>`.) Commit `language-pack.toml` to pin the\nparser set across a team or CI.\n\n## Typical CI flow\n\n```bash\nts-pack init --languages python,rust,typescript --cache-dir .ts-pack-cache\n# ... later steps run parse\u002Fprocess offline against the warm cache ...\nts-pack list --downloaded   # assert the expected parsers are present\n```\n\n## When to reach for the other skills\n\nOnce parsers are cached, use `tree-sitter-language-pack-parsing-source` to get syntax trees and\n`tree-sitter-language-pack-extracting-code-structure` to pull metadata. `info`\u002F`list` here also serve\nthe language-support checks described in `tree-sitter-language-pack-detecting-languages`.\n",{"name":5,"description":7},"main","6403d3051157d3808dcdca49aeb0c211742d1d61","skills\u002Ftree-sitter-language-pack-managing-parsers",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-managing-parsers",{"tool":60,"command":61},"bunx","bunx skills add xberg-io\u002Ftree-sitter-language-pack --skill tree-sitter-language-pack-managing-parsers",{"tool":63,"command":64},"pnpm","pnpm dlx skills add xberg-io\u002Ftree-sitter-language-pack --skill tree-sitter-language-pack-managing-parsers","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fskills\u002Ftree-sitter-language-pack-managing-parsers\u002FSKILL.md",true,[68],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"index.md","REFERENCE","参考文档",583,"https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fskills\u002Ftree-sitter-language-pack-managing-parsers\u002Findex.md",[75,100,125,140,155,169],{"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","适用职业",[25,24,23,22,21,20,87,88,89,90,91,92,93,94,95,96,97,98,99,38],"rust","writing","code","llms","cli","node","parser","typescript","io","structure","chunks","imports","parse",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":114,"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",[106,111],{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":112,"categoryName":113,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000023","Skill与智能体开发",[115,116,25,117,118,24,23,22,21,20,89,91,119,120,121,122,96,123,124,38],"tree sitter language pack using the mcp server","MCP","mcp server","server","detecting","extracting","launcher","auto","source","Tools",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":39},"01M6BZ437CE3DZQ22GYHMNMMVK","tree-sitter-language-pack-parsing-source","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`.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fskills\u002Ftree-sitter-language-pack-parsing-source\u002FSKILL.md",[],[132,133,25,24,23,22,123,21,20,134,135,136,32,137,138,122,36,139,99,38],"parsing","tree sitter language pack parsing source","file","json","syntax","errors","expression","reading",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":147,"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",[146],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},[148,25,89,24,23,120,96,22,21,20,149,150,151,136,152,153,123,98,154,38],"tree sitter language pack extracting code structure","extracting code structure","code structure","SET","default","flags","result",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"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",[],[162,25,24,23,22,119,21,20,163,134,164,165,166,32,36,167,168,37,99,38],"tree sitter language pack detecting languages","programming language","programming","support","which","functions","with",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":175,"publishedAt":39},"01M6BZ3RW110QT7T8NAKMRRHW6","tree-sitter-language-pack-chunking-for-llms","Use when the user wants to split source code into chunks for an LLM context window without breaking syntax mid-construct. Covers `ts-pack process --chunk-size`, why syntax-aware splits beat fixed-byte splits, picking a size, and the chunk JSON shape.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Ftree-sitter-language-pack\u002Fblob\u002Fmain\u002Fskills\u002Ftree-sitter-language-pack-chunking-for-llms\u002FSKILL.md",[],[176,25,90,24,23,177,22,32,21,20,178,89,97,179,38,180,136,123,181,182],"tree sitter language pack chunking for llms","chunking","chunk","window","why","source code","context"]