[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ACE1TBPSG57SDASFY8CJZC":3,"skill-same:01M6ACE1TBPSG57SDASFY8CJZC":80},{"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":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":56,"ownerHtmlUrl":57,"ownerBlogUrl":58,"ownerDescription":6,"updatedAt":59,"install":60,"resources":73},"01M6ACE1TBPSG57SDASFY8CJZC","review-concurrency-state",null,"Review Apache Pinot concurrency and state safety when locks, shared callbacks, lifecycle, or distributed metadata change.","apache\u002Fpinot","apache","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F47359?v=4","01M6AC83E6K4FDKK7HZ8WNMQKE","The Apache Software Foundation","01M6ACDPCCB13AFXYW1KGCRWNY",6177,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Freview-concurrency-state\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,9,35,36,37,38],"state","review concurrency state","concurrency","review","kb","sequences","when","lock","zk","coordinator","types","Callbacks","shared","local","state-management","node","code-review","code","distributed","change","2026-11-10 10:12:30",false,"---\nname: review-concurrency-state\ndescription: Review Apache Pinot concurrency and state safety when locks, shared callbacks, lifecycle, or distributed metadata change.\ndomain: kb\u002Fcode-review-principles.md#2-state-management--concurrency\ntriggers:\n  - diff adds\u002Fremoves synchronized \u002F volatile \u002F Atomic* \u002F lock types\n  - diff touches pinot-segment-local\u002F**\u002Fupsert\u002F** or consumer coordinator code\n  - diff touches Helix state transitions, IdealState writes, or ZK node mutations\n  - diff modifies shared observer\u002Fcallback registration paths\n  - diff changes check-then-act sequences on concurrent collections\nlicense: Apache-2.0\n---\n\n# Skill: review-concurrency-state\n\nProcedure: see [`kb\u002Fskills\u002Freview-concurrency-state.md`](..\u002F..\u002F..\u002Fkb\u002Fskills\u002Freview-concurrency-state.md). Read it first, then follow it.\n","# Skill: review-concurrency-state\n\nProcedure: see [`kb\u002Fskills\u002Freview-concurrency-state.md`](..\u002F..\u002F..\u002Fkb\u002Fskills\u002Freview-concurrency-state.md). Read it first, then follow it.\n",{"name":5,"domain":44,"license":15,"triggers":45,"description":7},"kb\u002Fcode-review-principles.md#2-state-management--concurrency",[46,47,48,49,50],"diff adds\u002Fremoves synchronized \u002F volatile \u002F Atomic* \u002F lock types","diff touches pinot-segment-local\u002F**\u002Fupsert\u002F** or consumer coordinator code","diff touches Helix state transitions, IdealState writes, or ZK node mutations","diff modifies shared observer\u002Fcallback registration paths","diff changes check-then-act sequences on concurrent collections","master","e9be2ee203ac4b19ac70956c16806bee22aae9da",".claude\u002Fskills\u002Freview-concurrency-state",1534,"https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot","https:\u002F\u002Fpinot.apache.org\u002F","https:\u002F\u002Fgithub.com\u002Fapache","https:\u002F\u002Fwww.apache.org\u002F","2026-11-14 10:52:16",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add apache\u002Fpinot --skill review-concurrency-state",{"tool":66,"command":67},"bunx","bunx skills add apache\u002Fpinot --skill review-concurrency-state",{"tool":69,"command":70},"pnpm","pnpm dlx skills add apache\u002Fpinot --skill review-concurrency-state","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Freview-concurrency-state\u002FSKILL.md",true,[74],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Fassertion-map.md","REFERENCE","参考文档",9561,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fpester-should-migration\u002Freferences\u002Fassertion-map.md",[81,98,119,139,158,186],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":92,"publishedAt":39},"01M6ACEFFGBBB74RR7GPKS9GDH","run-test","Run a named Pinot test class or method in its owning Maven module.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Frun-test\u002FSKILL.md",[87],{"categoryNo":88,"categoryName":89,"taxonomyType":90,"taxonomyTypeDesc":91},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[93,94,95,96,97],"test","run","run test","maven","module",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":105,"publishedAt":39},"01M6ACED591YCWDYX9CE76NXTN","review-testing","Review Apache Pinot regression coverage and test quality when behavior or tests change.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Freview-testing\u002FSKILL.md",[104],{"categoryNo":88,"categoryName":89,"taxonomyType":90,"taxonomyTypeDesc":91},[106,22,107,93,38,36,35,9,108,109,110,111,23,112,113,114,115,116,117,118,25],"testing","review testing","file","regression","coverage","fix","regression test","diff","strategies","tests","type","claims","test quality",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":39},"01M6ACEBB9APW590Y5ZK879T5F","review-process-scope","Review Apache Pinot change scope and process when assessing PR descriptions, reverts, retries, or compatibility notes.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Freview-process-scope\u002FSKILL.md",[],[22,126,127,128,129,38,130,131,36,35,9,23,113,132,133,134,135,115,136,137,138,25],"review process scope","process","review process","scope","notes","pr","modules","pr title","todo","upgrade","hotfix","retries","comments",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":39},"01M6ACE95JZ2MXW1WFC1XZE2KR","review-performance","Review Apache Pinot performance when hot paths change or a PR makes benchmark or efficiency claims.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Freview-performance\u002FSKILL.md",[],[22,146,147,38,148,131,149,36,150,151,35,9,152,23,113,153,32,154,155,156,26,157,25],"performance","review performance","perf","core","benchmark","pr description","loop","query","efficiency","runtime","segment","improvement",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":172,"publishedAt":39},"01M6ACE78389C8TABQCGQ7TY05","review-naming-api","Review Apache Pinot naming and API conventions when public names, signatures, or documentation change.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Freview-naming-api\u002FSKILL.md",[164,167],{"categoryNo":165,"categoryName":166,"taxonomyType":90,"taxonomyTypeDesc":91},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":168,"categoryName":169,"taxonomyType":170,"taxonomyTypeDesc":171},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[22,173,174,175,176,38,177,36,35,9,178,179,23,113,180,181,182,183,25,184,185],"review naming api","api","naming","design","documentation","api conventions","REST","methods","signatures","api-design","rest endpoint","constants","new",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":192,"publishedAt":39},"01M6ACE5FK9NE9QNKKZ5Y7QG68","review-correctness-nulls","Review Apache Pinot correctness when null handling, numeric types, dispatch, or resource lifecycles change.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fpinot\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Freview-correctness-nulls\u002FSKILL.md",[],[22,193,194,195,38,36,35,9,196,23,113,197,198,116,156,29,199,200,201,25],"review correctness nulls","review correctness","correctness","vector","default","switch","principles","changes","window"]