[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5569WTTR5S1H9065ZEVH5":3,"skill-same:01M6C5569WTTR5S1H9065ZEVH5":55},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":23,"linkOnly":24,"markdownContent":25,"markdownBody":26,"frontMatter":27,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":31,"repositoryHtmlUrl":32,"repositoryHomepageUrl":6,"ownerHtmlUrl":33,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":34,"install":35,"resources":48},"01M6C5569WTTR5S1H9065ZEVH5","TreeSitter Expert",null,"Expert knowledge for building high-performance Neovim plugins using nvim-treesitter.","MDMAtk\u002FTormentNexus","MDMAtk","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F288684999?v=4","01M6C54H4AG0BYB3HTFA4C0CBJ","01M6C54H8146YDG94N9KWXV521",13,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002FMDMAtk\u002FTormentNexus\u002Fblob\u002Fmain\u002Fpackages\u002Fcore\u002Fsrc\u002Fskills\u002Ftreesitter-expert\u002Fskill.md",[],[5,18,19,20,21,22],"performance","plugins","neovim","nvim","knowledge","2026-11-10 10:12:30",false,"---\nname: TreeSitter Expert\ndescription: Expert knowledge for building high-performance Neovim plugins using nvim-treesitter.\n---\n\n# TreeSitter Expert Skill\n\n## Purpose\nYou are an expert in Neovim plugin architecture, specifically regarding `nvim-treesitter`. You provide patterns for high-performance, query-based syntax analysis and virtual text display.\n\n## Capabilities\n- **Architecture**: Advises on the \"Three-Tier Plugin Structure\" (Minimal entry, Lazy Lua, Query separation).\n- **Queries**: Write complex scheme queries for `nvim-treesitter` to extract semantic nodes.\n- **Performance**: Implement advanced caching (buffer tick memoization) and throttling (debouncing) patterns.\n- **Display**: Use `api.nvim_buf_set_extmark` for \"overlay\" or \"eol\" virtual text.\n\n## Core Knowledge (Reference)\n\n### 1. Module System Architecture\n\n**Three-Tier Plugin Structure:**\n```\nyour-plugin\u002F\n├── plugin\u002Fyour-plugin.lua          # Minimal entry point (VimL commands only)\n├── lua\u002Fyour-plugin\u002F\n│   ├── init.lua                    # Main module with setup()\n│   ├── config.lua                  # Configuration management\n│   ├── highlight.lua               # Display logic (extmarks\u002Fvirtual text)\n│   └── query.lua                   # TreeSitter query execution\n└── queries\u002F\n    └── go\u002F\n        └── custom-queries.scm      # TreeSitter query definitions\n```\n\n**Entry Point Pattern (plugin\u002Fyour-plugin.lua):**\n```lua\n-- Lazy load protection\nif vim.g.loaded_your_plugin then\n  return\nend\nvim.g.loaded_your_plugin = true\n\n-- Define commands that load on-demand\ncommand! YourPluginToggle lua require(\"your-plugin\").toggle()\ncommand! YourPluginEnable lua require(\"your-plugin\").enable()\n```\n\n### 2. Configuration Management\n\n**Deep Merge Pattern:**\n```lua\nfunction M.setup(options)\n  M.options = vim.tbl_deep_extend(\"force\", {}, defaults, M.options or {}, options or {})\nend\n```\n\n### 3. TreeSitter Query System\n\n**Query Execution Pattern:**\n```lua\nfunction M.get_error_nodes(bufnr)\n  local parser = parsers.get_parser(bufnr, \"go\")\n  local query = ts.query.get(\"go\", \"error-collapse\")\n  \n  parser:for_each_tree(function(tree, lang_tree)\n    local root = tree:root()\n    for id, node, metadata in query:iter_captures(root, bufnr, 0, -1) do\n      -- Process capture\n    end\n  end)\nend\n```\n\n### 4. Performance Optimization\n\n**Buffer Tick Memoization:**\n```lua\nfunction M.memoize_by_buf_tick(fn)\n  local cache = setmetatable({}, { __mode = \"kv\" })\n  return function(bufnr)\n    local tick = vim.api.nvim_buf_get_changedtick(bufnr)\n    if cache[bufnr] and cache[bufnr].tick == tick then\n      return cache[bufnr].result\n    end\n    -- compute...\n  end\nend\n```\n","# TreeSitter Expert Skill\n\n## Purpose\nYou are an expert in Neovim plugin architecture, specifically regarding `nvim-treesitter`. You provide patterns for high-performance, query-based syntax analysis and virtual text display.\n\n## Capabilities\n- **Architecture**: Advises on the \"Three-Tier Plugin Structure\" (Minimal entry, Lazy Lua, Query separation).\n- **Queries**: Write complex scheme queries for `nvim-treesitter` to extract semantic nodes.\n- **Performance**: Implement advanced caching (buffer tick memoization) and throttling (debouncing) patterns.\n- **Display**: Use `api.nvim_buf_set_extmark` for \"overlay\" or \"eol\" virtual text.\n\n## Core Knowledge (Reference)\n\n### 1. Module System Architecture\n\n**Three-Tier Plugin Structure:**\n```\nyour-plugin\u002F\n├── plugin\u002Fyour-plugin.lua          # Minimal entry point (VimL commands only)\n├── lua\u002Fyour-plugin\u002F\n│   ├── init.lua                    # Main module with setup()\n│   ├── config.lua                  # Configuration management\n│   ├── highlight.lua               # Display logic (extmarks\u002Fvirtual text)\n│   └── query.lua                   # TreeSitter query execution\n└── queries\u002F\n    └── go\u002F\n        └── custom-queries.scm      # TreeSitter query definitions\n```\n\n**Entry Point Pattern (plugin\u002Fyour-plugin.lua):**\n```lua\n-- Lazy load protection\nif vim.g.loaded_your_plugin then\n  return\nend\nvim.g.loaded_your_plugin = true\n\n-- Define commands that load on-demand\ncommand! YourPluginToggle lua require(\"your-plugin\").toggle()\ncommand! YourPluginEnable lua require(\"your-plugin\").enable()\n```\n\n### 2. Configuration Management\n\n**Deep Merge Pattern:**\n```lua\nfunction M.setup(options)\n  M.options = vim.tbl_deep_extend(\"force\", {}, defaults, M.options or {}, options or {})\nend\n```\n\n### 3. TreeSitter Query System\n\n**Query Execution Pattern:**\n```lua\nfunction M.get_error_nodes(bufnr)\n  local parser = parsers.get_parser(bufnr, \"go\")\n  local query = ts.query.get(\"go\", \"error-collapse\")\n  \n  parser:for_each_tree(function(tree, lang_tree)\n    local root = tree:root()\n    for id, node, metadata in query:iter_captures(root, bufnr, 0, -1) do\n      -- Process capture\n    end\n  end)\nend\n```\n\n### 4. Performance Optimization\n\n**Buffer Tick Memoization:**\n```lua\nfunction M.memoize_by_buf_tick(fn)\n  local cache = setmetatable({}, { __mode = \"kv\" })\n  return function(bufnr)\n    local tick = vim.api.nvim_buf_get_changedtick(bufnr)\n    if cache[bufnr] and cache[bufnr].tick == tick then\n      return cache[bufnr].result\n    end\n    -- compute...\n  end\nend\n```\n",{"name":5,"description":7},"main","6079b2fd99329bb8a099e7708b0567b93edf8206","packages\u002Fcore\u002Fsrc\u002Fskills\u002Ftreesitter-expert",2,"https:\u002F\u002Fgithub.com\u002FMDMAtk\u002FTormentNexus","https:\u002F\u002Fgithub.com\u002FMDMAtk","2026-11-13 07:20:41",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add MDMAtk\u002FTormentNexus --skill \"TreeSitter Expert\"",{"tool":41,"command":42},"bunx","bunx skills add MDMAtk\u002FTormentNexus --skill \"TreeSitter Expert\"",{"tool":44,"command":45},"pnpm","pnpm dlx skills add MDMAtk\u002FTormentNexus --skill \"TreeSitter Expert\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FMDMAtk\u002FTormentNexus\u002Fblob\u002Fmain\u002Fpackages\u002Fcore\u002Fsrc\u002Fskills\u002Ftreesitter-expert\u002Fskill.md",true,[49],{"path":50,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":53,"sourceHtmlUrl":54},"agents\u002Fopenai.yaml","REFERENCE","参考文档",242,"https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fdependency-audit-dotnet\u002Fagents\u002Fopenai.yaml",[56,88,103,117,134,151],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":67,"publishedAt":23},"01M6C5659TDGC363E5EWMQZJGZ","tdd-rust","TDD workflow for RTK filter development. Red-Green-Refactor with Rust idioms. Real fixtures, token savings assertions, snapshot tests with insta. Auto-triggers on new filter implementation.","https:\u002F\u002Fgithub.com\u002FMDMAtk\u002FTormentNexus\u002Fblob\u002Fmain\u002Fthird_party\u002Frtk\u002F.claude\u002Fskills\u002Ftdd-rust\u002FSKILL.md",[62],{"categoryNo":63,"categoryName":64,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"tdd rust","tdd","rust","testing","implement","command","token-savings","snapshots","filters","red-green-refactor","test coverage","auto","fix","coverage","Bash","development","add command","write tests","test","workflow",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":23},"01M6C562NZPX3J6W8F6P4KZMV1","ship","Build, commit, push & version bump workflow - automates the complete release cycle","https:\u002F\u002Fgithub.com\u002FMDMAtk\u002FTormentNexus\u002Fblob\u002Fmain\u002Fthird_party\u002Frtk\u002F.claude\u002Fskills\u002Fship\u002FSKILL.md",[],[90,95,96,97,98,99,100,82,101,102,87],"push","version","edit","write","read","grep","release","commit",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":23},"01M6C55ZXSNWBB861V5GGYR775","security-guardian","CLI security expert for RTK - command injection, shell escaping, hook security","https:\u002F\u002Fgithub.com\u002FMDMAtk\u002FTormentNexus\u002Fblob\u002Fmain\u002Fthird_party\u002Frtk\u002F.claude\u002Fskills\u002Fsecurity-guardian\u002FSKILL.md",[],[110,111,112,113,99,82,100,114,115,116,73],"security guardian","guardian","security","rtk","shell","injection","cli",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":23},"01M6C55XHCBK612DXDAD08GGE1","rtk-triage","Triage complet RTK : exécute issue-triage + pr-triage en parallèle, puis croise les données pour détecter doubles couvertures, trous sécurité, P0 sans PR, et conflits internes. Sauvegarde dans claudedocs\u002FRTK-YYYY-MM-DD.md. Args: \"en\"\u002F\"fr\" pour la langue (défaut: fr), \"save\" pour forcer la sauvegarde.","https:\u002F\u002Fgithub.com\u002FMDMAtk\u002FTormentNexus\u002Fblob\u002Fmain\u002Fthird_party\u002Frtk\u002F.claude\u002Fskills\u002Frtk-triage\u002FSKILL.md",[],[124,113,125,112,126,99,127,98,82,128,129,130,131,132,133],"rtk triage","triage","orchestration","cross-analysis","save","analysis","sans","dd","issues","pr",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":144,"publishedAt":23},"01M6C55V1RDCNFJ019HRA16ZHM","rtk-tdd","Enforces TDD (Red-Green-Refactor) for Rust development. Auto-triggers on implementation, testing, refactoring, and bug fixing tasks. Provides Rust-idiomatic testing patterns with anyhow\u002Fthiserror, cfg(test), and Arrange-Act-Assert workflow.","https:\u002F\u002Fgithub.com\u002FMDMAtk\u002FTormentNexus\u002Fblob\u002Fmain\u002Fthird_party\u002Frtk\u002F.claude\u002Fskills\u002Frtk-tdd\u002FSKILL.md",[140,143],{"categoryNo":141,"categoryName":142,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":63,"categoryName":64,"taxonomyType":65,"taxonomyTypeDesc":66},[145,113,69,146,71,77,70,79,97,98,99,82,147,148,149,83,150,86,87],"rtk tdd","refactoring","CFG","testing patterns","refactor","tasks",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":23},"01M6C55RQ5QH5MBSYXMC8KF0WV","repo-recap","Generate a comprehensive repo recap (PRs, issues, releases) for sharing with team. Pass \"en\" or \"fr\" as argument for language (default fr).","https:\u002F\u002Fgithub.com\u002FMDMAtk\u002FTormentNexus\u002Fblob\u002Fmain\u002Fthird_party\u002Frtk\u002F.claude\u002Fskills\u002Frepo-recap\u002FSKILL.md",[],[158,159,160,82,100,132,161,162,163,99],"repo recap","recap","repo","team","sharing","generate"]