[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CT2AV0RZK87722HSP4WGFD":3,"skill-same:01M6CT2AV0RZK87722HSP4WGFD":113},{"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":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":46,"ownerHtmlUrl":47,"ownerBlogUrl":48,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6CT2AV0RZK87722HSP4WGFD","vercel-queues",null,"Build and operate Vercel Queues with @vercel\u002Fqueue across push and poll consumers. Use when users ask about \"vercel queues\", \"@vercel\u002Fqueue\", \"queue\u002Fv2beta\", \"handleCallback\", \"PollingQueueClient\", \"receive\", queue retries, visibility timeouts, idempotency keys, or queue region routing.","getsentry\u002Fjunior","getsentry","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1396951?v=4","01M6CHRN2S1A588Q46ASWA5335","Sentry","01M6CT1V0TF72B1X0MQT5MSYXF",413,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvercel-queues\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"vercel queues","queues","vercel","across","when","keys","operate","with","about","retries","users","routing","build","queue","use","ask","push","2026-11-10 10:12:30",false,"---\nname: vercel-queues\ndescription: Build and operate Vercel Queues with @vercel\u002Fqueue across push and poll consumers. Use when users ask about \"vercel queues\", \"@vercel\u002Fqueue\", \"queue\u002Fv2beta\", \"handleCallback\", \"PollingQueueClient\", \"receive\", queue retries, visibility timeouts, idempotency keys, or queue region routing.\n---\n\nImplement queue producers and consumers using Vercel Queues docs and SDK contracts.\n\n## Step 1: Classify the request\n\nChoose one path before writing code:\n\n| Request type | Primary reference |\n| --- | --- |\n| First-time setup, minimal producer + consumer | `references\u002Fquickstart.md` |\n| SDK usage, options, retries, transport behavior | `references\u002Fsdk.md` |\n| API-level integration (custom clients, non-SDK consumers) | `references\u002Fapi.md` |\n| Delivery semantics and architecture decisions | `references\u002Fconcepts.md` |\n| Polling workers and mixed push\u002Fpoll design | `references\u002Fpoll-mode.md` |\n| Local setup and debugging | `references\u002Flocal-dev.md` |\n\nIf the task spans multiple categories, read only the relevant files above.\n\n## Step 2: Apply core guardrails\n\n1. Design consumers as idempotent because delivery is at-least-once.\n2. Pick push mode by default on Vercel unless the task explicitly needs scheduled\u002Fbatched\u002Fclient-driven polling.\n3. For poll mode, pin an explicit region and use the same region for send and receive.\n4. Use bounded retry strategy for poison messages (`acknowledge: true` after threshold).\n5. Keep topic and consumer names within `^[A-Za-z0-9_-]+$`.\n\n## Step 3: Implement with minimal surface\n\n1. Prefer top-level `send` and `handleCallback` for standard Vercel push mode.\n2. Use `QueueClient` only when you need custom options (`transport`, `token`, `headers`, `deploymentId`).\n3. Use `PollingQueueClient` for poll mode (`receive`) and handle `{ ok: false, reason: \"empty\" }` explicitly.\n4. Keep `vercel.json` trigger mapping explicit and scoped to the consumer route.\n\n## Step 4: Validate behavior\n\n1. Verify producer returns `messageId` and treat nullable `messageId` as acceptable deferred acceptance.\n2. Verify consumer behavior across success, retry, and poison-message paths.\n3. Verify visibility timeout assumptions match workload duration.\n4. Verify region assumptions in poll mode.\n\n## Step 5: Troubleshoot from first principles\n\n1. Authentication issues: check OIDC\u002Ftoken source and env loading.\n2. Missing deliveries: verify topic name, trigger registration, and region alignment.\n3. Duplicate processing: verify idempotency key strategy and consumer idempotency.\n4. Backlog growth: inspect consumer throughput, retry policy, and visibility timeout.\n","Implement queue producers and consumers using Vercel Queues docs and SDK contracts.\n\n## Step 1: Classify the request\n\nChoose one path before writing code:\n\n| Request type | Primary reference |\n| --- | --- |\n| First-time setup, minimal producer + consumer | `references\u002Fquickstart.md` |\n| SDK usage, options, retries, transport behavior | `references\u002Fsdk.md` |\n| API-level integration (custom clients, non-SDK consumers) | `references\u002Fapi.md` |\n| Delivery semantics and architecture decisions | `references\u002Fconcepts.md` |\n| Polling workers and mixed push\u002Fpoll design | `references\u002Fpoll-mode.md` |\n| Local setup and debugging | `references\u002Flocal-dev.md` |\n\nIf the task spans multiple categories, read only the relevant files above.\n\n## Step 2: Apply core guardrails\n\n1. Design consumers as idempotent because delivery is at-least-once.\n2. Pick push mode by default on Vercel unless the task explicitly needs scheduled\u002Fbatched\u002Fclient-driven polling.\n3. For poll mode, pin an explicit region and use the same region for send and receive.\n4. Use bounded retry strategy for poison messages (`acknowledge: true` after threshold).\n5. Keep topic and consumer names within `^[A-Za-z0-9_-]+$`.\n\n## Step 3: Implement with minimal surface\n\n1. Prefer top-level `send` and `handleCallback` for standard Vercel push mode.\n2. Use `QueueClient` only when you need custom options (`transport`, `token`, `headers`, `deploymentId`).\n3. Use `PollingQueueClient` for poll mode (`receive`) and handle `{ ok: false, reason: \"empty\" }` explicitly.\n4. Keep `vercel.json` trigger mapping explicit and scoped to the consumer route.\n\n## Step 4: Validate behavior\n\n1. Verify producer returns `messageId` and treat nullable `messageId` as acceptable deferred acceptance.\n2. Verify consumer behavior across success, retry, and poison-message paths.\n3. Verify visibility timeout assumptions match workload duration.\n4. Verify region assumptions in poll mode.\n\n## Step 5: Troubleshoot from first principles\n\n1. Authentication issues: check OIDC\u002Ftoken source and env loading.\n2. Missing deliveries: verify topic name, trigger registration, and region alignment.\n3. Duplicate processing: verify idempotency key strategy and consumer idempotency.\n4. Backlog growth: inspect consumer throughput, retry policy, and visibility timeout.\n",{"name":5,"description":7},"main","5abc4b2bad9bd5ffe7b7fe0352f0999c6ca9c601",".agents\u002Fskills\u002Fvercel-queues",45,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior","https:\u002F\u002Fjunior.sentry.dev","https:\u002F\u002Fgithub.com\u002Fgetsentry","https:\u002F\u002Fsentry.io","Real-time crash reporting for your web apps, mobile apps, and games.","2026-11-12 03:57:34",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add getsentry\u002Fjunior --skill vercel-queues",{"tool":57,"command":58},"bunx","bunx skills add getsentry\u002Fjunior --skill vercel-queues",{"tool":60,"command":61},"pnpm","pnpm dlx skills add getsentry\u002Fjunior --skill vercel-queues","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvercel-queues\u002FSKILL.md",true,[65,71,75,79,83,87,91,95,99,103,109],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Fapi.md","REFERENCE","参考文档",1291,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvercel-queues\u002Freferences\u002Fapi.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fconcepts.md",826,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvercel-queues\u002Freferences\u002Fconcepts.md",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fidea-challenge.feature",866,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fboshu2\u002Fagentops\u002Fskills\u002Fidea-genie\u002Freferences\u002Fidea-challenge.feature",{"path":80,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Fidea-genie.feature",953,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fboshu2\u002Fagentops\u002Fskills\u002Fidea-genie\u002Freferences\u002Fidea-genie.feature",{"path":84,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Flocal-dev.md",978,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvercel-queues\u002Freferences\u002Flocal-dev.md",{"path":88,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fpoll-mode.md",1049,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvercel-queues\u002Freferences\u002Fpoll-mode.md",{"path":92,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fquickstart.md",809,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvercel-queues\u002Freferences\u002Fquickstart.md",{"path":96,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Fsdk.md",1345,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fvercel-queues\u002Freferences\u002Fsdk.md",{"path":100,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":101,"sourceHtmlUrl":102},"references\u002Fsealed-perspectives.md",1581,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fboshu2\u002Fagentops\u002Fskills\u002Fidea-genie\u002Freferences\u002Fsealed-perspectives.md",{"path":104,"resourceType":105,"resourceTypeDesc":106,"sizeBytes":107,"sourceHtmlUrl":108},"scripts\u002Fvalidate-challenge.sh","SCRIPT","脚本",2152,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fboshu2\u002Fagentops\u002Fskills\u002Fidea-genie\u002Fscripts\u002Fvalidate-challenge.sh",{"path":110,"resourceType":105,"resourceTypeDesc":106,"sizeBytes":111,"sourceHtmlUrl":112},"scripts\u002Fvalidate-output.sh",1779,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fboshu2\u002Fagentops\u002Fskills\u002Fidea-genie\u002Fscripts\u002Fvalidate-output.sh",[114,143,171,194,217,236],{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":125,"publishedAt":36},"01M6CT5E87W8P93FGAVYDWD6RD","junior","Build, review, or update Junior extension skills and plugins. Use when users ask to create a Junior SKILL.md, app skill, plugin, plugin.yaml, packaged plugin, MCP-backed plugin, OAuth or credentialed plugin, or to validate Junior extension files. Do not use for ordinary Junior usage, provider workflows, generic code editing, or non-Junior agent-skill authoring.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002Fskills\u002Fjunior\u002FSKILL.md",[120],{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[116,126,127,128,129,130,131,33,132,133,34,134,135,136,137,31,138,139,140,29,141,142,23],"do","provider","editing","skill authoring","files","MCP","OAuth","workflows","code","review","create","plugin","update","app","usage","generic","for",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":153,"publishedAt":36},"01M6CT5AQRDSG19SBJACXGPMY9","junior-qa","Validate Junior changes through local app-facing paths. Use for local client or agent QA, dashboard mock reporting UI QA, sharing a preview URL of a running UI, Docker sandbox provider QA (also from inside a Vercel Sandbox), PR readiness, plugin CLI commands, skill\u002Ftool\u002Fprompt\u002Fplugin behavior, and behavior that tests do not cover well but can be exercised with `pnpm cli -- chat ...`, another `pnpm cli` command, or `JUNIOR_DASHBOARD_MOCK_CONVERSATIONS=true pnpm dev`.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002Fskills\u002Fjunior-qa\u002FSKILL.md",[149,152],{"categoryNo":150,"categoryName":151,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},[154,155,116,139,156,157,158,159,160,161,162,163,164,165,166,167,168,169,60,170],"qa","junior qa","conversations","local","URL","preview","dashboard","cli","command","reporting","pr readiness","commands","paths","cover","ui","but","running",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":178,"publishedAt":36},"01M6CT58D1SJNFZ19ZXK64ZX0R","eval-auth","Use for `\u002Feval-auth` requests in MCP auth-resume integration tests. Always connect through the disclosed MCP tool before answering, then continue the user's actual request using prior thread context when needed.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002Fpackages\u002Fjunior\u002Ftests\u002Ffixtures\u002Fplugins\u002Feval-auth\u002Fskills\u002Feval-auth\u002FSKILL.md",[177],{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},[179,180,181,182,183,184,185,186,131,33,187,188,189,190,142,191,192,193,23],"eval auth","auth","eval","resume","integration tests","tool","integration","continue","connect","user","context","requests","request","tests","thread",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":198,"categories":199,"keywords":200,"publishedAt":36},"01M6CT55MZKCVBJH2X7T1HCRPX","jr-rpc","Manage low-level config and plugin introspection flows via jr-rpc bash commands. Use only when the user explicitly asks to read or update provider defaults\u002Fconfig or list installed plugins. Do not use for PR, branch, push, or auth-order questions; load the matching provider skill instead.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002Fpackages\u002Fjunior\u002Fskills\u002Fjr-rpc\u002FSKILL.md",[],[201,202,126,203,137,35,204,205,180,127,206,138,207,208,209,210,211,33,212,188,142,213,214,23,215,216],"jr rpc","rpc","branch","pr","introspection","manage","read","config","plugins","only","list","Bash","flows","load","via","questions",{"skillNo":218,"name":219,"nameZh":6,"description":220,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":221,"categories":222,"keywords":223,"publishedAt":36},"01M6PQN1EZPHRJ5XAJP2J3ZS2T","xdotcom","Read public X (Twitter) data through the read-only X API v2. Use when users share an x.com or twitter.com link, or ask what someone posted on X, what people are saying about a topic, product, or launch on X, how much chatter something got, or for a post's text, metrics, replies, or an account's recent posts. Do not use it to post, reply, like, repost, follow, or send DMs, or to read private or protected data.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002Fpackages\u002Fjunior-xdotcom\u002Fskills\u002Fxdotcom\u002FSKILL.md",[],[219,126,224,142,225,226,227,228,210,229,33,230,34,212,231,232,233,29,234,235,23],"posts","read-only","x api","send","twitter","chatter","people","api","share","replies","text","post",{"skillNo":237,"name":21,"nameZh":6,"description":238,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":239,"categories":240,"keywords":241,"publishedAt":36},"01M6CT5386D90KE6YH8Q8WGQZ0","Deploy and inspect Vercel apps, assign aliases, delete deployments, investigate logs, and monitor deployment outcomes. Use for Vercel deployment and log requests, not GitHub code changes or other cloud providers.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fjunior\u002Fblob\u002Fmain\u002Fpackages\u002Fjunior-vercel\u002Fskills\u002Fvercel\u002FSKILL.md",[],[21,242,243,244,245,246,247,248,249,250,251,33,252,134,253,254,255,142,256,257,258,259,190],"investigate","delete","outcomes","github","deployment","monitor","vercel deployment","github code","deployments","cloud","deploy","Providers","logs","log","inspect","assign","apps","changes"]