[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C0ZAC0KNAA4Z53A981M9MZ":3,"skill-same:01M6C0ZAC0KNAA4Z53A981M9MZ":59},{"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":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":41,"ownerHtmlUrl":42,"ownerBlogUrl":43,"ownerDescription":6,"updatedAt":44,"install":45,"resources":58},"01M6C0ZAC0KNAA4Z53A981M9MZ","pluot-add-changeset",null,"Use when the user has made changes within this repository and needs to document the changes in preparation for semantic versioning. Trigger on \"add a changeset\", \"bump version\", \"record a change\", \"prepare a release\", \"how do I version this\", \"update the changelog\", or any mention of CHANGELOG in this codebase.","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-add-changeset\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"changeset","pluot add changeset","change","prepare","bump version","update","release","changelog","repository","how","versioning","user","2026-11-10 10:12:30",false,"---\nname: pluot-add-changeset\ndescription: Use when the user has made changes within this repository and needs to document the changes in preparation for semantic versioning. Trigger on \"add a changeset\", \"bump version\", \"record a change\", \"prepare a release\", \"how do I version this\", \"update the changelog\", or any mention of CHANGELOG in this codebase.\n---\n\n# Adding a Changeset\n\nPluot uses [Changesets](https:\u002F\u002Fgithub.com\u002Fchangesets\u002Fchangesets) to manage versioning and changelogs.\n\n**Never edit any `CHANGELOG.md` directly.** All changelog entries are generated from changeset files.\n\n## Write the changeset file directly\n\n`pnpm changeset` is an interactive prompt, so it is not usable non-interactively. Create the\nmarkdown file in `.changeset\u002F` yourself instead. The filename is arbitrary (the CLI generates\n`adjective-noun-verb.md`); only the contents matter:\n\n```markdown\n---\n\"@pluot\u002Fcore\": patch\n---\n\nAdded a cool new feature.\n```\n\n- Front matter maps package names (from each sub-package's `package.json` `name` field) to a bump\n  type: `major`, `minor`, or `patch`.\n- The body is the changelog entry. One sentence, imperative or descriptive, ending with a period.\n- List every sub-package you changed. Commit the file alongside your code changes.\n\n\n## When to add a changeset\n\n## CI check\n\n`.github\u002Fworkflows\u002Ftest.yml` runs `pnpm run changeset-status`, which is\n`changeset status --since=origin\u002Fmain`. It fails the PR when a package was modified relative to\n`main` but has no changeset covering it. To check locally before pushing:\n\n```bash\npnpm run changeset-status\n```\n","# Adding a Changeset\n\nPluot uses [Changesets](https:\u002F\u002Fgithub.com\u002Fchangesets\u002Fchangesets) to manage versioning and changelogs.\n\n**Never edit any `CHANGELOG.md` directly.** All changelog entries are generated from changeset files.\n\n## Write the changeset file directly\n\n`pnpm changeset` is an interactive prompt, so it is not usable non-interactively. Create the\nmarkdown file in `.changeset\u002F` yourself instead. The filename is arbitrary (the CLI generates\n`adjective-noun-verb.md`); only the contents matter:\n\n```markdown\n---\n\"@pluot\u002Fcore\": patch\n---\n\nAdded a cool new feature.\n```\n\n- Front matter maps package names (from each sub-package's `package.json` `name` field) to a bump\n  type: `major`, `minor`, or `patch`.\n- The body is the changelog entry. One sentence, imperative or descriptive, ending with a period.\n- List every sub-package you changed. Commit the file alongside your code changes.\n\n\n## When to add a changeset\n\n## CI check\n\n`.github\u002Fworkflows\u002Ftest.yml` runs `pnpm run changeset-status`, which is\n`changeset status --since=origin\u002Fmain`. It fails the PR when a package was modified relative to\n`main` but has no changeset covering it. To check locally before pushing:\n\n```bash\npnpm run changeset-status\n```\n",{"name":5,"description":7},"main","183ad01c1deac0379e3fa98720cf49c990b2a0d3",".claude\u002Fskills\u002Fpluot-add-changeset",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":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add keller-mark\u002Fpluot --skill pluot-add-changeset",{"tool":51,"command":52},"bunx","bunx skills add keller-mark\u002Fpluot --skill pluot-add-changeset",{"tool":54,"command":55},"pnpm","pnpm dlx skills add keller-mark\u002Fpluot --skill pluot-add-changeset","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkeller-mark\u002Fpluot\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpluot-add-changeset\u002FSKILL.md",true,[],[60,73,82,93,105,117],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":31},"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",[],[67,68,69,70,71,72],"pluot snappy troubleshooting","troubleshooting","execute","command","src","rust",{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":31},"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",[],[80,81],"pluot shader modules","write",{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":31},"01M6C0ZP26G5TJTFNFEK035R6Z","pluot-reference-materials","Use when the user asks you to reference specific code, documentation files, or source repositories of dependencies or related tools.","https:\u002F\u002Fgithub.com\u002Fkeller-mark\u002Fpluot\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpluot-reference-materials\u002FSKILL.md",[],[89,30,90,91,92],"pluot reference materials","Tools","code","documentation",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":31},"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",[],[100,101,102,103,22,104],"pluot memoization","results","data","cache","writing",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":31},"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",[],[112,113,114,115,116],"pluot layer parameter principles","principles","layer","use","properties",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":31},"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",[],[124,72],"pluot layer implementation"]