[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-convex-convex-self-heal":3,"mdc--1uolmh-key":35,"related-org-convex-convex-self-heal":187,"related-repo-convex-convex-self-heal":362},{"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-self-heal","triage and repair Convex production errors","Production error → triaged, root-caused, repaired, and certified (tsc + rehearsal + reproduce-then-gone) fix PR for a human to merge — then confirm the error stops recurring. Never auto-merges.",{"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,15,18,21],{"name":9,"slug":8,"type":14},"tag",{"name":16,"slug":17,"type":14},"Incident Response","incident-response",{"name":19,"slug":20,"type":14},"Engineering","engineering",{"name":22,"slug":23,"type":14},"Debugging","debugging",34,"https:\u002F\u002Fgithub.com\u002Fget-convex\u002Fagent-skills","2026-08-04T05:58:47.313838",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-self-heal","---\nname: convex-self-heal\ndescription: \"Production error → triaged, root-caused, repaired, and certified (tsc + rehearsal + reproduce-then-gone) fix PR for a human to merge — then confirm the error stops recurring. Never auto-merges.\"\n---\n\n\u003C!-- GENERATED from convex-agents content\u002Fcapabilities\u002Fself-heal.json — do not edit by hand. -->\n\n# Gated production self-healing loop\n\nSentry\u002FDatadog\u002FVercel can go error→investigate→draft-PR, but they treat the backend as opaque and stop at the human merge gate with an unverified diff. Convex can do the step they can't: because the error rows live in the user's own deployment and the fix can be rehearsed on a preview of that deployment, the platform certifies the fix against real invariants before anyone reviews it. This capability is the composition capstone — it wires sentinel (capture) → the findings bus (diagnose) → the fixers (repair) → migrate-rehearse\u002Ftsc\u002Fprobe (certify) → a human PR (decide) → deploy-guard (promote). The human keeps the merge button; the machine does everything up to and including proving the fix works.\n\n## Workflow\n\n1. GUARD: deploy-guard — this loop reads prod and PROPOSES prod changes; classify + announce the deployment and get the standing consent for the loop's scope up front (what classes of fix it may auto-prepare vs must always defer). Never auto-merge; the human merge is the fixed boundary.\n2. CAPTURE: require sentinel (prod errors in the user's own deployment, redacted at write time). If absent, offer to install it and stop — there is nothing to heal without capture.\n3. TRIAGE a new\u002F recurring error: pull it via the official MCP (data\u002Frun-once-query over the sentinel table, or the monitor's prod_error event). Classify: transient (retry\u002Fignore — do NOT open a PR for a one-off network blip), config (env\u002Fsecret — hand to env, never guess a secret), or a code\u002Fschema defect (proceed).\n4. ROOT-CAUSE on the findings bus: run the relevant audit pass on the implicated function — convex-insights (the failing requests + stacks), convex-advisor (if it's a read-limit\u002FOCC cause), convex-reviewer\u002Fconvex-authz (if it's a logic\u002Fauthz defect). Produce a bus finding with evidence (the stack + the reproducing input) and a fixCapability. If root cause is unclear, STOP and report — a wrong fix is worse than an open error.\n5. REPAIR via the finding's fixCapability (convex-authz, reviewer fixers, convex-expert for perf) on a branch — never on prod directly.\n6. CERTIFY against the backend's own invariants BEFORE proposing (this is the differentiator — do not skip any that apply):\n   (a) `tsc --noEmit` clean;\n   (b) if the fix touches schema\u002Fdata, run it through migrate-rehearse on a preview seeded with a prod snapshot — the schema-conformance gate must pass on real-shaped data;\n   (c) reproduce-then-confirm-gone: replay the error's triggering input against the fixed code (a convex-test case or an MCP run on the preview) and assert the failure no longer occurs;\n   (d) no-regression: the finding must be gone AND no new bus finding introduced on the touched function.\n   A fix that fails any applicable certification is NOT proposed — it's reported as 'attempted, could not certify' with what failed.\n7. PROPOSE, never merge: open a PR (or a diff for review) containing the fix, the certification evidence (tsc result, rehearsal outcome, the reproduced-then-gone assertion), the original error + finding, and the reversibility note. Label the change class. The human reviews and merges.\n8. PROMOTE on merge via deploy-guard's prod consent; after deploy, re-check the sentinel table + `logs` (failures) to confirm that error signature stops recurring (do NOT use `insights` for this — it tracks only OCC\u002Fread-limit perf events, not arbitrary error signatures) — the loop is only closed when the error stops recurring in prod. If it recurs, reopen with the new evidence.\n9. BOUND it: only classes the user pre-approved in step 1 are auto-prepared (default-safe set: validator fixes, missing-index adds, ownership-check adds, non-destructive backfills); anything destructive, security-sensitive beyond an added check, or ambiguous is always deferred to explicit human direction. Log every action to an append-only record so the loop is auditable.\n\n## Rules\n\n- The human keeps the merge button — this loop prepares and certifies fixes, it NEVER auto-merges or auto-deploys to prod (matches the industry boundary: no credible system ships unattended prod auto-merge).\n- Certify before proposing: tsc + (schema→migrate-rehearse on a prod-snapshot preview) + reproduce-then-confirm-the-failure-is-gone + no new bus finding. An uncertified fix is reported as 'could not certify', never proposed as done.\n- Triage first: transient blips get retried\u002Fignored, config errors go to env (never guess a secret), only real code\u002Fschema defects enter the repair loop.\n- Repair on a branch\u002Fpreview, never on prod directly; promote only through deploy-guard's fresh prod consent.\n- Only pre-approved fix classes are auto-prepared (default-safe: validator\u002Findex\u002Fownership\u002Fnon-destructive backfill); destructive or ambiguous changes are always deferred to the human.\n- Close the loop for real: after merge+deploy, confirm the error signature stops recurring via the sentinel table + logs (not insights, which only sees perf events); reopen if it persists.\n- Every action is logged to an append-only, auditable record; data residency stays in the user's own deployment (sentinel discipline).\n- If root cause is unclear, STOP and report — an uncertain fix is worse than an open, visible error.\n",{"data":36,"body":37},{"name":4,"description":6},{"type":38,"children":39},"root",[40,49,55,62,137,143],{"type":41,"tag":42,"props":43,"children":45},"element","h1",{"id":44},"gated-production-self-healing-loop",[46],{"type":47,"value":48},"text","Gated production self-healing loop",{"type":41,"tag":50,"props":51,"children":52},"p",{},[53],{"type":47,"value":54},"Sentry\u002FDatadog\u002FVercel can go error→investigate→draft-PR, but they treat the backend as opaque and stop at the human merge gate with an unverified diff. Convex can do the step they can't: because the error rows live in the user's own deployment and the fix can be rehearsed on a preview of that deployment, the platform certifies the fix against real invariants before anyone reviews it. This capability is the composition capstone — it wires sentinel (capture) → the findings bus (diagnose) → the fixers (repair) → migrate-rehearse\u002Ftsc\u002Fprobe (certify) → a human PR (decide) → deploy-guard (promote). The human keeps the merge button; the machine does everything up to and including proving the fix works.",{"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,72,77,82,87,92,106,111,132],{"type":41,"tag":67,"props":68,"children":69},"li",{},[70],{"type":47,"value":71},"GUARD: deploy-guard — this loop reads prod and PROPOSES prod changes; classify + announce the deployment and get the standing consent for the loop's scope up front (what classes of fix it may auto-prepare vs must always defer). Never auto-merge; the human merge is the fixed boundary.",{"type":41,"tag":67,"props":73,"children":74},{},[75],{"type":47,"value":76},"CAPTURE: require sentinel (prod errors in the user's own deployment, redacted at write time). If absent, offer to install it and stop — there is nothing to heal without capture.",{"type":41,"tag":67,"props":78,"children":79},{},[80],{"type":47,"value":81},"TRIAGE a new\u002F recurring error: pull it via the official MCP (data\u002Frun-once-query over the sentinel table, or the monitor's prod_error event). Classify: transient (retry\u002Fignore — do NOT open a PR for a one-off network blip), config (env\u002Fsecret — hand to env, never guess a secret), or a code\u002Fschema defect (proceed).",{"type":41,"tag":67,"props":83,"children":84},{},[85],{"type":47,"value":86},"ROOT-CAUSE on the findings bus: run the relevant audit pass on the implicated function — convex-insights (the failing requests + stacks), convex-advisor (if it's a read-limit\u002FOCC cause), convex-reviewer\u002Fconvex-authz (if it's a logic\u002Fauthz defect). Produce a bus finding with evidence (the stack + the reproducing input) and a fixCapability. If root cause is unclear, STOP and report — a wrong fix is worse than an open error.",{"type":41,"tag":67,"props":88,"children":89},{},[90],{"type":47,"value":91},"REPAIR via the finding's fixCapability (convex-authz, reviewer fixers, convex-expert for perf) on a branch — never on prod directly.",{"type":41,"tag":67,"props":93,"children":94},{},[95,97,104],{"type":47,"value":96},"CERTIFY against the backend's own invariants BEFORE proposing (this is the differentiator — do not skip any that apply):\n(a) ",{"type":41,"tag":98,"props":99,"children":101},"code",{"className":100},[],[102],{"type":47,"value":103},"tsc --noEmit",{"type":47,"value":105}," clean;\n(b) if the fix touches schema\u002Fdata, run it through migrate-rehearse on a preview seeded with a prod snapshot — the schema-conformance gate must pass on real-shaped data;\n(c) reproduce-then-confirm-gone: replay the error's triggering input against the fixed code (a convex-test case or an MCP run on the preview) and assert the failure no longer occurs;\n(d) no-regression: the finding must be gone AND no new bus finding introduced on the touched function.\nA fix that fails any applicable certification is NOT proposed — it's reported as 'attempted, could not certify' with what failed.",{"type":41,"tag":67,"props":107,"children":108},{},[109],{"type":47,"value":110},"PROPOSE, never merge: open a PR (or a diff for review) containing the fix, the certification evidence (tsc result, rehearsal outcome, the reproduced-then-gone assertion), the original error + finding, and the reversibility note. Label the change class. The human reviews and merges.",{"type":41,"tag":67,"props":112,"children":113},{},[114,116,122,124,130],{"type":47,"value":115},"PROMOTE on merge via deploy-guard's prod consent; after deploy, re-check the sentinel table + ",{"type":41,"tag":98,"props":117,"children":119},{"className":118},[],[120],{"type":47,"value":121},"logs",{"type":47,"value":123}," (failures) to confirm that error signature stops recurring (do NOT use ",{"type":41,"tag":98,"props":125,"children":127},{"className":126},[],[128],{"type":47,"value":129},"insights",{"type":47,"value":131}," for this — it tracks only OCC\u002Fread-limit perf events, not arbitrary error signatures) — the loop is only closed when the error stops recurring in prod. If it recurs, reopen with the new evidence.",{"type":41,"tag":67,"props":133,"children":134},{},[135],{"type":47,"value":136},"BOUND it: only classes the user pre-approved in step 1 are auto-prepared (default-safe set: validator fixes, missing-index adds, ownership-check adds, non-destructive backfills); anything destructive, security-sensitive beyond an added check, or ambiguous is always deferred to explicit human direction. Log every action to an append-only record so the loop is auditable.",{"type":41,"tag":56,"props":138,"children":140},{"id":139},"rules",[141],{"type":47,"value":142},"Rules",{"type":41,"tag":144,"props":145,"children":146},"ul",{},[147,152,157,162,167,172,177,182],{"type":41,"tag":67,"props":148,"children":149},{},[150],{"type":47,"value":151},"The human keeps the merge button — this loop prepares and certifies fixes, it NEVER auto-merges or auto-deploys to prod (matches the industry boundary: no credible system ships unattended prod auto-merge).",{"type":41,"tag":67,"props":153,"children":154},{},[155],{"type":47,"value":156},"Certify before proposing: tsc + (schema→migrate-rehearse on a prod-snapshot preview) + reproduce-then-confirm-the-failure-is-gone + no new bus finding. An uncertified fix is reported as 'could not certify', never proposed as done.",{"type":41,"tag":67,"props":158,"children":159},{},[160],{"type":47,"value":161},"Triage first: transient blips get retried\u002Fignored, config errors go to env (never guess a secret), only real code\u002Fschema defects enter the repair loop.",{"type":41,"tag":67,"props":163,"children":164},{},[165],{"type":47,"value":166},"Repair on a branch\u002Fpreview, never on prod directly; promote only through deploy-guard's fresh prod consent.",{"type":41,"tag":67,"props":168,"children":169},{},[170],{"type":47,"value":171},"Only pre-approved fix classes are auto-prepared (default-safe: validator\u002Findex\u002Fownership\u002Fnon-destructive backfill); destructive or ambiguous changes are always deferred to the human.",{"type":41,"tag":67,"props":173,"children":174},{},[175],{"type":47,"value":176},"Close the loop for real: after merge+deploy, confirm the error signature stops recurring via the sentinel table + logs (not insights, which only sees perf events); reopen if it persists.",{"type":41,"tag":67,"props":178,"children":179},{},[180],{"type":47,"value":181},"Every action is logged to an append-only, auditable record; data residency stays in the user's own deployment (sentinel discipline).",{"type":41,"tag":67,"props":183,"children":184},{},[185],{"type":47,"value":186},"If root cause is unclear, STOP and report — an uncertain fix is worse than an open, visible error.",{"items":188,"total":361},[189,202,212,229,246,260,275,289,301,316,330,347],{"slug":8,"name":8,"fn":190,"description":191,"org":192,"tags":193,"stars":24,"repoUrl":25,"updatedAt":201},"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},[194,197,198],{"name":195,"slug":196,"type":14},"Backend","backend",{"name":9,"slug":8,"type":14},{"name":199,"slug":200,"type":14},"Database","database","2026-08-04T05:33:40.321614",{"slug":203,"name":203,"fn":204,"description":205,"org":206,"tags":207,"stars":24,"repoUrl":25,"updatedAt":211},"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},[208,209,210],{"name":195,"slug":196,"type":14},{"name":9,"slug":8,"type":14},{"name":19,"slug":20,"type":14},"2026-08-04T05:58:58.661741",{"slug":213,"name":213,"fn":214,"description":215,"org":216,"tags":217,"stars":24,"repoUrl":25,"updatedAt":228},"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},[218,219,222,225],{"name":9,"slug":8,"type":14},{"name":220,"slug":221,"type":14},"Cost Optimization","cost-optimization",{"name":223,"slug":224,"type":14},"Observability","observability",{"name":226,"slug":227,"type":14},"Performance","performance","2026-08-04T05:58:45.241135",{"slug":230,"name":230,"fn":231,"description":232,"org":233,"tags":234,"stars":24,"repoUrl":25,"updatedAt":245},"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},[235,238,239,242],{"name":236,"slug":237,"type":14},"Agents","agents",{"name":9,"slug":8,"type":14},{"name":240,"slug":241,"type":14},"LLM","llm",{"name":243,"slug":244,"type":14},"RAG","rag","2026-08-04T05:59:00.756304",{"slug":247,"name":247,"fn":248,"description":249,"org":250,"tags":251,"stars":24,"repoUrl":25,"updatedAt":259},"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},[252,255,258],{"name":253,"slug":254,"type":14},"Auth","auth",{"name":256,"slug":257,"type":14},"Authentication","authentication",{"name":9,"slug":8,"type":14},"2026-08-04T05:58:59.175962",{"slug":261,"name":261,"fn":262,"description":263,"org":264,"tags":265,"stars":24,"repoUrl":25,"updatedAt":274},"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},[266,269,270,271],{"name":267,"slug":268,"type":14},"Backup","backup",{"name":9,"slug":8,"type":14},{"name":199,"slug":200,"type":14},{"name":272,"slug":273,"type":14},"Reliability","reliability","2026-08-04T05:58:42.702643",{"slug":276,"name":276,"fn":277,"description":278,"org":279,"tags":280,"stars":24,"repoUrl":25,"updatedAt":288},"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},[281,282,285],{"name":9,"slug":8,"type":14},{"name":283,"slug":284,"type":14},"Payments","payments",{"name":286,"slug":287,"type":14},"Stripe","stripe","2026-08-04T05:58:46.810981",{"slug":290,"name":290,"fn":291,"description":292,"org":293,"tags":294,"stars":24,"repoUrl":25,"updatedAt":300},"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},[295,298,299],{"name":296,"slug":297,"type":14},"Analytics","analytics",{"name":220,"slug":221,"type":14},{"name":226,"slug":227,"type":14},"2026-08-04T05:58:51.890215",{"slug":302,"name":302,"fn":303,"description":304,"org":305,"tags":306,"stars":24,"repoUrl":25,"updatedAt":315},"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},[307,310,313,314],{"name":308,"slug":309,"type":14},"API Development","api-development",{"name":311,"slug":312,"type":14},"Architecture","architecture",{"name":195,"slug":196,"type":14},{"name":9,"slug":8,"type":14},"2026-07-12T08:00:39.428577",{"slug":317,"name":317,"fn":318,"description":319,"org":320,"tags":321,"stars":24,"repoUrl":25,"updatedAt":329},"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},[322,325,326],{"name":323,"slug":324,"type":14},"Automation","automation",{"name":9,"slug":8,"type":14},{"name":327,"slug":328,"type":14},"Scheduling","scheduling","2026-08-04T05:59:03.147387",{"slug":331,"name":331,"fn":332,"description":333,"org":334,"tags":335,"stars":24,"repoUrl":25,"updatedAt":346},"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},[336,337,340,343],{"name":9,"slug":8,"type":14},{"name":338,"slug":339,"type":14},"Deployment","deployment",{"name":341,"slug":342,"type":14},"Operations","operations",{"name":344,"slug":345,"type":14},"Security","security","2026-08-04T05:58:55.830592",{"slug":348,"name":348,"fn":349,"description":350,"org":351,"tags":352,"stars":24,"repoUrl":25,"updatedAt":360},"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},[353,354,355,356,357],{"name":253,"slug":254,"type":14},{"name":195,"slug":196,"type":14},{"name":9,"slug":8,"type":14},{"name":199,"slug":200,"type":14},{"name":358,"slug":359,"type":14},"Realtime","realtime","2026-08-04T05:58:54.310662",50,{"items":363,"total":409},[364,370,376,383,390,396,403],{"slug":8,"name":8,"fn":190,"description":191,"org":365,"tags":366,"stars":24,"repoUrl":25,"updatedAt":201},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[367,368,369],{"name":195,"slug":196,"type":14},{"name":9,"slug":8,"type":14},{"name":199,"slug":200,"type":14},{"slug":203,"name":203,"fn":204,"description":205,"org":371,"tags":372,"stars":24,"repoUrl":25,"updatedAt":211},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[373,374,375],{"name":195,"slug":196,"type":14},{"name":9,"slug":8,"type":14},{"name":19,"slug":20,"type":14},{"slug":213,"name":213,"fn":214,"description":215,"org":377,"tags":378,"stars":24,"repoUrl":25,"updatedAt":228},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[379,380,381,382],{"name":9,"slug":8,"type":14},{"name":220,"slug":221,"type":14},{"name":223,"slug":224,"type":14},{"name":226,"slug":227,"type":14},{"slug":230,"name":230,"fn":231,"description":232,"org":384,"tags":385,"stars":24,"repoUrl":25,"updatedAt":245},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[386,387,388,389],{"name":236,"slug":237,"type":14},{"name":9,"slug":8,"type":14},{"name":240,"slug":241,"type":14},{"name":243,"slug":244,"type":14},{"slug":247,"name":247,"fn":248,"description":249,"org":391,"tags":392,"stars":24,"repoUrl":25,"updatedAt":259},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[393,394,395],{"name":253,"slug":254,"type":14},{"name":256,"slug":257,"type":14},{"name":9,"slug":8,"type":14},{"slug":261,"name":261,"fn":262,"description":263,"org":397,"tags":398,"stars":24,"repoUrl":25,"updatedAt":274},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[399,400,401,402],{"name":267,"slug":268,"type":14},{"name":9,"slug":8,"type":14},{"name":199,"slug":200,"type":14},{"name":272,"slug":273,"type":14},{"slug":276,"name":276,"fn":277,"description":278,"org":404,"tags":405,"stars":24,"repoUrl":25,"updatedAt":288},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[406,407,408],{"name":9,"slug":8,"type":14},{"name":283,"slug":284,"type":14},{"name":286,"slug":287,"type":14},30]