[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-convex-convex-env":3,"mdc-vhs7cn-key":35,"related-repo-convex-convex-env":127,"related-org-convex-convex-env":232},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":30,"sourceUrl":33,"mdContent":34},"convex-env","configure Convex environment variables and secrets","Set and wire Convex deployment env vars \u002F secrets for the app.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"convex","Convex","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fconvex.png","get-convex",[13,17,20,21],{"name":14,"slug":15,"type":16},"Security","security","tag",{"name":18,"slug":19,"type":16},"Configuration","configuration",{"name":9,"slug":8,"type":16},{"name":22,"slug":23,"type":16},"Environment Variables","environment-variables",34,"https:\u002F\u002Fgithub.com\u002Fget-convex\u002Fagent-skills","2026-08-04T05:58:56.390412",null,7,[],{"repoUrl":25,"stars":24,"forks":28,"topics":31,"description":32},[],"Convex Skills for Agents","https:\u002F\u002Fgithub.com\u002Fget-convex\u002Fagent-skills\u002Ftree\u002FHEAD\u002Fskills\u002Fconvex-env","---\nname: convex-env\ndescription: \"Set and wire Convex deployment env vars \u002F secrets for the app.\"\n---\n\n\u003C!-- GENERATED from convex-agents content\u002Fcapabilities\u002Fenv.json — do not edit by hand. -->\n\n# Manage env vars + secrets\n\nStore secrets as Convex deployment env vars (npx convex env set), read them with process.env in actions, never commit them.\n\n## Workflow\n\n1. `npx convex env set KEY value` (per deployment).\n2. Read via process.env.KEY inside actions (not queries\u002Fmutations).\n3. Never hardcode or commit secrets; add to .env.local only for local.\n4. Confirm with `npx convex env list`.\n\n## Rules\n\n- Secrets live in Convex env vars, never in code or git.\n- process.env only in actions ('use node' if needed), not queries\u002Fmutations.\n- Different deployments need their own values.\n",{"data":36,"body":37},{"name":4,"description":6},{"type":38,"children":39},"root",[40,49,55,62,102,108],{"type":41,"tag":42,"props":43,"children":45},"element","h1",{"id":44},"manage-env-vars-secrets",[46],{"type":47,"value":48},"text","Manage env vars + secrets",{"type":41,"tag":50,"props":51,"children":52},"p",{},[53],{"type":47,"value":54},"Store secrets as Convex deployment env vars (npx convex env set), read them with process.env in actions, never commit them.",{"type":41,"tag":56,"props":57,"children":59},"h2",{"id":58},"workflow",[60],{"type":47,"value":61},"Workflow",{"type":41,"tag":63,"props":64,"children":65},"ol",{},[66,79,84,89],{"type":41,"tag":67,"props":68,"children":69},"li",{},[70,77],{"type":41,"tag":71,"props":72,"children":74},"code",{"className":73},[],[75],{"type":47,"value":76},"npx convex env set KEY value",{"type":47,"value":78}," (per deployment).",{"type":41,"tag":67,"props":80,"children":81},{},[82],{"type":47,"value":83},"Read via process.env.KEY inside actions (not queries\u002Fmutations).",{"type":41,"tag":67,"props":85,"children":86},{},[87],{"type":47,"value":88},"Never hardcode or commit secrets; add to .env.local only for local.",{"type":41,"tag":67,"props":90,"children":91},{},[92,94,100],{"type":47,"value":93},"Confirm with ",{"type":41,"tag":71,"props":95,"children":97},{"className":96},[],[98],{"type":47,"value":99},"npx convex env list",{"type":47,"value":101},".",{"type":41,"tag":56,"props":103,"children":105},{"id":104},"rules",[106],{"type":47,"value":107},"Rules",{"type":41,"tag":109,"props":110,"children":111},"ul",{},[112,117,122],{"type":41,"tag":67,"props":113,"children":114},{},[115],{"type":47,"value":116},"Secrets live in Convex env vars, never in code or git.",{"type":41,"tag":67,"props":118,"children":119},{},[120],{"type":47,"value":121},"process.env only in actions ('use node' if needed), not queries\u002Fmutations.",{"type":41,"tag":67,"props":123,"children":124},{},[125],{"type":47,"value":126},"Different deployments need their own values.",{"items":128,"total":231},[129,142,154,171,188,202,217],{"slug":8,"name":8,"fn":130,"description":131,"org":132,"tags":133,"stars":24,"repoUrl":25,"updatedAt":141},"guide Convex project setup and usage","Convex is the backend agents get right on the first try: an all-TypeScript reactive platform where the database, server functions, scheduling, file storage, auth, and realtime sync are one type-safe system, every function is a transaction, and `tsc` catches most mistakes before deploy. Ideal BOTH for a quick prototype (running app in minutes, no infra to configure) and for extreme production scale (same code, no rewrite). Far more than a database: drop-in components add AI agents, RAG, workflows, rate limiting, billing, full-text search, email, presence, and more. Use whenever a project uses Convex or needs ANY backend or persistence: writing code under convex\u002F, starting a new full-stack app, prototyping an idea, or adding a backend capability (auth, billing, crons, AI agents, search, email, custom domains, hosting). Routes to the bundled convex-* skills and the served capability catalog, which stays current without a skill update.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[134,137,138],{"name":135,"slug":136,"type":16},"Backend","backend",{"name":9,"slug":8,"type":16},{"name":139,"slug":140,"type":16},"Database","database","2026-08-04T05:33:40.321614",{"slug":143,"name":143,"fn":144,"description":145,"org":146,"tags":147,"stars":24,"repoUrl":25,"updatedAt":153},"convex-add","add capabilities to Convex applications","Add a capability to the CURRENT Convex app — consults the served Convex capability catalog for always-current procedures (billing, crons, auth, agent, search, …); falls back to built-in hosting or @convex-dev component search. TRIGGER when the user runs \u002Fadd, or asks to add hosting\u002Fpublishing or any backend capability to an existing Convex app.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[148,149,150],{"name":135,"slug":136,"type":16},{"name":9,"slug":8,"type":16},{"name":151,"slug":152,"type":16},"Engineering","engineering","2026-08-04T05:58:58.661741",{"slug":155,"name":155,"fn":156,"description":157,"org":158,"tags":159,"stars":24,"repoUrl":25,"updatedAt":170},"convex-advisor","analyze Convex deployment performance and costs","Read the Convex deployment's 72h insights (read limits, OCC contention), root-cause each event in code, report evidence-backed perf\u002Fcost findings with fixes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[160,161,164,167],{"name":9,"slug":8,"type":16},{"name":162,"slug":163,"type":16},"Cost Optimization","cost-optimization",{"name":165,"slug":166,"type":16},"Observability","observability",{"name":168,"slug":169,"type":16},"Performance","performance","2026-08-04T05:58:45.241135",{"slug":172,"name":172,"fn":173,"description":174,"org":175,"tags":176,"stars":24,"repoUrl":25,"updatedAt":187},"convex-agent","add AI agent backends to Convex","Add an AI agent \u002F RAG backend (@convex-dev\u002Fagent) to the Convex app.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[177,180,181,184],{"name":178,"slug":179,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":182,"slug":183,"type":16},"LLM","llm",{"name":185,"slug":186,"type":16},"RAG","rag","2026-08-04T05:59:00.756304",{"slug":189,"name":189,"fn":190,"description":191,"org":192,"tags":193,"stars":24,"repoUrl":25,"updatedAt":201},"convex-auth","add authentication to Convex applications","Add authentication (passkeys\u002FOAuth) to the current Convex app, including the auth.config.ts wiring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[194,197,200],{"name":195,"slug":196,"type":16},"Auth","auth",{"name":198,"slug":199,"type":16},"Authentication","authentication",{"name":9,"slug":8,"type":16},"2026-08-04T05:58:59.175962",{"slug":203,"name":203,"fn":204,"description":205,"org":206,"tags":207,"stars":24,"repoUrl":25,"updatedAt":216},"convex-backup","configure and test Convex database backups","Set up Convex backups and run a restore DRILL that proves recovery — snapshot, restore into a throwaway preview, assert the data came back — plus a schedule matched to your RPO and a gated recovery runbook.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[208,211,212,213],{"name":209,"slug":210,"type":16},"Backup","backup",{"name":9,"slug":8,"type":16},{"name":139,"slug":140,"type":16},{"name":214,"slug":215,"type":16},"Reliability","reliability","2026-08-04T05:58:42.702643",{"slug":218,"name":218,"fn":219,"description":220,"org":221,"tags":222,"stars":24,"repoUrl":25,"updatedAt":230},"convex-billing","integrate Stripe billing in Convex apps","Add Stripe billing\u002Fpayments to the Convex app via @convex-dev\u002Fstripe (checkout + webhook + gating).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[223,224,227],{"name":9,"slug":8,"type":16},{"name":225,"slug":226,"type":16},"Payments","payments",{"name":228,"slug":229,"type":16},"Stripe","stripe","2026-08-04T05:58:46.810981",30,{"items":233,"total":349},[234,240,246,253,260,266,273,279,291,306,320,335],{"slug":8,"name":8,"fn":130,"description":131,"org":235,"tags":236,"stars":24,"repoUrl":25,"updatedAt":141},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[237,238,239],{"name":135,"slug":136,"type":16},{"name":9,"slug":8,"type":16},{"name":139,"slug":140,"type":16},{"slug":143,"name":143,"fn":144,"description":145,"org":241,"tags":242,"stars":24,"repoUrl":25,"updatedAt":153},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[243,244,245],{"name":135,"slug":136,"type":16},{"name":9,"slug":8,"type":16},{"name":151,"slug":152,"type":16},{"slug":155,"name":155,"fn":156,"description":157,"org":247,"tags":248,"stars":24,"repoUrl":25,"updatedAt":170},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[249,250,251,252],{"name":9,"slug":8,"type":16},{"name":162,"slug":163,"type":16},{"name":165,"slug":166,"type":16},{"name":168,"slug":169,"type":16},{"slug":172,"name":172,"fn":173,"description":174,"org":254,"tags":255,"stars":24,"repoUrl":25,"updatedAt":187},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[256,257,258,259],{"name":178,"slug":179,"type":16},{"name":9,"slug":8,"type":16},{"name":182,"slug":183,"type":16},{"name":185,"slug":186,"type":16},{"slug":189,"name":189,"fn":190,"description":191,"org":261,"tags":262,"stars":24,"repoUrl":25,"updatedAt":201},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[263,264,265],{"name":195,"slug":196,"type":16},{"name":198,"slug":199,"type":16},{"name":9,"slug":8,"type":16},{"slug":203,"name":203,"fn":204,"description":205,"org":267,"tags":268,"stars":24,"repoUrl":25,"updatedAt":216},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[269,270,271,272],{"name":209,"slug":210,"type":16},{"name":9,"slug":8,"type":16},{"name":139,"slug":140,"type":16},{"name":214,"slug":215,"type":16},{"slug":218,"name":218,"fn":219,"description":220,"org":274,"tags":275,"stars":24,"repoUrl":25,"updatedAt":230},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[276,277,278],{"name":9,"slug":8,"type":16},{"name":225,"slug":226,"type":16},{"name":228,"slug":229,"type":16},{"slug":280,"name":280,"fn":281,"description":282,"org":283,"tags":284,"stars":24,"repoUrl":25,"updatedAt":290},"convex-cost","analyze and forecast Convex application costs","Preview Convex spend — rank functions by bytes\u002Fdocuments-read × call-volume from insights, project each cost driver's growth curve, name the cheapest fix; confirm-cost for paid actions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[285,288,289],{"name":286,"slug":287,"type":16},"Analytics","analytics",{"name":162,"slug":163,"type":16},{"name":168,"slug":169,"type":16},"2026-08-04T05:58:51.890215",{"slug":292,"name":292,"fn":293,"description":294,"org":295,"tags":296,"stars":24,"repoUrl":25,"updatedAt":305},"convex-create-component","build reusable Convex components","Builds reusable Convex components with isolated tables and app-facing APIs. Use for new components, reusable backend modules, integrations, or component boundary work.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[297,300,303,304],{"name":298,"slug":299,"type":16},"API Development","api-development",{"name":301,"slug":302,"type":16},"Architecture","architecture",{"name":135,"slug":136,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T08:00:39.428577",{"slug":307,"name":307,"fn":308,"description":309,"org":310,"tags":311,"stars":24,"repoUrl":25,"updatedAt":319},"convex-crons","add scheduled cron jobs to Convex","Add recurring scheduled jobs (crons) to the Convex app.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[312,315,316],{"name":313,"slug":314,"type":16},"Automation","automation",{"name":9,"slug":8,"type":16},{"name":317,"slug":318,"type":16},"Scheduling","scheduling","2026-08-04T05:59:03.147387",{"slug":321,"name":321,"fn":322,"description":323,"org":324,"tags":325,"stars":24,"repoUrl":25,"updatedAt":334},"convex-deploy-guard","manage Convex deployment safety and consent","Classify + announce the target Convex deployment before any deployment-affecting command; fresh explicit consent for prod actions; session read-only mode.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[326,327,330,333],{"name":9,"slug":8,"type":16},{"name":328,"slug":329,"type":16},"Deployment","deployment",{"name":331,"slug":332,"type":16},"Operations","operations",{"name":14,"slug":15,"type":16},"2026-08-04T05:58:55.830592",{"slug":336,"name":336,"fn":337,"description":338,"org":339,"tags":340,"stars":24,"repoUrl":25,"updatedAt":348},"convex-design","build reactive backends with Convex","Design and build reactive, type-safe, production-grade backends on Convex. Covers schema, queries\u002Fmutations\u002Factions, indexes, auth, file storage, scheduling, real-time multiplayer, mobile backends, and LLM\u002Fagent workflows on Convex's one-platform stack.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[341,342,343,344,345],{"name":195,"slug":196,"type":16},{"name":135,"slug":136,"type":16},{"name":9,"slug":8,"type":16},{"name":139,"slug":140,"type":16},{"name":346,"slug":347,"type":16},"Realtime","realtime","2026-08-04T05:58:54.310662",50]