[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HS1JWHSZCDG13BW869ZTYG":3,"skill-same:01M6HS1JWHSZCDG13BW869ZTYG":104},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":41,"commitSha":42,"skillDirectory":5,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M6HS1JWHSZCDG13BW869ZTYG","golang",null,"Apply evidence-backed Go rules for bounds, APIs, errors, concurrency, Temporal, tests, rollout, and controllers. Use when changing Go services, handlers, workflows, or tests.","malinskibeniamin\u002Fskills","malinskibeniamin","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9860550?v=4","01M6HR395Z9MM67BCKMW1WKTJS","Beniamin Malinski","01M6HR39AP95WH9NHANQ91FAJ0",4,"MIT","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"go","workflows","services","concurrency","Rules","use","rollout","evidence","tests","temporal","errors","for","apply","when","2026-11-10 10:12:30",false,"---\nname: golang\ndescription: \"Apply evidence-backed Go rules for bounds, APIs, errors, concurrency, Temporal, tests, rollout, and controllers. Use when changing Go services, handlers, workflows, or tests.\"\npaths:\n  - \"**\u002F*.go\"\n  - \"**\u002Fgo.mod\"\n---\n\nThis core routes to domain guidance; `\u002Fgolang-review` owns the aggregate [rule catalog](..\u002Fgolang-review\u002FRULES.md). `\u002Faip` owns resource design; this skill owns Go implementation.\n\n## Non-negotiables\n\n- Bound tenant-controlled memory, cardinality, fan-out, concurrency, and response size.\n- Traverse protos with generated getters: `a.GetB().GetC()`.\n- Proto annotations own field contracts; do not duplicate handler validation.\n- Use `optional` only for semantic presence; update intent belongs in masks.\n- Collections are paginated, filterable `List`; `Get` returns one resource.\n- At API boundaries, log internal causes and return structured Connect\u002FgRPC errors with stable reasons and public paths. Preserve upstream per-item granularity.\n- Security fails closed; secrets are references, never plaintext input, storage, output, or logs.\n- Bound retry\u002Fbackoff inside the owning timeout.\n- Reuse semantic config types, not strings or bool sets.\n- Feature-flag risky mixed-version rollout and remove flags after convergence.\n- Bootstrap files wire; packages own behavior.\n- Integration tests cross real boundaries; tests assert stable behavior, not paths or incidental text.\n\n## Contextual tensions\n\n- Prefer positive config booleans, except negative `disabled` when the zero value must fail closed.\n- Exhaustive enum switches reject unknowns; intentional subsets document ignored values.\n- gRPC keepalive depends on every intermediary.\n- New AIP surfaces use bounded filter strings; preserve established typed filters for compatibility.\n- Fakes suit unit tests, never claims of protocol, role, provider, or container compatibility.\n\n## Load by task\n\n| Work | Read |\n|---|---|\n| Protos, handlers, Connect\u002FgRPC, public errors | [PROTO-API.md](PROTO-API.md) |\n| Goroutines, caches, shutdown, shared state | [CONCURRENCY.md](CONCURRENCY.md) |\n| Errors, logging, metrics | [ERRORS.md](ERRORS.md) |\n| Tests and CI | [TESTING.md](TESTING.md) |\n| Temporal | [TEMPORAL.md](TEMPORAL.md) |\n| Tenant input, egress, authz, secrets, destructive ops | [SECURITY.md](SECURITY.md) |\n| Flags, deprecation, schema removal | [ROLLOUT.md](ROLLOUT.md) |\n| Packages, storage, interfaces | [STRUCTURE.md](STRUCTURE.md) |\n| Operators and reconcilers | [CONTROLLERS.md](CONTROLLERS.md) |\n| Go 1.27 APIs and leak profiles | [GO-1.27.md](GO-1.27.md) |\n\nHooks warn on unreserved shipped proto removals and floating test images. Review diffs with `\u002Fgolang-review`.\n","This core routes to domain guidance; `\u002Fgolang-review` owns the aggregate [rule catalog](..\u002Fgolang-review\u002FRULES.md). `\u002Faip` owns resource design; this skill owns Go implementation.\n\n## Non-negotiables\n\n- Bound tenant-controlled memory, cardinality, fan-out, concurrency, and response size.\n- Traverse protos with generated getters: `a.GetB().GetC()`.\n- Proto annotations own field contracts; do not duplicate handler validation.\n- Use `optional` only for semantic presence; update intent belongs in masks.\n- Collections are paginated, filterable `List`; `Get` returns one resource.\n- At API boundaries, log internal causes and return structured Connect\u002FgRPC errors with stable reasons and public paths. Preserve upstream per-item granularity.\n- Security fails closed; secrets are references, never plaintext input, storage, output, or logs.\n- Bound retry\u002Fbackoff inside the owning timeout.\n- Reuse semantic config types, not strings or bool sets.\n- Feature-flag risky mixed-version rollout and remove flags after convergence.\n- Bootstrap files wire; packages own behavior.\n- Integration tests cross real boundaries; tests assert stable behavior, not paths or incidental text.\n\n## Contextual tensions\n\n- Prefer positive config booleans, except negative `disabled` when the zero value must fail closed.\n- Exhaustive enum switches reject unknowns; intentional subsets document ignored values.\n- gRPC keepalive depends on every intermediary.\n- New AIP surfaces use bounded filter strings; preserve established typed filters for compatibility.\n- Fakes suit unit tests, never claims of protocol, role, provider, or container compatibility.\n\n## Load by task\n\n| Work | Read |\n|---|---|\n| Protos, handlers, Connect\u002FgRPC, public errors | [PROTO-API.md](PROTO-API.md) |\n| Goroutines, caches, shutdown, shared state | [CONCURRENCY.md](CONCURRENCY.md) |\n| Errors, logging, metrics | [ERRORS.md](ERRORS.md) |\n| Tests and CI | [TESTING.md](TESTING.md) |\n| Temporal | [TEMPORAL.md](TEMPORAL.md) |\n| Tenant input, egress, authz, secrets, destructive ops | [SECURITY.md](SECURITY.md) |\n| Flags, deprecation, schema removal | [ROLLOUT.md](ROLLOUT.md) |\n| Packages, storage, interfaces | [STRUCTURE.md](STRUCTURE.md) |\n| Operators and reconcilers | [CONTROLLERS.md](CONTROLLERS.md) |\n| Go 1.27 APIs and leak profiles | [GO-1.27.md](GO-1.27.md) |\n\nHooks warn on unreserved shipped proto removals and floating test images. Review diffs with `\u002Fgolang-review`.\n",{"name":5,"paths":38,"description":7},[39,40],"**\u002F*.go","**\u002Fgo.mod","main","7ff748aa4575e7e65de115ca97b7848b195b79a6",1,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin","Software Engineer ","2026-11-14 18:47:37",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add malinskibeniamin\u002Fskills --skill golang",{"tool":54,"command":55},"bunx","bunx skills add malinskibeniamin\u002Fskills --skill golang",{"tool":57,"command":58},"pnpm","pnpm dlx skills add malinskibeniamin\u002Fskills --skill golang","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FSKILL.md",true,[62,68,72,76,80,84,88,92,96,100],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"CONCURRENCY.md","REFERENCE","参考文档",3528,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FCONCURRENCY.md",{"path":69,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":70,"sourceHtmlUrl":71},"CONTROLLERS.md",1722,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FCONTROLLERS.md",{"path":73,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":74,"sourceHtmlUrl":75},"ERRORS.md",2698,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FERRORS.md",{"path":77,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":78,"sourceHtmlUrl":79},"GO-1.27.md",5632,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FGO-1.27.md",{"path":81,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":82,"sourceHtmlUrl":83},"PROTO-API.md",3797,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FPROTO-API.md",{"path":85,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":86,"sourceHtmlUrl":87},"ROLLOUT.md",3266,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FROLLOUT.md",{"path":89,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":90,"sourceHtmlUrl":91},"SECURITY.md",3057,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FSECURITY.md",{"path":93,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":94,"sourceHtmlUrl":95},"STRUCTURE.md",2063,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FSTRUCTURE.md",{"path":97,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":98,"sourceHtmlUrl":99},"TEMPORAL.md",1840,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FTEMPORAL.md",{"path":101,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":102,"sourceHtmlUrl":103},"TESTING.md",2761,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgolang\u002FTESTING.md",[105,125,148,153,158,182],{"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":33},"01M70WY35N42VJT16W9MA8CCGX","hill-climb","Optimize a defined outcome through bounded evaluation loops. Use for hill-climb requests or repeated improvement against an executable eval, benchmark, or visual comparison; not a one-pass review.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fhill-climb\u002FSKILL.md",[],[112,113,114,115,116,117,24,118,119,120,121,30,122,123,124],"hill climb","bounded","improvement","review","visual","comparison","eval","benchmark","Evaluation","outcome","requests","optimize","loops",{"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":129,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":33},"01M70WXTA2JQ9SN3QZPHHCYB90","gestures","Build or fix web drag, swipe, sheet, reorder, and hold interactions: direct tracking, rubber banding, release velocity, momentum, snap points, and interruption. Not native React Native or Swift.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgestures\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgestures\u002FSKILL.md",[],[127,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147],"build","native","velocity","web","drag","react native","snap","release","swift","react","swipe","direct","tracking","fix","sheet",{"skillNo":149,"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":150,"categories":151,"keywords":152,"publishedAt":33},"01M70WKSB2PTJGVH7C9XC1FEED","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fhill-climb\u002FSKILL.md",[],[112,30,113,115,116,117,24,118,119,121,120,114,123,124,122],{"skillNo":154,"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":155,"categories":156,"keywords":157,"publishedAt":33},"01M70WKGYKGN1J786GK8N3RGH1","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fgestures\u002FSKILL.md",[],[127,140,141,142,143,144,145,146,147,133,134,135,136,137,138,139],{"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":162,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":33},"01M6HS2326AZFPF8G9C2KW4AT0","improve-animations","Audit existing web UI motion and prioritize concrete improvements or self-contained implementation plans. Use for a motion roadmap; animate owns implementation and diff review.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fimprove-animations\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fimprove-animations\u002FSKILL.md",[],[166,167,30,168,169,170,24,171,172,173,174,175,176,177,178,179,136,180,181,115],"improve animations","improve","ui","roadmap","Existing","animate","motion","implementation","plans","diff review","prioritize","web ui","audit","diff","self","ui motion",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":186,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":33},"01M6HS0AADDXBB0S8B42R0G82K","effect-ts","Use when setting up a repository that uses the Effect TypeScript library.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Feffect-ts\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Feffect-ts\u002FSKILL.md",[],[190,191,192,24,193,194,195],"effect ts","effect","library","typescript","up","repository"]