[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-convex-convex-insights":3,"mdc--c8fzmf-key":35,"related-org-convex-convex-insights":319,"related-repo-convex-convex-insights":494},{"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-insights","query Convex application logs and health","Query a running Convex app's logs + health in natural language (official MCP): failures, slow\u002Fexpensive functions, deploy causality — scoped, evidence-backed, with a dashboard deep link.",{"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,18,21],{"name":14,"slug":15,"type":16},"Observability","observability","tag",{"name":9,"slug":8,"type":16},{"name":19,"slug":20,"type":16},"Monitoring","monitoring",{"name":22,"slug":23,"type":16},"MCP","mcp",34,"https:\u002F\u002Fgithub.com\u002Fget-convex\u002Fagent-skills","2026-08-04T05:58:41.152716",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-insights","---\nname: convex-insights\ndescription: \"Query a running Convex app's logs + health in natural language (official MCP): failures, slow\u002Fexpensive functions, deploy causality — scoped, evidence-backed, with a dashboard deep link.\"\n---\n\n\u003C!-- GENERATED from convex-agents content\u002Fcapabilities\u002Fconvex-insights.json — do not edit by hand. -->\n\n# Query logs + health in natural language\n\nThe deployment already records what happened; the agent just has to ask well. This capability is a disciplined wrapper over the official Convex MCP's read tools (`logs`, `insights`, `functionSpec`, `status`) that turns operational questions into narrow, evidence-returning queries and hands back answers a human can one-click verify in the dashboard. The discipline is copied from the observability MCP surface that works best in the wild: discover fields before querying, three views not fifteen tools, token-frugal output, and a dashboard deep link on every answer.\n\n## Workflow\n\n1. GUARD: deploy-guard step 0-1 — identify + announce which deployment is being read. Reading logs\u002Finsights is read-only; never enable prod mutation flags for an insights pass.\n2. DISCOVER before you query — never guess identifiers. Use `functionSpec` to list the real function names and `status` for the deployment\u002Fversion. Note the tool limits up front: `logs` takes only `--history \u003Cn>` (a COUNT, not a time window), `--success`, `--jsonl`, `--prod`, `--deployment` — there is NO server-side status\u002Ffunction\u002FrequestId\u002Ftime filter; `insights` has no function filter and is cloud dev\u002Fprod + user-auth only. So you fetch a recent window and filter CLIENT-SIDE.\n3. PICK ONE OF THREE VIEWS and fetch the raw window, then filter locally:\n   - failures view → `logs --history \u003Cn> --jsonl`, then locally keep failures + group by function + error message, returning counts + the first stack per group. Answers 'what's erroring', 'what failed after deploy'.\n   - health view → `insights` (cloud only): the typed 72h read-limit \u002F OCC events. Surface + rank them, but hand perf\u002Fcost ROOT-CAUSING and fixes to convex-advisor — emit those as pointer findings, do not own the perf-fix framing here.\n   - trace view → `logs --history \u003Cn> --jsonl` then locally filter to one requestId\u002Ffunction to read the full execution. Answers 'why did THIS call fail'.\n4. SCOPE by fetching a bounded recent window (a sensible `--history` count) and filtering client-side to the function\u002Fstatus\u002FrequestId asked about; when the window is large, aggregate (counts by function\u002Fmessage) rather than dumping lines.\n5. ANSWER with (a) the one-line finding, (b) the evidence (counts + one representative stack\u002Flog line), and (c) WHEN POSSIBLE an agent-constructed dashboard deep link (dashboard.convex.dev, the deployment's Logs\u002FFunctions view) for human verification — no tool returns the link, so build it from the deployment name + function; never a raw log dump as the answer.\n6. CROSS-CHECK deploy causality when asked 'did my deploy break this': compare the failure onset (from the log timestamps) against the deployment version from `status`; correlate, don't assert.\n7. HAND OFF, don't fix here: a perf\u002Fcost cause → convex-advisor (which owns those fixes); a code defect → convex-reviewer\u002Fconvex-authz; a live error to react to going forward → monitor\u002Fsentinel. Emit findings on the bus (specs\u002Ffinding.schema.json) — primarily `observability`, with perf\u002Fcost as pointer findings to advisor — so a composite pass can pick them up.\n\n## Rules\n\n- Discover real function\u002Ffield names (functionSpec\u002Fstatus) before filtering — never guess identifiers, never return a confusing empty result for a name the app doesn't have.\n- `logs` and `insights` have NO server-side status\u002Ffunction\u002FrequestId\u002Ftime-window filter (logs takes only a --history COUNT; insights is cloud-only) — fetch a bounded recent window and filter CLIENT-SIDE; say so rather than implying params that don't exist.\n- One of three views per question (failures \u002F health \u002F trace) — don't fan out into many speculative tool calls.\n- No tool returns a dashboard link — construct it from the deployment name + function when possible for human verification; never answer with a raw log dump.\n- Read-only always: an insights pass runs no mutation and never enables prod mutation flags (deploy-guard discipline).\n- Stay a reader and defer perf\u002Fcost fixes to convex-advisor: emit primarily `observability`, route perf\u002Fcost as POINTER findings so advisor uniquely owns the perf-fix framing; forward-looking reaction goes to monitor\u002Fsentinel.\n",{"data":36,"body":37},{"name":4,"description":6},{"type":38,"children":39},"root",[40,49,86,93,261,267],{"type":41,"tag":42,"props":43,"children":45},"element","h1",{"id":44},"query-logs-health-in-natural-language",[46],{"type":47,"value":48},"text","Query logs + health in natural language",{"type":41,"tag":50,"props":51,"children":52},"p",{},[53,55,62,64,70,71,77,78,84],{"type":47,"value":54},"The deployment already records what happened; the agent just has to ask well. This capability is a disciplined wrapper over the official Convex MCP's read tools (",{"type":41,"tag":56,"props":57,"children":59},"code",{"className":58},[],[60],{"type":47,"value":61},"logs",{"type":47,"value":63},", ",{"type":41,"tag":56,"props":65,"children":67},{"className":66},[],[68],{"type":47,"value":69},"insights",{"type":47,"value":63},{"type":41,"tag":56,"props":72,"children":74},{"className":73},[],[75],{"type":47,"value":76},"functionSpec",{"type":47,"value":63},{"type":41,"tag":56,"props":79,"children":81},{"className":80},[],[82],{"type":47,"value":83},"status",{"type":47,"value":85},") that turns operational questions into narrow, evidence-returning queries and hands back answers a human can one-click verify in the dashboard. The discipline is copied from the observability MCP surface that works best in the wild: discover fields before querying, three views not fifteen tools, token-frugal output, and a dashboard deep link on every answer.",{"type":41,"tag":87,"props":88,"children":90},"h2",{"id":89},"workflow",[91],{"type":47,"value":92},"Workflow",{"type":41,"tag":94,"props":95,"children":96},"ol",{},[97,103,173,219,232,237,249],{"type":41,"tag":98,"props":99,"children":100},"li",{},[101],{"type":47,"value":102},"GUARD: deploy-guard step 0-1 — identify + announce which deployment is being read. Reading logs\u002Finsights is read-only; never enable prod mutation flags for an insights pass.",{"type":41,"tag":98,"props":104,"children":105},{},[106,108,113,115,120,122,127,129,135,137,143,144,150,151,157,158,164,166,171],{"type":47,"value":107},"DISCOVER before you query — never guess identifiers. Use ",{"type":41,"tag":56,"props":109,"children":111},{"className":110},[],[112],{"type":47,"value":76},{"type":47,"value":114}," to list the real function names and ",{"type":41,"tag":56,"props":116,"children":118},{"className":117},[],[119],{"type":47,"value":83},{"type":47,"value":121}," for the deployment\u002Fversion. Note the tool limits up front: ",{"type":41,"tag":56,"props":123,"children":125},{"className":124},[],[126],{"type":47,"value":61},{"type":47,"value":128}," takes only ",{"type":41,"tag":56,"props":130,"children":132},{"className":131},[],[133],{"type":47,"value":134},"--history \u003Cn>",{"type":47,"value":136}," (a COUNT, not a time window), ",{"type":41,"tag":56,"props":138,"children":140},{"className":139},[],[141],{"type":47,"value":142},"--success",{"type":47,"value":63},{"type":41,"tag":56,"props":145,"children":147},{"className":146},[],[148],{"type":47,"value":149},"--jsonl",{"type":47,"value":63},{"type":41,"tag":56,"props":152,"children":154},{"className":153},[],[155],{"type":47,"value":156},"--prod",{"type":47,"value":63},{"type":41,"tag":56,"props":159,"children":161},{"className":160},[],[162],{"type":47,"value":163},"--deployment",{"type":47,"value":165}," — there is NO server-side status\u002Ffunction\u002FrequestId\u002Ftime filter; ",{"type":41,"tag":56,"props":167,"children":169},{"className":168},[],[170],{"type":47,"value":69},{"type":47,"value":172}," has no function filter and is cloud dev\u002Fprod + user-auth only. So you fetch a recent window and filter CLIENT-SIDE.",{"type":41,"tag":98,"props":174,"children":175},{},[176,178],{"type":47,"value":177},"PICK ONE OF THREE VIEWS and fetch the raw window, then filter locally:\n",{"type":41,"tag":179,"props":180,"children":181},"ul",{},[182,195,207],{"type":41,"tag":98,"props":183,"children":184},{},[185,187,193],{"type":47,"value":186},"failures view → ",{"type":41,"tag":56,"props":188,"children":190},{"className":189},[],[191],{"type":47,"value":192},"logs --history \u003Cn> --jsonl",{"type":47,"value":194},", then locally keep failures + group by function + error message, returning counts + the first stack per group. Answers 'what's erroring', 'what failed after deploy'.",{"type":41,"tag":98,"props":196,"children":197},{},[198,200,205],{"type":47,"value":199},"health view → ",{"type":41,"tag":56,"props":201,"children":203},{"className":202},[],[204],{"type":47,"value":69},{"type":47,"value":206}," (cloud only): the typed 72h read-limit \u002F OCC events. Surface + rank them, but hand perf\u002Fcost ROOT-CAUSING and fixes to convex-advisor — emit those as pointer findings, do not own the perf-fix framing here.",{"type":41,"tag":98,"props":208,"children":209},{},[210,212,217],{"type":47,"value":211},"trace view → ",{"type":41,"tag":56,"props":213,"children":215},{"className":214},[],[216],{"type":47,"value":192},{"type":47,"value":218}," then locally filter to one requestId\u002Ffunction to read the full execution. Answers 'why did THIS call fail'.",{"type":41,"tag":98,"props":220,"children":221},{},[222,224,230],{"type":47,"value":223},"SCOPE by fetching a bounded recent window (a sensible ",{"type":41,"tag":56,"props":225,"children":227},{"className":226},[],[228],{"type":47,"value":229},"--history",{"type":47,"value":231}," count) and filtering client-side to the function\u002Fstatus\u002FrequestId asked about; when the window is large, aggregate (counts by function\u002Fmessage) rather than dumping lines.",{"type":41,"tag":98,"props":233,"children":234},{},[235],{"type":47,"value":236},"ANSWER with (a) the one-line finding, (b) the evidence (counts + one representative stack\u002Flog line), and (c) WHEN POSSIBLE an agent-constructed dashboard deep link (dashboard.convex.dev, the deployment's Logs\u002FFunctions view) for human verification — no tool returns the link, so build it from the deployment name + function; never a raw log dump as the answer.",{"type":41,"tag":98,"props":238,"children":239},{},[240,242,247],{"type":47,"value":241},"CROSS-CHECK deploy causality when asked 'did my deploy break this': compare the failure onset (from the log timestamps) against the deployment version from ",{"type":41,"tag":56,"props":243,"children":245},{"className":244},[],[246],{"type":47,"value":83},{"type":47,"value":248},"; correlate, don't assert.",{"type":41,"tag":98,"props":250,"children":251},{},[252,254,259],{"type":47,"value":253},"HAND OFF, don't fix here: a perf\u002Fcost cause → convex-advisor (which owns those fixes); a code defect → convex-reviewer\u002Fconvex-authz; a live error to react to going forward → monitor\u002Fsentinel. Emit findings on the bus (specs\u002Ffinding.schema.json) — primarily ",{"type":41,"tag":56,"props":255,"children":257},{"className":256},[],[258],{"type":47,"value":15},{"type":47,"value":260},", with perf\u002Fcost as pointer findings to advisor — so a composite pass can pick them up.",{"type":41,"tag":87,"props":262,"children":264},{"id":263},"rules",[265],{"type":47,"value":266},"Rules",{"type":41,"tag":179,"props":268,"children":269},{},[270,275,292,297,302,307],{"type":41,"tag":98,"props":271,"children":272},{},[273],{"type":47,"value":274},"Discover real function\u002Ffield names (functionSpec\u002Fstatus) before filtering — never guess identifiers, never return a confusing empty result for a name the app doesn't have.",{"type":41,"tag":98,"props":276,"children":277},{},[278,283,285,290],{"type":41,"tag":56,"props":279,"children":281},{"className":280},[],[282],{"type":47,"value":61},{"type":47,"value":284}," and ",{"type":41,"tag":56,"props":286,"children":288},{"className":287},[],[289],{"type":47,"value":69},{"type":47,"value":291}," have NO server-side status\u002Ffunction\u002FrequestId\u002Ftime-window filter (logs takes only a --history COUNT; insights is cloud-only) — fetch a bounded recent window and filter CLIENT-SIDE; say so rather than implying params that don't exist.",{"type":41,"tag":98,"props":293,"children":294},{},[295],{"type":47,"value":296},"One of three views per question (failures \u002F health \u002F trace) — don't fan out into many speculative tool calls.",{"type":41,"tag":98,"props":298,"children":299},{},[300],{"type":47,"value":301},"No tool returns a dashboard link — construct it from the deployment name + function when possible for human verification; never answer with a raw log dump.",{"type":41,"tag":98,"props":303,"children":304},{},[305],{"type":47,"value":306},"Read-only always: an insights pass runs no mutation and never enables prod mutation flags (deploy-guard discipline).",{"type":41,"tag":98,"props":308,"children":309},{},[310,312,317],{"type":47,"value":311},"Stay a reader and defer perf\u002Fcost fixes to convex-advisor: emit primarily ",{"type":41,"tag":56,"props":313,"children":315},{"className":314},[],[316],{"type":47,"value":15},{"type":47,"value":318},", route perf\u002Fcost as POINTER findings so advisor uniquely owns the perf-fix framing; forward-looking reaction goes to monitor\u002Fsentinel.",{"items":320,"total":493},[321,334,346,361,378,392,407,421,433,448,462,479],{"slug":8,"name":8,"fn":322,"description":323,"org":324,"tags":325,"stars":24,"repoUrl":25,"updatedAt":333},"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},[326,329,330],{"name":327,"slug":328,"type":16},"Backend","backend",{"name":9,"slug":8,"type":16},{"name":331,"slug":332,"type":16},"Database","database","2026-08-04T05:33:40.321614",{"slug":335,"name":335,"fn":336,"description":337,"org":338,"tags":339,"stars":24,"repoUrl":25,"updatedAt":345},"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},[340,341,342],{"name":327,"slug":328,"type":16},{"name":9,"slug":8,"type":16},{"name":343,"slug":344,"type":16},"Engineering","engineering","2026-08-04T05:58:58.661741",{"slug":347,"name":347,"fn":348,"description":349,"org":350,"tags":351,"stars":24,"repoUrl":25,"updatedAt":360},"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},[352,353,356,357],{"name":9,"slug":8,"type":16},{"name":354,"slug":355,"type":16},"Cost Optimization","cost-optimization",{"name":14,"slug":15,"type":16},{"name":358,"slug":359,"type":16},"Performance","performance","2026-08-04T05:58:45.241135",{"slug":362,"name":362,"fn":363,"description":364,"org":365,"tags":366,"stars":24,"repoUrl":25,"updatedAt":377},"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},[367,370,371,374],{"name":368,"slug":369,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":372,"slug":373,"type":16},"LLM","llm",{"name":375,"slug":376,"type":16},"RAG","rag","2026-08-04T05:59:00.756304",{"slug":379,"name":379,"fn":380,"description":381,"org":382,"tags":383,"stars":24,"repoUrl":25,"updatedAt":391},"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},[384,387,390],{"name":385,"slug":386,"type":16},"Auth","auth",{"name":388,"slug":389,"type":16},"Authentication","authentication",{"name":9,"slug":8,"type":16},"2026-08-04T05:58:59.175962",{"slug":393,"name":393,"fn":394,"description":395,"org":396,"tags":397,"stars":24,"repoUrl":25,"updatedAt":406},"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},[398,401,402,403],{"name":399,"slug":400,"type":16},"Backup","backup",{"name":9,"slug":8,"type":16},{"name":331,"slug":332,"type":16},{"name":404,"slug":405,"type":16},"Reliability","reliability","2026-08-04T05:58:42.702643",{"slug":408,"name":408,"fn":409,"description":410,"org":411,"tags":412,"stars":24,"repoUrl":25,"updatedAt":420},"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},[413,414,417],{"name":9,"slug":8,"type":16},{"name":415,"slug":416,"type":16},"Payments","payments",{"name":418,"slug":419,"type":16},"Stripe","stripe","2026-08-04T05:58:46.810981",{"slug":422,"name":422,"fn":423,"description":424,"org":425,"tags":426,"stars":24,"repoUrl":25,"updatedAt":432},"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},[427,430,431],{"name":428,"slug":429,"type":16},"Analytics","analytics",{"name":354,"slug":355,"type":16},{"name":358,"slug":359,"type":16},"2026-08-04T05:58:51.890215",{"slug":434,"name":434,"fn":435,"description":436,"org":437,"tags":438,"stars":24,"repoUrl":25,"updatedAt":447},"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},[439,442,445,446],{"name":440,"slug":441,"type":16},"API Development","api-development",{"name":443,"slug":444,"type":16},"Architecture","architecture",{"name":327,"slug":328,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T08:00:39.428577",{"slug":449,"name":449,"fn":450,"description":451,"org":452,"tags":453,"stars":24,"repoUrl":25,"updatedAt":461},"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},[454,457,458],{"name":455,"slug":456,"type":16},"Automation","automation",{"name":9,"slug":8,"type":16},{"name":459,"slug":460,"type":16},"Scheduling","scheduling","2026-08-04T05:59:03.147387",{"slug":463,"name":463,"fn":464,"description":465,"org":466,"tags":467,"stars":24,"repoUrl":25,"updatedAt":478},"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},[468,469,472,475],{"name":9,"slug":8,"type":16},{"name":470,"slug":471,"type":16},"Deployment","deployment",{"name":473,"slug":474,"type":16},"Operations","operations",{"name":476,"slug":477,"type":16},"Security","security","2026-08-04T05:58:55.830592",{"slug":480,"name":480,"fn":481,"description":482,"org":483,"tags":484,"stars":24,"repoUrl":25,"updatedAt":492},"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},[485,486,487,488,489],{"name":385,"slug":386,"type":16},{"name":327,"slug":328,"type":16},{"name":9,"slug":8,"type":16},{"name":331,"slug":332,"type":16},{"name":490,"slug":491,"type":16},"Realtime","realtime","2026-08-04T05:58:54.310662",50,{"items":495,"total":541},[496,502,508,515,522,528,535],{"slug":8,"name":8,"fn":322,"description":323,"org":497,"tags":498,"stars":24,"repoUrl":25,"updatedAt":333},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[499,500,501],{"name":327,"slug":328,"type":16},{"name":9,"slug":8,"type":16},{"name":331,"slug":332,"type":16},{"slug":335,"name":335,"fn":336,"description":337,"org":503,"tags":504,"stars":24,"repoUrl":25,"updatedAt":345},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[505,506,507],{"name":327,"slug":328,"type":16},{"name":9,"slug":8,"type":16},{"name":343,"slug":344,"type":16},{"slug":347,"name":347,"fn":348,"description":349,"org":509,"tags":510,"stars":24,"repoUrl":25,"updatedAt":360},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[511,512,513,514],{"name":9,"slug":8,"type":16},{"name":354,"slug":355,"type":16},{"name":14,"slug":15,"type":16},{"name":358,"slug":359,"type":16},{"slug":362,"name":362,"fn":363,"description":364,"org":516,"tags":517,"stars":24,"repoUrl":25,"updatedAt":377},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[518,519,520,521],{"name":368,"slug":369,"type":16},{"name":9,"slug":8,"type":16},{"name":372,"slug":373,"type":16},{"name":375,"slug":376,"type":16},{"slug":379,"name":379,"fn":380,"description":381,"org":523,"tags":524,"stars":24,"repoUrl":25,"updatedAt":391},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[525,526,527],{"name":385,"slug":386,"type":16},{"name":388,"slug":389,"type":16},{"name":9,"slug":8,"type":16},{"slug":393,"name":393,"fn":394,"description":395,"org":529,"tags":530,"stars":24,"repoUrl":25,"updatedAt":406},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[531,532,533,534],{"name":399,"slug":400,"type":16},{"name":9,"slug":8,"type":16},{"name":331,"slug":332,"type":16},{"name":404,"slug":405,"type":16},{"slug":408,"name":408,"fn":409,"description":410,"org":536,"tags":537,"stars":24,"repoUrl":25,"updatedAt":420},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[538,539,540],{"name":9,"slug":8,"type":16},{"name":415,"slug":416,"type":16},{"name":418,"slug":419,"type":16},30]