[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-trail-of-bits-ask-questions-if-underspecified":3,"mdc--s1bsui-key":32,"related-org-trail-of-bits-ask-questions-if-underspecified":327,"related-repo-trail-of-bits-ask-questions-if-underspecified":479},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":27,"sourceUrl":30,"mdContent":31},"ask-questions-if-underspecified","clarify requirements before implementation","Clarify requirements before implementing. Use when serious doubts arise.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"trail-of-bits","Trail of Bits","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftrail-of-bits.png","trailofbits",[13,17],{"name":14,"slug":15,"type":16},"Productivity","productivity","tag",{"name":18,"slug":19,"type":16},"Engineering","engineering",6139,"https:\u002F\u002Fgithub.com\u002Ftrailofbits\u002Fskills","2026-07-17T06:05:33.543262",null,541,[26],"agent-skills",{"repoUrl":21,"stars":20,"forks":24,"topics":28,"description":29},[26],"Trail of Bits Claude Code skills for security research, vulnerability detection, and audit workflows","https:\u002F\u002Fgithub.com\u002Ftrailofbits\u002Fskills\u002Ftree\u002FHEAD\u002Fplugins\u002Fask-questions-if-underspecified\u002Fskills\u002Fask-questions-if-underspecified","---\nname: ask-questions-if-underspecified\ndescription: Clarify requirements before implementing. Use when serious doubts arise.\n---\n\n# Ask Questions If Underspecified\n\n## When to Use\n\nUse this skill when a request has multiple plausible interpretations or key details (objective, scope, constraints, environment, or safety) are unclear.\n\n## When NOT to Use\n\nDo not use this skill when the request is already clear, or when a quick, low-risk discovery read can answer the missing details.\n\n## Goal\n\nAsk the minimum set of clarifying questions needed to avoid wrong work; do not start implementing until the must-have questions are answered (or the user explicitly approves proceeding with stated assumptions).\n\n## Workflow\n\n### 1) Decide whether the request is underspecified\n\nTreat a request as underspecified if after exploring how to perform the work, some or all of the following are not clear:\n- Define the objective (what should change vs stay the same)\n- Define \"done\" (acceptance criteria, examples, edge cases)\n- Define scope (which files\u002Fcomponents\u002Fusers are in\u002Fout)\n- Define constraints (compatibility, performance, style, deps, time)\n- Identify environment (language\u002Fruntime versions, OS, build\u002Ftest runner)\n- Clarify safety\u002Freversibility (data migration, rollout\u002Frollback, risk)\n\nIf multiple plausible interpretations exist, assume it is underspecified.\n\n### 2) Ask must-have questions first (keep it small)\n\nAsk 1-5 questions in the first pass. Prefer questions that eliminate whole branches of work.\n\nMake questions easy to answer:\n- Optimize for scannability (short, numbered questions; avoid paragraphs)\n- Offer multiple-choice options when possible\n- Suggest reasonable defaults when appropriate (mark them clearly as the default\u002Frecommended choice; bold the recommended choice in the list, or if you present options in a code block, put a bold \"Recommended\" line immediately above the block and also tag defaults inside the block)\n- Include a fast-path response (e.g., reply `defaults` to accept all recommended\u002Fdefault choices)\n- Include a low-friction \"not sure\" option when helpful (e.g., \"Not sure - use default\")\n- Separate \"Need to know\" from \"Nice to know\" if that reduces friction\n- Structure options so the user can respond with compact decisions (e.g., `1b 2a 3c`); restate the chosen options in plain language to confirm\n\n### 3) Pause before acting\n\nUntil must-have answers arrive:\n- Do not run commands, edit files, or produce a detailed plan that depends on unknowns\n- Do perform a clearly labeled, low-risk discovery step only if it does not commit you to a direction (e.g., inspect repo structure, read relevant config files)\n\nIf the user explicitly asks you to proceed without answers:\n- State your assumptions as a short numbered list\n- Ask for confirmation; proceed only after they confirm or correct them\n\n### 4) Confirm interpretation, then proceed\n\nOnce you have answers, restate the requirements in 1-3 sentences (including key constraints and what success looks like), then start work.\n\n## Question templates\n\n- \"Before I start, I need: (1) ..., (2) ..., (3) .... If you don't care about (2), I will assume ....\"\n- \"Which of these should it be? A) ... B) ... C) ... (pick one)\"\n- \"What would you consider 'done'? For example: ...\"\n- \"Any constraints I must follow (versions, performance, style, deps)? If none, I will target the existing project defaults.\"\n- Use numbered questions with lettered options and a clear reply format\n\n```text\n1) Scope?\na) Minimal change (default)\nb) Refactor while touching the area\nc) Not sure - use default\n2) Compatibility target?\na) Current project defaults (default)\nb) Also support older versions: \u003Cspecify>\nc) Not sure - use default\n\nReply with: defaults (or 1a 2a)\n```\n\n## Anti-patterns\n\n- Don't ask questions you can answer with a quick, low-risk discovery read (e.g., configs, existing patterns, docs).\n- Don't ask open-ended questions if a tight multiple-choice or yes\u002Fno would eliminate ambiguity faster.\n",{"data":33,"body":34},{"name":4,"description":6},{"type":35,"children":36},"root",[37,45,52,58,64,69,75,80,86,93,98,133,138,144,149,154,209,215,220,233,238,251,257,262,268,296,308,314],{"type":38,"tag":39,"props":40,"children":41},"element","h1",{"id":4},[42],{"type":43,"value":44},"text","Ask Questions If Underspecified",{"type":38,"tag":46,"props":47,"children":49},"h2",{"id":48},"when-to-use",[50],{"type":43,"value":51},"When to Use",{"type":38,"tag":53,"props":54,"children":55},"p",{},[56],{"type":43,"value":57},"Use this skill when a request has multiple plausible interpretations or key details (objective, scope, constraints, environment, or safety) are unclear.",{"type":38,"tag":46,"props":59,"children":61},{"id":60},"when-not-to-use",[62],{"type":43,"value":63},"When NOT to Use",{"type":38,"tag":53,"props":65,"children":66},{},[67],{"type":43,"value":68},"Do not use this skill when the request is already clear, or when a quick, low-risk discovery read can answer the missing details.",{"type":38,"tag":46,"props":70,"children":72},{"id":71},"goal",[73],{"type":43,"value":74},"Goal",{"type":38,"tag":53,"props":76,"children":77},{},[78],{"type":43,"value":79},"Ask the minimum set of clarifying questions needed to avoid wrong work; do not start implementing until the must-have questions are answered (or the user explicitly approves proceeding with stated assumptions).",{"type":38,"tag":46,"props":81,"children":83},{"id":82},"workflow",[84],{"type":43,"value":85},"Workflow",{"type":38,"tag":87,"props":88,"children":90},"h3",{"id":89},"_1-decide-whether-the-request-is-underspecified",[91],{"type":43,"value":92},"1) Decide whether the request is underspecified",{"type":38,"tag":53,"props":94,"children":95},{},[96],{"type":43,"value":97},"Treat a request as underspecified if after exploring how to perform the work, some or all of the following are not clear:",{"type":38,"tag":99,"props":100,"children":101},"ul",{},[102,108,113,118,123,128],{"type":38,"tag":103,"props":104,"children":105},"li",{},[106],{"type":43,"value":107},"Define the objective (what should change vs stay the same)",{"type":38,"tag":103,"props":109,"children":110},{},[111],{"type":43,"value":112},"Define \"done\" (acceptance criteria, examples, edge cases)",{"type":38,"tag":103,"props":114,"children":115},{},[116],{"type":43,"value":117},"Define scope (which files\u002Fcomponents\u002Fusers are in\u002Fout)",{"type":38,"tag":103,"props":119,"children":120},{},[121],{"type":43,"value":122},"Define constraints (compatibility, performance, style, deps, time)",{"type":38,"tag":103,"props":124,"children":125},{},[126],{"type":43,"value":127},"Identify environment (language\u002Fruntime versions, OS, build\u002Ftest runner)",{"type":38,"tag":103,"props":129,"children":130},{},[131],{"type":43,"value":132},"Clarify safety\u002Freversibility (data migration, rollout\u002Frollback, risk)",{"type":38,"tag":53,"props":134,"children":135},{},[136],{"type":43,"value":137},"If multiple plausible interpretations exist, assume it is underspecified.",{"type":38,"tag":87,"props":139,"children":141},{"id":140},"_2-ask-must-have-questions-first-keep-it-small",[142],{"type":43,"value":143},"2) Ask must-have questions first (keep it small)",{"type":38,"tag":53,"props":145,"children":146},{},[147],{"type":43,"value":148},"Ask 1-5 questions in the first pass. Prefer questions that eliminate whole branches of work.",{"type":38,"tag":53,"props":150,"children":151},{},[152],{"type":43,"value":153},"Make questions easy to answer:",{"type":38,"tag":99,"props":155,"children":156},{},[157,162,167,172,186,191,196],{"type":38,"tag":103,"props":158,"children":159},{},[160],{"type":43,"value":161},"Optimize for scannability (short, numbered questions; avoid paragraphs)",{"type":38,"tag":103,"props":163,"children":164},{},[165],{"type":43,"value":166},"Offer multiple-choice options when possible",{"type":38,"tag":103,"props":168,"children":169},{},[170],{"type":43,"value":171},"Suggest reasonable defaults when appropriate (mark them clearly as the default\u002Frecommended choice; bold the recommended choice in the list, or if you present options in a code block, put a bold \"Recommended\" line immediately above the block and also tag defaults inside the block)",{"type":38,"tag":103,"props":173,"children":174},{},[175,177,184],{"type":43,"value":176},"Include a fast-path response (e.g., reply ",{"type":38,"tag":178,"props":179,"children":181},"code",{"className":180},[],[182],{"type":43,"value":183},"defaults",{"type":43,"value":185}," to accept all recommended\u002Fdefault choices)",{"type":38,"tag":103,"props":187,"children":188},{},[189],{"type":43,"value":190},"Include a low-friction \"not sure\" option when helpful (e.g., \"Not sure - use default\")",{"type":38,"tag":103,"props":192,"children":193},{},[194],{"type":43,"value":195},"Separate \"Need to know\" from \"Nice to know\" if that reduces friction",{"type":38,"tag":103,"props":197,"children":198},{},[199,201,207],{"type":43,"value":200},"Structure options so the user can respond with compact decisions (e.g., ",{"type":38,"tag":178,"props":202,"children":204},{"className":203},[],[205],{"type":43,"value":206},"1b 2a 3c",{"type":43,"value":208},"); restate the chosen options in plain language to confirm",{"type":38,"tag":87,"props":210,"children":212},{"id":211},"_3-pause-before-acting",[213],{"type":43,"value":214},"3) Pause before acting",{"type":38,"tag":53,"props":216,"children":217},{},[218],{"type":43,"value":219},"Until must-have answers arrive:",{"type":38,"tag":99,"props":221,"children":222},{},[223,228],{"type":38,"tag":103,"props":224,"children":225},{},[226],{"type":43,"value":227},"Do not run commands, edit files, or produce a detailed plan that depends on unknowns",{"type":38,"tag":103,"props":229,"children":230},{},[231],{"type":43,"value":232},"Do perform a clearly labeled, low-risk discovery step only if it does not commit you to a direction (e.g., inspect repo structure, read relevant config files)",{"type":38,"tag":53,"props":234,"children":235},{},[236],{"type":43,"value":237},"If the user explicitly asks you to proceed without answers:",{"type":38,"tag":99,"props":239,"children":240},{},[241,246],{"type":38,"tag":103,"props":242,"children":243},{},[244],{"type":43,"value":245},"State your assumptions as a short numbered list",{"type":38,"tag":103,"props":247,"children":248},{},[249],{"type":43,"value":250},"Ask for confirmation; proceed only after they confirm or correct them",{"type":38,"tag":87,"props":252,"children":254},{"id":253},"_4-confirm-interpretation-then-proceed",[255],{"type":43,"value":256},"4) Confirm interpretation, then proceed",{"type":38,"tag":53,"props":258,"children":259},{},[260],{"type":43,"value":261},"Once you have answers, restate the requirements in 1-3 sentences (including key constraints and what success looks like), then start work.",{"type":38,"tag":46,"props":263,"children":265},{"id":264},"question-templates",[266],{"type":43,"value":267},"Question templates",{"type":38,"tag":99,"props":269,"children":270},{},[271,276,281,286,291],{"type":38,"tag":103,"props":272,"children":273},{},[274],{"type":43,"value":275},"\"Before I start, I need: (1) ..., (2) ..., (3) .... If you don't care about (2), I will assume ....\"",{"type":38,"tag":103,"props":277,"children":278},{},[279],{"type":43,"value":280},"\"Which of these should it be? A) ... B) ... C) ... (pick one)\"",{"type":38,"tag":103,"props":282,"children":283},{},[284],{"type":43,"value":285},"\"What would you consider 'done'? For example: ...\"",{"type":38,"tag":103,"props":287,"children":288},{},[289],{"type":43,"value":290},"\"Any constraints I must follow (versions, performance, style, deps)? If none, I will target the existing project defaults.\"",{"type":38,"tag":103,"props":292,"children":293},{},[294],{"type":43,"value":295},"Use numbered questions with lettered options and a clear reply format",{"type":38,"tag":297,"props":298,"children":303},"pre",{"className":299,"code":301,"language":43,"meta":302},[300],"language-text","1) Scope?\na) Minimal change (default)\nb) Refactor while touching the area\nc) Not sure - use default\n2) Compatibility target?\na) Current project defaults (default)\nb) Also support older versions: \u003Cspecify>\nc) Not sure - use default\n\nReply with: defaults (or 1a 2a)\n","",[304],{"type":38,"tag":178,"props":305,"children":306},{"__ignoreMap":302},[307],{"type":43,"value":301},{"type":38,"tag":46,"props":309,"children":311},{"id":310},"anti-patterns",[312],{"type":43,"value":313},"Anti-patterns",{"type":38,"tag":99,"props":315,"children":316},{},[317,322],{"type":38,"tag":103,"props":318,"children":319},{},[320],{"type":43,"value":321},"Don't ask questions you can answer with a quick, low-risk discovery read (e.g., configs, existing patterns, docs).",{"type":38,"tag":103,"props":323,"children":324},{},[325],{"type":43,"value":326},"Don't ask open-ended questions if a tight multiple-choice or yes\u002Fno would eliminate ambiguity faster.",{"items":328,"total":478},[329,348,358,378,393,398,410,420,433,444,456,467],{"slug":330,"name":330,"fn":331,"description":332,"org":333,"tags":334,"stars":20,"repoUrl":21,"updatedAt":347},"address-sanitizer","detect memory errors during fuzzing","AddressSanitizer detects memory errors during fuzzing. Use when fuzzing C\u002FC++ code to find buffer overflows and use-after-free bugs.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[335,338,341,344],{"name":336,"slug":337,"type":16},"C#","c",{"name":339,"slug":340,"type":16},"Debugging","debugging",{"name":342,"slug":343,"type":16},"Security","security",{"name":345,"slug":346,"type":16},"Testing","testing","2026-07-17T06:05:14.925095",{"slug":349,"name":349,"fn":350,"description":351,"org":352,"tags":353,"stars":20,"repoUrl":21,"updatedAt":357},"aflpp","perform multi-core fuzzing of C\u002FC++ projects","AFL++ is a fork of AFL with better fuzzing performance and advanced features. Use for multi-core fuzzing of C\u002FC++ projects.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[354,355,356],{"name":336,"slug":337,"type":16},{"name":342,"slug":343,"type":16},{"name":345,"slug":346,"type":16},"2026-07-17T06:05:12.433192",{"slug":359,"name":359,"fn":360,"description":361,"org":362,"tags":363,"stars":20,"repoUrl":21,"updatedAt":377},"agentic-actions-auditor","audit GitHub Actions for security vulnerabilities","Audits GitHub Actions workflows for security vulnerabilities in AI agent integrations including Claude Code Action, Gemini CLI, OpenAI Codex, and GitHub AI Inference. Detects attack vectors where attacker-controlled input reaches AI agents running in CI\u002FCD pipelines, including env var intermediary patterns, direct expression injection, dangerous sandbox configurations, and wildcard user allowlists. Use when reviewing workflow files that invoke AI coding agents, auditing CI\u002FCD pipeline security for prompt injection risks, or evaluating agentic action configurations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[364,367,370,373,376],{"name":365,"slug":366,"type":16},"Agents","agents",{"name":368,"slug":369,"type":16},"CI\u002FCD","ci-cd",{"name":371,"slug":372,"type":16},"Code Analysis","code-analysis",{"name":374,"slug":375,"type":16},"GitHub Actions","github-actions",{"name":342,"slug":343,"type":16},"2026-07-18T05:47:48.564744",{"slug":379,"name":379,"fn":380,"description":381,"org":382,"tags":383,"stars":20,"repoUrl":21,"updatedAt":392},"algorand-vulnerability-scanner","scan Algorand smart contracts for vulnerabilities","Scans Algorand smart contracts for 11 common vulnerabilities including rekeying attacks, unchecked transaction fees, missing field validations, and access control issues. Use when auditing Algorand projects (TEAL\u002FPyTeal).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[384,387,388,389],{"name":385,"slug":386,"type":16},"Audit","audit",{"name":371,"slug":372,"type":16},{"name":342,"slug":343,"type":16},{"name":390,"slug":391,"type":16},"Smart Contracts","smart-contracts","2026-07-18T05:47:43.989063",{"slug":4,"name":4,"fn":5,"description":6,"org":394,"tags":395,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[396,397],{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"slug":399,"name":399,"fn":400,"description":401,"org":402,"tags":403,"stars":20,"repoUrl":21,"updatedAt":409},"atheris","fuzz Python code with Atheris","Atheris is a coverage-guided Python fuzzer based on libFuzzer. Use for fuzzing pure Python code and Python C extensions.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[404,407,408],{"name":405,"slug":406,"type":16},"Python","python",{"name":342,"slug":343,"type":16},{"name":345,"slug":346,"type":16},"2026-07-17T06:05:14.575191",{"slug":411,"name":411,"fn":412,"description":413,"org":414,"tags":415,"stars":20,"repoUrl":21,"updatedAt":419},"audit-augmentation","augment code graphs with audit findings","Augments Trailmark code graphs with external audit findings from SARIF static analysis results, weAudit annotation files, and version-gated Trailmark 0.4.x binary-analysis graph exports. Maps findings to graph nodes by file and line overlap, creates severity-based subgraphs, and enables cross-referencing findings with pre-analysis data (blast radius, taint, etc.). Use when projecting SARIF results onto a code graph, overlaying weAudit annotations, importing binary graph findings, cross-referencing Semgrep, CodeQL, or binary-analysis findings with call graph data, or visualizing audit findings in the context of code structure.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[416,417,418],{"name":385,"slug":386,"type":16},{"name":371,"slug":372,"type":16},{"name":342,"slug":343,"type":16},"2026-08-01T05:44:54.920542",{"slug":421,"name":421,"fn":422,"description":423,"org":424,"tags":425,"stars":20,"repoUrl":21,"updatedAt":432},"audit-context-building","build architectural context for code analysis","Enables ultra-granular, line-by-line code analysis to build deep architectural context before vulnerability or bug finding.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[426,429,430,431],{"name":427,"slug":428,"type":16},"Architecture","architecture",{"name":385,"slug":386,"type":16},{"name":371,"slug":372,"type":16},{"name":18,"slug":19,"type":16},"2026-07-18T05:47:40.122449",{"slug":434,"name":434,"fn":435,"description":436,"org":437,"tags":438,"stars":20,"repoUrl":21,"updatedAt":443},"audit-prep-assistant","prepare codebases for security audits","Prepares codebases for security review using Trail of Bits' checklist. Helps set review goals, runs static analysis tools, increases test coverage, removes dead code, ensures accessibility, and generates documentation (flowcharts, user stories, inline comments).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[439,440,441,442],{"name":385,"slug":386,"type":16},{"name":371,"slug":372,"type":16},{"name":18,"slug":19,"type":16},{"name":342,"slug":343,"type":16},"2026-07-18T05:47:39.210985",{"slug":445,"name":445,"fn":446,"description":447,"org":448,"tags":449,"stars":20,"repoUrl":21,"updatedAt":455},"burpsuite-project-parser","parse Burp Suite project files","Searches and explores Burp Suite project files (.burp) from the command line. Use when searching response headers or bodies with regex patterns, extracting security audit findings, dumping proxy history or site map data, or analyzing HTTP traffic captured in a Burp project.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[450,451,454],{"name":385,"slug":386,"type":16},{"name":452,"slug":453,"type":16},"CLI","cli",{"name":342,"slug":343,"type":16},"2026-07-17T06:05:33.198077",{"slug":457,"name":457,"fn":458,"description":459,"org":460,"tags":461,"stars":20,"repoUrl":21,"updatedAt":466},"c-review","audit C and C++ code","Performs comprehensive C\u002FC++ security review for memory corruption, integer overflows, race conditions, and platform-specific vulnerabilities. Use when auditing native C\u002FC++ applications, reviewing daemons or services for memory safety, or hunting integer overflow \u002F use-after-free \u002F race conditions in userspace code.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[462,463,464,465],{"name":385,"slug":386,"type":16},{"name":336,"slug":337,"type":16},{"name":371,"slug":372,"type":16},{"name":342,"slug":343,"type":16},"2026-07-17T06:05:11.333374",{"slug":468,"name":468,"fn":469,"description":470,"org":471,"tags":472,"stars":20,"repoUrl":21,"updatedAt":477},"cairo-vulnerability-scanner","scan Cairo and StarkNet contracts for vulnerabilities","Scans Cairo\u002FStarkNet smart contracts for 6 critical vulnerabilities including felt252 arithmetic overflow, L1-L2 messaging issues, address conversion problems, and signature replay. Use when auditing StarkNet projects.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[473,474,475,476],{"name":385,"slug":386,"type":16},{"name":371,"slug":372,"type":16},{"name":342,"slug":343,"type":16},{"name":390,"slug":391,"type":16},"2026-07-18T05:47:42.84568",111,{"items":480,"total":526},[481,488,494,502,509,514,520],{"slug":330,"name":330,"fn":331,"description":332,"org":482,"tags":483,"stars":20,"repoUrl":21,"updatedAt":347},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[484,485,486,487],{"name":336,"slug":337,"type":16},{"name":339,"slug":340,"type":16},{"name":342,"slug":343,"type":16},{"name":345,"slug":346,"type":16},{"slug":349,"name":349,"fn":350,"description":351,"org":489,"tags":490,"stars":20,"repoUrl":21,"updatedAt":357},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[491,492,493],{"name":336,"slug":337,"type":16},{"name":342,"slug":343,"type":16},{"name":345,"slug":346,"type":16},{"slug":359,"name":359,"fn":360,"description":361,"org":495,"tags":496,"stars":20,"repoUrl":21,"updatedAt":377},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[497,498,499,500,501],{"name":365,"slug":366,"type":16},{"name":368,"slug":369,"type":16},{"name":371,"slug":372,"type":16},{"name":374,"slug":375,"type":16},{"name":342,"slug":343,"type":16},{"slug":379,"name":379,"fn":380,"description":381,"org":503,"tags":504,"stars":20,"repoUrl":21,"updatedAt":392},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[505,506,507,508],{"name":385,"slug":386,"type":16},{"name":371,"slug":372,"type":16},{"name":342,"slug":343,"type":16},{"name":390,"slug":391,"type":16},{"slug":4,"name":4,"fn":5,"description":6,"org":510,"tags":511,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[512,513],{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"slug":399,"name":399,"fn":400,"description":401,"org":515,"tags":516,"stars":20,"repoUrl":21,"updatedAt":409},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[517,518,519],{"name":405,"slug":406,"type":16},{"name":342,"slug":343,"type":16},{"name":345,"slug":346,"type":16},{"slug":411,"name":411,"fn":412,"description":413,"org":521,"tags":522,"stars":20,"repoUrl":21,"updatedAt":419},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[523,524,525],{"name":385,"slug":386,"type":16},{"name":371,"slug":372,"type":16},{"name":342,"slug":343,"type":16},77]