[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C0ZP26G5TJTFNFEK035R6Z":3,"skill-same:01M6C0ZP26G5TJTFNFEK035R6Z":52},{"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":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":32,"repositoryHtmlUrl":33,"repositoryHomepageUrl":34,"ownerHtmlUrl":35,"ownerBlogUrl":36,"ownerDescription":6,"updatedAt":37,"install":38,"resources":51},"01M6C0ZP26G5TJTFNFEK035R6Z","pluot-reference-materials",null,"Use when the user asks you to reference specific code, documentation files, or source repositories of dependencies or related tools.","keller-mark\u002Fpluot","keller-mark","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F7525285?v=4","01M6C0Z7QY1MB45XYSA751H279","Mark Keller","01M6C0Z7WT9FM6H2ZFHT28C43C",31,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fkeller-mark\u002Fpluot\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpluot-reference-materials\u002FSKILL.md",[],[19,20,21,22,23],"pluot reference materials","documentation","code","Tools","user","2026-11-10 10:12:30",false,"---\nname: pluot-reference-materials\ndescription: Use when the user asks you to reference specific code, documentation files, or source repositories of dependencies or related tools.\n---\n\n\nThe (git-ignored) `references` directory (at the root of the repo) is intended as a space to temporarily place read-only copies of code or documentation files\u002Ffolders.\nThese copies allow us to reference the logic or specifications of dependencies, related tools, or data formats by reading local files within the `references` directory.\n\n## Pulling in a new reference\n\nIf the user asks you to pull in a new reference material\u002Fdocument, they will specify a URL to a file or github repository. If the user specifies a github repository, use `degit` to pull in a lightweight copy of the repo or a user-specified subset of it (this avoids pulling in the full repo commit history). Store the files\u002Ffolders in a new subdirectory of `references`.\n\n## Examples\n\n- The AnnData on-disk format: https:\u002F\u002Fgithub.com\u002Fscverse\u002Fanndata\u002Fblob\u002Fmain\u002Fdocs\u002Ffileformat-prose.md\n- The SpatialData design document: https:\u002F\u002Fgithub.com\u002Fscverse\u002Fspatialdata\u002Fblob\u002Fmain\u002Fdocs\u002Fdesign_doc.md\n- The OME-NGFF specification and RFCs: https:\u002F\u002Fgithub.com\u002Fome\u002Fngff\n- OME-Zarr RFC-5 transformations: https:\u002F\u002Fgithub.com\u002Fclbarnes\u002Fome_zarr_transformations_conformance\n- Vitessce Bitmask Layer files:\n  - https:\u002F\u002Fgithub.com\u002Fvitessce\u002Fvitessce\u002Fblob\u002Fmain\u002Fpackages\u002Fgl\u002Fsrc\u002FBitmaskLayerBeta.js\n  - https:\u002F\u002Fgithub.com\u002Fvitessce\u002Fvitessce\u002Fblob\u002Fmain\u002Fpackages\u002Fgl\u002Fsrc\u002Fbitmask-layer-beta-shaders.js\n  - https:\u002F\u002Fgithub.com\u002Fvitessce\u002Fvitessce\u002Fblob\u002Fmain\u002Fpackages\u002Fgl\u002Fsrc\u002Fbitmask-utils.js\n  - https:\u002F\u002Fgithub.com\u002Fvitessce\u002Fvitessce\u002Fblob\u002Fmain\u002Fpackages\u002Fgl\u002Fsrc\u002Fbitmask-utils.test.js\n- AnnData.js handling of sparse arrays: https:\u002F\u002Fgithub.com\u002Filan-gold\u002Fanndata.js\u002Fblob\u002Fmain\u002Fsrc\u002Fsparse_array.ts\n- Vitessce handling of sparse arrays: https:\u002F\u002Fgithub.com\u002Fvitessce\u002Fvitessce\u002Fblob\u002Fmain\u002Fpackages\u002Ffile-types\u002Fzarr\u002Fsrc\u002Fanndata-loaders\u002FObsFeatureMatrixAnndataLoader.js\n- D3 scales: https:\u002F\u002Fgithub.com\u002Fd3\u002Fd3-scale\n- D3 axes: https:\u002F\u002Fgithub.com\u002Fd3\u002Fd3-axis\n","The (git-ignored) `references` directory (at the root of the repo) is intended as a space to temporarily place read-only copies of code or documentation files\u002Ffolders.\nThese copies allow us to reference the logic or specifications of dependencies, related tools, or data formats by reading local files within the `references` directory.\n\n## Pulling in a new reference\n\nIf the user asks you to pull in a new reference material\u002Fdocument, they will specify a URL to a file or github repository. If the user specifies a github repository, use `degit` to pull in a lightweight copy of the repo or a user-specified subset of it (this avoids pulling in the full repo commit history). Store the files\u002Ffolders in a new subdirectory of `references`.\n\n## Examples\n\n- The AnnData on-disk format: https:\u002F\u002Fgithub.com\u002Fscverse\u002Fanndata\u002Fblob\u002Fmain\u002Fdocs\u002Ffileformat-prose.md\n- The SpatialData design document: https:\u002F\u002Fgithub.com\u002Fscverse\u002Fspatialdata\u002Fblob\u002Fmain\u002Fdocs\u002Fdesign_doc.md\n- The OME-NGFF specification and RFCs: https:\u002F\u002Fgithub.com\u002Fome\u002Fngff\n- OME-Zarr RFC-5 transformations: https:\u002F\u002Fgithub.com\u002Fclbarnes\u002Fome_zarr_transformations_conformance\n- Vitessce Bitmask Layer files:\n  - https:\u002F\u002Fgithub.com\u002Fvitessce\u002Fvitessce\u002Fblob\u002Fmain\u002Fpackages\u002Fgl\u002Fsrc\u002FBitmaskLayerBeta.js\n  - https:\u002F\u002Fgithub.com\u002Fvitessce\u002Fvitessce\u002Fblob\u002Fmain\u002Fpackages\u002Fgl\u002Fsrc\u002Fbitmask-layer-beta-shaders.js\n  - https:\u002F\u002Fgithub.com\u002Fvitessce\u002Fvitessce\u002Fblob\u002Fmain\u002Fpackages\u002Fgl\u002Fsrc\u002Fbitmask-utils.js\n  - https:\u002F\u002Fgithub.com\u002Fvitessce\u002Fvitessce\u002Fblob\u002Fmain\u002Fpackages\u002Fgl\u002Fsrc\u002Fbitmask-utils.test.js\n- AnnData.js handling of sparse arrays: https:\u002F\u002Fgithub.com\u002Filan-gold\u002Fanndata.js\u002Fblob\u002Fmain\u002Fsrc\u002Fsparse_array.ts\n- Vitessce handling of sparse arrays: https:\u002F\u002Fgithub.com\u002Fvitessce\u002Fvitessce\u002Fblob\u002Fmain\u002Fpackages\u002Ffile-types\u002Fzarr\u002Fsrc\u002Fanndata-loaders\u002FObsFeatureMatrixAnndataLoader.js\n- D3 scales: https:\u002F\u002Fgithub.com\u002Fd3\u002Fd3-scale\n- D3 axes: https:\u002F\u002Fgithub.com\u002Fd3\u002Fd3-axis\n",{"name":5,"description":7},"main","183ad01c1deac0379e3fa98720cf49c990b2a0d3",".claude\u002Fskills\u002Fpluot-reference-materials",3,"https:\u002F\u002Fgithub.com\u002Fkeller-mark\u002Fpluot","https:\u002F\u002Fpluot.dev","https:\u002F\u002Fgithub.com\u002Fkeller-mark","markk.co","2026-11-04 02:32:42",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add keller-mark\u002Fpluot --skill pluot-reference-materials",{"tool":44,"command":45},"bunx","bunx skills add keller-mark\u002Fpluot --skill pluot-reference-materials",{"tool":47,"command":48},"pnpm","pnpm dlx skills add keller-mark\u002Fpluot --skill pluot-reference-materials","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkeller-mark\u002Fpluot\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpluot-reference-materials\u002FSKILL.md",true,[],[53,66,75,88,100,108],{"skillNo":54,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":57,"categories":58,"keywords":59,"publishedAt":24},"01M6C0ZSB3MV7FRFBAEMNDSKC7","pluot-snappy-troubleshooting","Use when rust build fails due to command did not execute successfully, involving snappy or snappy_src or snappy\u002Fsnappy.cc","https:\u002F\u002Fgithub.com\u002Fkeller-mark\u002Fpluot\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpluot-snappy-troubleshooting\u002FSKILL.md",[],[60,61,62,63,64,65],"pluot snappy troubleshooting","troubleshooting","rust","src","command","execute",{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":24},"01M6C0ZQWAKEWB2HC934DFBPP2","pluot-shader-modules","Use when you need to write or modify a WGSL shader.","https:\u002F\u002Fgithub.com\u002Fkeller-mark\u002Fpluot\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpluot-shader-modules\u002FSKILL.md",[],[73,74],"pluot shader modules","write",{"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":81,"publishedAt":24},"01M6C0ZKJ5DXMB57SG53GAPM4M","pluot-memoization","Use when writing layer prepare functions which load data asynchronously or otherwise need to cache or memoize results.","https:\u002F\u002Fgithub.com\u002Fkeller-mark\u002Fpluot\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpluot-memoization\u002FSKILL.md",[],[82,83,84,85,86,87],"pluot memoization","writing","prepare","cache","data","results",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":24},"01M6C0ZJ279C848HRCTA1YZ454","pluot-layer-parameter-principles","Use when adding fields\u002Fproperties\u002Fmembers to layer parameter structs.","https:\u002F\u002Fgithub.com\u002Fkeller-mark\u002Fpluot\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpluot-layer-parameter-principles\u002FSKILL.md",[],[95,96,97,98,99],"layer","principles","pluot layer parameter principles","properties","use",{"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":106,"publishedAt":24},"01M6C0ZGD3J2WVVE8499GW4Y47","pluot-layer-implementation","Use when implementing layers for Pluot in Rust.","https:\u002F\u002Fgithub.com\u002Fkeller-mark\u002Fpluot\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpluot-layer-implementation\u002FSKILL.md",[],[107,62],"pluot layer implementation",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":24},"01M6C0ZEKV8Y8N8230180FSPVH","pluot-filter-select-highlight","Use when modifying the filtering, selection, or highlighting logic in Pluot.","https:\u002F\u002Fgithub.com\u002Fkeller-mark\u002Fpluot\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpluot-filter-select-highlight\u002FSKILL.md",[],[115,116],"pluot filter select highlight","select"]