[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-algolia-algolia-autocomplete":3,"mdc-k9vvot-key":39,"related-org-algolia-algolia-autocomplete":706,"related-repo-algolia-algolia-autocomplete":875},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":34,"sourceUrl":37,"mdContent":38},"algolia-autocomplete","build Algolia autocomplete and query suggestions","Build and review Algolia Autocomplete and query suggestion experiences. Use when planning or implementing typeahead, query suggestions, recent searches, popular searches, federated autocomplete panels, product\u002Fcontent suggestions, detached mobile mode, plugins, keyboard navigation, insights events, or Autocomplete integration with InstantSearch. For net-new search or ecommerce builds, start with algolia-discovery-planning, which loads algolia-search-implementation so source strategy, data contract, and event taxonomy decisions are visible before autocomplete is marked ready. Do NOT use for full search results pages, browse pages, filters, pagination, or current refinements; use algolia-instantsearch-ui instead. Do NOT use for choosing between Algolia UI libraries; use algolia-ui-libraries. Do NOT use as the source of truth for current Autocomplete package APIs; use the official instantsearch skill and current docs alongside this customer-readiness skill.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"algolia","Algolia","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Falgolia.png",[12,14,17,20],{"name":9,"slug":8,"type":13},"tag",{"name":15,"slug":16,"type":13},"Search","search",{"name":18,"slug":19,"type":13},"UI Components","ui-components",{"name":21,"slug":22,"type":13},"Frontend","frontend",8,"https:\u002F\u002Fgithub.com\u002Falgolia\u002Fskills","2026-08-01T06:06:29.968123","MIT",2,[29,30,8,31,32,16,33],"agent","ai-assistant","mcp","recommendations","skills",{"repoUrl":24,"stars":23,"forks":27,"topics":35,"description":36},[29,30,8,31,32,16,33],"Algolia skills for AI Agents","https:\u002F\u002Fgithub.com\u002Falgolia\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Falgolia-autocomplete","---\nname: algolia-autocomplete\ndescription: >\n  Build and review Algolia Autocomplete and query suggestion experiences. Use when planning or implementing typeahead, query suggestions, recent searches, popular searches, federated autocomplete panels, product\u002Fcontent suggestions, detached mobile mode, plugins, keyboard navigation, insights events, or Autocomplete integration with InstantSearch. For net-new search or ecommerce builds, start with algolia-discovery-planning, which loads algolia-search-implementation so source strategy, data contract, and event taxonomy decisions are visible before autocomplete is marked ready. Do NOT use for full search results pages, browse pages, filters, pagination, or current refinements; use algolia-instantsearch-ui instead. Do NOT use for choosing between Algolia UI libraries; use algolia-ui-libraries. Do NOT use as the source of truth for current Autocomplete package APIs; use the official instantsearch skill and current docs alongside this customer-readiness skill.\nlicense: MIT\nmetadata:\n  author: algolia\n  version: \"0.5\"\n---\n\n# Algolia Autocomplete\n\nUse this skill for search-as-you-type experiences where the user has not committed to a full search results page yet. Autocomplete should help users form intent, not just mirror final results.\n\n## Customer-Facing Standard\n\n- Define source strategy and selection behavior before code.\n- Validate keyboard, touch, mobile, empty\u002Floading states, routing handoff, and events before launch.\n- Use public `academy.algolia.com` for learning alignment and public `algolia.com\u002Fdoc` for current implementation guidance when source-backed context is needed.\n- When an Academy metadata reference pack is available, use only its `title`, `url`, `course`, `module`, `learning_objectives`, and `updated_at` fields for structure. If it is stale or no match exists, fall back to live Academy\u002Fdocs lookup. Do not treat cached metadata as course content or implementation authority.\n- Do not require custom Academy\u002Fdocs access; use customer-provided sources only as optional context.\n- When live Algolia data, analytics, index inspection, settings changes, or account actions are needed, use Algolia MCP, the Algolia CLI, or official Algolia skills for the live operation, then apply this skill to interpret results and validate the customer-ready implementation path.\n- Produce source ordering, selection contract, implementation notes, and QA checklist.\n- Assess the finished experience as helpful, clear, focused, device-usable, and accessible; a technically connected panel is not necessarily ready for users.\n\n## Official Companion Skills\n\n- Use official `instantsearch` for current Autocomplete implementation details, framework-specific source-of-truth checks, and code-level patterns.\n- Use official `algolia-mcp` when live index schema, query suggestions, facet values, or analytics should shape source selection.\n- Use this skill before the official implementation skill to frame the customer journey, and after it to validate source strategy, selection behavior, mobile behavior, and event handoff.\n\n## Source-Of-Truth Rules\n\n- Use the official `instantsearch` skill or current docs for Autocomplete package APIs, plugins, render hooks, and InstantSearch integration details.\n- Do not assume a Query Suggestions index exists; verify it or design a fallback source strategy.\n- Do not wire selection behavior until the destination is known: submit query, navigate, refine InstantSearch, apply filter, open record, or run an approved action.\n- For net-new implementations, confirm the data contract and event taxonomy, or create minimal provisional versions and name the follow-up decisions.\n- Treat mouse, touch, Enter, and keyboard navigation as equivalent routes: each selection must reach the same URL or state with the same query and applicable scope.\n\n## Workflow\n\n1. Read `references\u002Fautocomplete-guide.md` before implementation or review.\n2. Confirm whether Autocomplete is standalone, integrated with InstantSearch, or part of a federated search entry point.\n3. Confirm the data contract for every direct-result source: index, display fields, URLs, objectIDs, and event attribution fields.\n4. Confirm the event taxonomy for every selection type, especially the difference between direct-result clicks and query suggestion submissions.\n5. Choose sources intentionally: query suggestions, products, categories, content, recent searches, popular searches, or redirects.\n6. Teach the difference between source types: Query Suggestions help users search better; product\u002Fcontent results help users jump directly to a record; recent searches help returning users resume.\n7. Write a source contract for each group: trigger, source\u002Findex, input value, selection destination, scope carried forward, and attribution method.\n8. Select advanced patterns only when they solve a named user need: resumption, discovery, early narrowing, non-product intent, or no-result recovery.\n9. Validate suggestion quality before connecting it to the UI.\n10. Implement in layers: mount the base input, validate Query Suggestions, add direct results, add focus\u002Fempty-query behavior, then validate mobile and events.\n11. Use the official `instantsearch` skill and current docs to implement the selected package, plugin, renderer, or InstantSearch integration.\n12. Implement keyboard, mouse, touch, empty, loading, and detached mobile behavior.\n13. Preserve event attribution from suggestion selection to the resulting search or conversion.\n\n## Questions To Ask\n\n- What should appear while typing: queries, products, categories, content, recent searches, or all of these?\n- Should selecting a suggestion navigate, refine InstantSearch state, open a result, or submit a query?\n- Is there a query suggestions index, and how is it generated?\n- Are the suggestions clear, useful, searchable, and free of internal\u002Ftest language?\n- What should appear before typing: recent searches, popular searches, useful categories, shortcuts, or nothing?\n- Are recent searches stored locally, server-side, or disabled?\n- What mobile behavior is expected?\n- Which selections need click or conversion events?\n- If a category is shown with a suggestion, does it narrow the subsequent search, route to a category page, or only provide context?\n- What should a user see and be able to do when a source is empty, slow, or unavailable?\n- Which user problem justifies each advanced pattern: resuming, discovering, narrowing, reaching non-product content, or recovering from a likely dead end?\n- With the mobile keyboard open, which few suggestions or direct results must remain visible, and where does “see all results” lead?\n\n## Implementation Standards\n\n- Use Algolia Autocomplete primitives and plugins instead of hand-rolled typeahead state unless the project has a strong reason.\n- Keep source limits tight and ordered by user value.\n- Keep Query Suggestions and product\u002Fcontent results visually and behaviorally distinct.\n- Review the Query Suggestions index before launch. Tune noisy, incomplete, offensive, stale, or internal suggestions before exposing them.\n- Use recent searches and `openOnFocus` style behavior only when the empty-query state helps users resume or discover, not as a promotional dumping ground.\n- Debounce or stall UI responsibly; do not make the input feel laggy.\n- Respect accessibility defaults and avoid custom markup that breaks keyboard navigation.\n- Keep InstantSearch integration explicit: update query\u002Frefinements without creating conflicting state loops.\n- Use consistent userToken and event metadata when suggestions lead to result interactions.\n- Use a URL or selection-state contract that works for pointer and keyboard selection; test it with a category-bearing suggestion where relevant.\n- Keep a source empty-state deliberate: hide a failed\u002Fempty group, show an approved fallback, or show a clear no-suggestions state. Do not leave blank labeled panels.\n- Start with a small source set and add groups only when they pass the helpful, clear, and focused test; do not let a new source displace the best guidance.\n- On mobile, preserve a top search input, distinct clear and close actions, tap-friendly rows, visible primary guidance above the keyboard, and a clear path to all results.\n- Keep category scope sparse and visually distinct. Use it to narrow a genuinely ambiguous query, not as a duplicate list of category labels.\n\n## Anti-Patterns\n\n- Showing too many source groups or too many hits per group.\n- Treating autocomplete as a mini search results page instead of a search guidance experience.\n- Connecting Query Suggestions before reviewing whether suggestions are useful, safe, and likely to return results.\n- Using the source index name where the Query Suggestions plugin expects the Query Suggestions index name.\n- Making every suggestion behave differently without clear visual or routing cues.\n- Creating two competing query states between Autocomplete and InstantSearch.\n- Breaking keyboard, focus, Escape, Enter, or detached mobile behavior with custom markup.\n- Sending direct-result events as search-attributed events when the item did not come from an Algolia search response with queryID.\n- Displaying a category label without defining whether it scopes the result, navigates, or is informational only.\n- Letting the pointer path and keyboard path produce different query parameters, filters, or destinations.\n- Adding popular searches, categories, federated content, or product groups because the panel has space rather than because they solve a named user need.\n- Letting product cards crowd out the query guidance, especially when the mobile keyboard is open.\n- Combining the clear-input action and the close-overlay action on mobile.\n\n## Completion Checkpoints\n\nBefore calling autocomplete ready, or when handing off a prototype with follow-ups, state whether these checkpoints are satisfied, deferred, or unknown:\n\n- Source and ordering contract.\n- Selection behavior for every source.\n- Referenced data contract or explicit minimal demo data contract for direct-result sources.\n- Referenced event taxonomy or explicit user-approved event deferral.\n- Clear distinction between query suggestion submissions and direct-result clicks.\n- Browser QA for keyboard, pointer, touch, detached mobile mode, empty\u002Floading states, selection behavior, and routing\u002Fsearch-state handoff.\n- Source contract and fallback behavior for unavailable, empty, or low-quality suggestions.\n- Quality standard verdict: helpful, clear, focused, device-usable, and accessible, with any failed dimension recorded as a follow-up.\n\n## Academy And Customer Education Alignment\n\nWhen source-backed guidance is needed, search public Academy sources for autocomplete and search UX learning objectives and public Algolia docs for autocomplete, query suggestions, UI state, mobile behavior, and event attribution. Use source guidance to shape questions, maturity level, use-case bundle, and validation artifacts; do not turn it into a static docs dump.\n\n## Maturity Behavior\n\n- Beginner implementation: define sources, ordering, and selection behavior before adding advanced plugins.\n- Production readiness: build and verify the base input, Query Suggestions, direct results, empty-query behavior, then keyboard, touch, mobile detached mode, routing handoff, accessibility, and event attribution.\n- Optimization: review suggestion quality, no-result behavior, source ordering, recent\u002Fpopular searches, category scope, federated content, latency, and query suggestion analytics.\n- AI readiness: preserve selected query\u002Fresult context, userToken, and downstream event attribution for personalization, NeuralSearch evaluation, or AI assistants.\n\n## Output Contract\n\nReturn code or review notes plus:\n\n- Official Skill Usage Note: framework\u002Fpackage choice and official source consulted for implementation details.\n- Source Contract: order, trigger, source\u002Findex, input value, selection destination, carried scope, fallback, and event treatment for each group.\n- Customer UI Plan: empty\u002Ffocus behavior, mobile mode, result-page handoff, device-specific content budget, and accessibility notes.\n- Quality Standard: helpful, clear, focused, device-usable, and accessible verdicts with open issues.\n- QA checklist for keyboard navigation, selection behavior, mobile detached mode, routing\u002Fsearch-state sync, no suggestions, latency, and events.\n",{"data":40,"body":43},{"name":4,"description":6,"license":26,"metadata":41},{"author":8,"version":42},"0.5",{"type":44,"children":45},"root",[46,54,60,67,174,180,213,219,254,260,343,349,412,418,499,505,573,579,584,627,633,638,644,667,673,678],{"type":47,"tag":48,"props":49,"children":50},"element","h1",{"id":4},[51],{"type":52,"value":53},"text","Algolia Autocomplete",{"type":47,"tag":55,"props":56,"children":57},"p",{},[58],{"type":52,"value":59},"Use this skill for search-as-you-type experiences where the user has not committed to a full search results page yet. Autocomplete should help users form intent, not just mirror final results.",{"type":47,"tag":61,"props":62,"children":64},"h2",{"id":63},"customer-facing-standard",[65],{"type":52,"value":66},"Customer-Facing Standard",{"type":47,"tag":68,"props":69,"children":70},"ul",{},[71,77,82,104,154,159,164,169],{"type":47,"tag":72,"props":73,"children":74},"li",{},[75],{"type":52,"value":76},"Define source strategy and selection behavior before code.",{"type":47,"tag":72,"props":78,"children":79},{},[80],{"type":52,"value":81},"Validate keyboard, touch, mobile, empty\u002Floading states, routing handoff, and events before launch.",{"type":47,"tag":72,"props":83,"children":84},{},[85,87,94,96,102],{"type":52,"value":86},"Use public ",{"type":47,"tag":88,"props":89,"children":91},"code",{"className":90},[],[92],{"type":52,"value":93},"academy.algolia.com",{"type":52,"value":95}," for learning alignment and public ",{"type":47,"tag":88,"props":97,"children":99},{"className":98},[],[100],{"type":52,"value":101},"algolia.com\u002Fdoc",{"type":52,"value":103}," for current implementation guidance when source-backed context is needed.",{"type":47,"tag":72,"props":105,"children":106},{},[107,109,115,117,123,124,130,131,137,138,144,146,152],{"type":52,"value":108},"When an Academy metadata reference pack is available, use only its ",{"type":47,"tag":88,"props":110,"children":112},{"className":111},[],[113],{"type":52,"value":114},"title",{"type":52,"value":116},", ",{"type":47,"tag":88,"props":118,"children":120},{"className":119},[],[121],{"type":52,"value":122},"url",{"type":52,"value":116},{"type":47,"tag":88,"props":125,"children":127},{"className":126},[],[128],{"type":52,"value":129},"course",{"type":52,"value":116},{"type":47,"tag":88,"props":132,"children":134},{"className":133},[],[135],{"type":52,"value":136},"module",{"type":52,"value":116},{"type":47,"tag":88,"props":139,"children":141},{"className":140},[],[142],{"type":52,"value":143},"learning_objectives",{"type":52,"value":145},", and ",{"type":47,"tag":88,"props":147,"children":149},{"className":148},[],[150],{"type":52,"value":151},"updated_at",{"type":52,"value":153}," fields for structure. If it is stale or no match exists, fall back to live Academy\u002Fdocs lookup. Do not treat cached metadata as course content or implementation authority.",{"type":47,"tag":72,"props":155,"children":156},{},[157],{"type":52,"value":158},"Do not require custom Academy\u002Fdocs access; use customer-provided sources only as optional context.",{"type":47,"tag":72,"props":160,"children":161},{},[162],{"type":52,"value":163},"When live Algolia data, analytics, index inspection, settings changes, or account actions are needed, use Algolia MCP, the Algolia CLI, or official Algolia skills for the live operation, then apply this skill to interpret results and validate the customer-ready implementation path.",{"type":47,"tag":72,"props":165,"children":166},{},[167],{"type":52,"value":168},"Produce source ordering, selection contract, implementation notes, and QA checklist.",{"type":47,"tag":72,"props":170,"children":171},{},[172],{"type":52,"value":173},"Assess the finished experience as helpful, clear, focused, device-usable, and accessible; a technically connected panel is not necessarily ready for users.",{"type":47,"tag":61,"props":175,"children":177},{"id":176},"official-companion-skills",[178],{"type":52,"value":179},"Official Companion Skills",{"type":47,"tag":68,"props":181,"children":182},{},[183,196,208],{"type":47,"tag":72,"props":184,"children":185},{},[186,188,194],{"type":52,"value":187},"Use official ",{"type":47,"tag":88,"props":189,"children":191},{"className":190},[],[192],{"type":52,"value":193},"instantsearch",{"type":52,"value":195}," for current Autocomplete implementation details, framework-specific source-of-truth checks, and code-level patterns.",{"type":47,"tag":72,"props":197,"children":198},{},[199,200,206],{"type":52,"value":187},{"type":47,"tag":88,"props":201,"children":203},{"className":202},[],[204],{"type":52,"value":205},"algolia-mcp",{"type":52,"value":207}," when live index schema, query suggestions, facet values, or analytics should shape source selection.",{"type":47,"tag":72,"props":209,"children":210},{},[211],{"type":52,"value":212},"Use this skill before the official implementation skill to frame the customer journey, and after it to validate source strategy, selection behavior, mobile behavior, and event handoff.",{"type":47,"tag":61,"props":214,"children":216},{"id":215},"source-of-truth-rules",[217],{"type":52,"value":218},"Source-Of-Truth Rules",{"type":47,"tag":68,"props":220,"children":221},{},[222,234,239,244,249],{"type":47,"tag":72,"props":223,"children":224},{},[225,227,232],{"type":52,"value":226},"Use the official ",{"type":47,"tag":88,"props":228,"children":230},{"className":229},[],[231],{"type":52,"value":193},{"type":52,"value":233}," skill or current docs for Autocomplete package APIs, plugins, render hooks, and InstantSearch integration details.",{"type":47,"tag":72,"props":235,"children":236},{},[237],{"type":52,"value":238},"Do not assume a Query Suggestions index exists; verify it or design a fallback source strategy.",{"type":47,"tag":72,"props":240,"children":241},{},[242],{"type":52,"value":243},"Do not wire selection behavior until the destination is known: submit query, navigate, refine InstantSearch, apply filter, open record, or run an approved action.",{"type":47,"tag":72,"props":245,"children":246},{},[247],{"type":52,"value":248},"For net-new implementations, confirm the data contract and event taxonomy, or create minimal provisional versions and name the follow-up decisions.",{"type":47,"tag":72,"props":250,"children":251},{},[252],{"type":52,"value":253},"Treat mouse, touch, Enter, and keyboard navigation as equivalent routes: each selection must reach the same URL or state with the same query and applicable scope.",{"type":47,"tag":61,"props":255,"children":257},{"id":256},"workflow",[258],{"type":52,"value":259},"Workflow",{"type":47,"tag":261,"props":262,"children":263},"ol",{},[264,277,282,287,292,297,302,307,312,317,322,333,338],{"type":47,"tag":72,"props":265,"children":266},{},[267,269,275],{"type":52,"value":268},"Read ",{"type":47,"tag":88,"props":270,"children":272},{"className":271},[],[273],{"type":52,"value":274},"references\u002Fautocomplete-guide.md",{"type":52,"value":276}," before implementation or review.",{"type":47,"tag":72,"props":278,"children":279},{},[280],{"type":52,"value":281},"Confirm whether Autocomplete is standalone, integrated with InstantSearch, or part of a federated search entry point.",{"type":47,"tag":72,"props":283,"children":284},{},[285],{"type":52,"value":286},"Confirm the data contract for every direct-result source: index, display fields, URLs, objectIDs, and event attribution fields.",{"type":47,"tag":72,"props":288,"children":289},{},[290],{"type":52,"value":291},"Confirm the event taxonomy for every selection type, especially the difference between direct-result clicks and query suggestion submissions.",{"type":47,"tag":72,"props":293,"children":294},{},[295],{"type":52,"value":296},"Choose sources intentionally: query suggestions, products, categories, content, recent searches, popular searches, or redirects.",{"type":47,"tag":72,"props":298,"children":299},{},[300],{"type":52,"value":301},"Teach the difference between source types: Query Suggestions help users search better; product\u002Fcontent results help users jump directly to a record; recent searches help returning users resume.",{"type":47,"tag":72,"props":303,"children":304},{},[305],{"type":52,"value":306},"Write a source contract for each group: trigger, source\u002Findex, input value, selection destination, scope carried forward, and attribution method.",{"type":47,"tag":72,"props":308,"children":309},{},[310],{"type":52,"value":311},"Select advanced patterns only when they solve a named user need: resumption, discovery, early narrowing, non-product intent, or no-result recovery.",{"type":47,"tag":72,"props":313,"children":314},{},[315],{"type":52,"value":316},"Validate suggestion quality before connecting it to the UI.",{"type":47,"tag":72,"props":318,"children":319},{},[320],{"type":52,"value":321},"Implement in layers: mount the base input, validate Query Suggestions, add direct results, add focus\u002Fempty-query behavior, then validate mobile and events.",{"type":47,"tag":72,"props":323,"children":324},{},[325,326,331],{"type":52,"value":226},{"type":47,"tag":88,"props":327,"children":329},{"className":328},[],[330],{"type":52,"value":193},{"type":52,"value":332}," skill and current docs to implement the selected package, plugin, renderer, or InstantSearch integration.",{"type":47,"tag":72,"props":334,"children":335},{},[336],{"type":52,"value":337},"Implement keyboard, mouse, touch, empty, loading, and detached mobile behavior.",{"type":47,"tag":72,"props":339,"children":340},{},[341],{"type":52,"value":342},"Preserve event attribution from suggestion selection to the resulting search or conversion.",{"type":47,"tag":61,"props":344,"children":346},{"id":345},"questions-to-ask",[347],{"type":52,"value":348},"Questions To Ask",{"type":47,"tag":68,"props":350,"children":351},{},[352,357,362,367,372,377,382,387,392,397,402,407],{"type":47,"tag":72,"props":353,"children":354},{},[355],{"type":52,"value":356},"What should appear while typing: queries, products, categories, content, recent searches, or all of these?",{"type":47,"tag":72,"props":358,"children":359},{},[360],{"type":52,"value":361},"Should selecting a suggestion navigate, refine InstantSearch state, open a result, or submit a query?",{"type":47,"tag":72,"props":363,"children":364},{},[365],{"type":52,"value":366},"Is there a query suggestions index, and how is it generated?",{"type":47,"tag":72,"props":368,"children":369},{},[370],{"type":52,"value":371},"Are the suggestions clear, useful, searchable, and free of internal\u002Ftest language?",{"type":47,"tag":72,"props":373,"children":374},{},[375],{"type":52,"value":376},"What should appear before typing: recent searches, popular searches, useful categories, shortcuts, or nothing?",{"type":47,"tag":72,"props":378,"children":379},{},[380],{"type":52,"value":381},"Are recent searches stored locally, server-side, or disabled?",{"type":47,"tag":72,"props":383,"children":384},{},[385],{"type":52,"value":386},"What mobile behavior is expected?",{"type":47,"tag":72,"props":388,"children":389},{},[390],{"type":52,"value":391},"Which selections need click or conversion events?",{"type":47,"tag":72,"props":393,"children":394},{},[395],{"type":52,"value":396},"If a category is shown with a suggestion, does it narrow the subsequent search, route to a category page, or only provide context?",{"type":47,"tag":72,"props":398,"children":399},{},[400],{"type":52,"value":401},"What should a user see and be able to do when a source is empty, slow, or unavailable?",{"type":47,"tag":72,"props":403,"children":404},{},[405],{"type":52,"value":406},"Which user problem justifies each advanced pattern: resuming, discovering, narrowing, reaching non-product content, or recovering from a likely dead end?",{"type":47,"tag":72,"props":408,"children":409},{},[410],{"type":52,"value":411},"With the mobile keyboard open, which few suggestions or direct results must remain visible, and where does “see all results” lead?",{"type":47,"tag":61,"props":413,"children":415},{"id":414},"implementation-standards",[416],{"type":52,"value":417},"Implementation Standards",{"type":47,"tag":68,"props":419,"children":420},{},[421,426,431,436,441,454,459,464,469,474,479,484,489,494],{"type":47,"tag":72,"props":422,"children":423},{},[424],{"type":52,"value":425},"Use Algolia Autocomplete primitives and plugins instead of hand-rolled typeahead state unless the project has a strong reason.",{"type":47,"tag":72,"props":427,"children":428},{},[429],{"type":52,"value":430},"Keep source limits tight and ordered by user value.",{"type":47,"tag":72,"props":432,"children":433},{},[434],{"type":52,"value":435},"Keep Query Suggestions and product\u002Fcontent results visually and behaviorally distinct.",{"type":47,"tag":72,"props":437,"children":438},{},[439],{"type":52,"value":440},"Review the Query Suggestions index before launch. Tune noisy, incomplete, offensive, stale, or internal suggestions before exposing them.",{"type":47,"tag":72,"props":442,"children":443},{},[444,446,452],{"type":52,"value":445},"Use recent searches and ",{"type":47,"tag":88,"props":447,"children":449},{"className":448},[],[450],{"type":52,"value":451},"openOnFocus",{"type":52,"value":453}," style behavior only when the empty-query state helps users resume or discover, not as a promotional dumping ground.",{"type":47,"tag":72,"props":455,"children":456},{},[457],{"type":52,"value":458},"Debounce or stall UI responsibly; do not make the input feel laggy.",{"type":47,"tag":72,"props":460,"children":461},{},[462],{"type":52,"value":463},"Respect accessibility defaults and avoid custom markup that breaks keyboard navigation.",{"type":47,"tag":72,"props":465,"children":466},{},[467],{"type":52,"value":468},"Keep InstantSearch integration explicit: update query\u002Frefinements without creating conflicting state loops.",{"type":47,"tag":72,"props":470,"children":471},{},[472],{"type":52,"value":473},"Use consistent userToken and event metadata when suggestions lead to result interactions.",{"type":47,"tag":72,"props":475,"children":476},{},[477],{"type":52,"value":478},"Use a URL or selection-state contract that works for pointer and keyboard selection; test it with a category-bearing suggestion where relevant.",{"type":47,"tag":72,"props":480,"children":481},{},[482],{"type":52,"value":483},"Keep a source empty-state deliberate: hide a failed\u002Fempty group, show an approved fallback, or show a clear no-suggestions state. Do not leave blank labeled panels.",{"type":47,"tag":72,"props":485,"children":486},{},[487],{"type":52,"value":488},"Start with a small source set and add groups only when they pass the helpful, clear, and focused test; do not let a new source displace the best guidance.",{"type":47,"tag":72,"props":490,"children":491},{},[492],{"type":52,"value":493},"On mobile, preserve a top search input, distinct clear and close actions, tap-friendly rows, visible primary guidance above the keyboard, and a clear path to all results.",{"type":47,"tag":72,"props":495,"children":496},{},[497],{"type":52,"value":498},"Keep category scope sparse and visually distinct. Use it to narrow a genuinely ambiguous query, not as a duplicate list of category labels.",{"type":47,"tag":61,"props":500,"children":502},{"id":501},"anti-patterns",[503],{"type":52,"value":504},"Anti-Patterns",{"type":47,"tag":68,"props":506,"children":507},{},[508,513,518,523,528,533,538,543,548,553,558,563,568],{"type":47,"tag":72,"props":509,"children":510},{},[511],{"type":52,"value":512},"Showing too many source groups or too many hits per group.",{"type":47,"tag":72,"props":514,"children":515},{},[516],{"type":52,"value":517},"Treating autocomplete as a mini search results page instead of a search guidance experience.",{"type":47,"tag":72,"props":519,"children":520},{},[521],{"type":52,"value":522},"Connecting Query Suggestions before reviewing whether suggestions are useful, safe, and likely to return results.",{"type":47,"tag":72,"props":524,"children":525},{},[526],{"type":52,"value":527},"Using the source index name where the Query Suggestions plugin expects the Query Suggestions index name.",{"type":47,"tag":72,"props":529,"children":530},{},[531],{"type":52,"value":532},"Making every suggestion behave differently without clear visual or routing cues.",{"type":47,"tag":72,"props":534,"children":535},{},[536],{"type":52,"value":537},"Creating two competing query states between Autocomplete and InstantSearch.",{"type":47,"tag":72,"props":539,"children":540},{},[541],{"type":52,"value":542},"Breaking keyboard, focus, Escape, Enter, or detached mobile behavior with custom markup.",{"type":47,"tag":72,"props":544,"children":545},{},[546],{"type":52,"value":547},"Sending direct-result events as search-attributed events when the item did not come from an Algolia search response with queryID.",{"type":47,"tag":72,"props":549,"children":550},{},[551],{"type":52,"value":552},"Displaying a category label without defining whether it scopes the result, navigates, or is informational only.",{"type":47,"tag":72,"props":554,"children":555},{},[556],{"type":52,"value":557},"Letting the pointer path and keyboard path produce different query parameters, filters, or destinations.",{"type":47,"tag":72,"props":559,"children":560},{},[561],{"type":52,"value":562},"Adding popular searches, categories, federated content, or product groups because the panel has space rather than because they solve a named user need.",{"type":47,"tag":72,"props":564,"children":565},{},[566],{"type":52,"value":567},"Letting product cards crowd out the query guidance, especially when the mobile keyboard is open.",{"type":47,"tag":72,"props":569,"children":570},{},[571],{"type":52,"value":572},"Combining the clear-input action and the close-overlay action on mobile.",{"type":47,"tag":61,"props":574,"children":576},{"id":575},"completion-checkpoints",[577],{"type":52,"value":578},"Completion Checkpoints",{"type":47,"tag":55,"props":580,"children":581},{},[582],{"type":52,"value":583},"Before calling autocomplete ready, or when handing off a prototype with follow-ups, state whether these checkpoints are satisfied, deferred, or unknown:",{"type":47,"tag":68,"props":585,"children":586},{},[587,592,597,602,607,612,617,622],{"type":47,"tag":72,"props":588,"children":589},{},[590],{"type":52,"value":591},"Source and ordering contract.",{"type":47,"tag":72,"props":593,"children":594},{},[595],{"type":52,"value":596},"Selection behavior for every source.",{"type":47,"tag":72,"props":598,"children":599},{},[600],{"type":52,"value":601},"Referenced data contract or explicit minimal demo data contract for direct-result sources.",{"type":47,"tag":72,"props":603,"children":604},{},[605],{"type":52,"value":606},"Referenced event taxonomy or explicit user-approved event deferral.",{"type":47,"tag":72,"props":608,"children":609},{},[610],{"type":52,"value":611},"Clear distinction between query suggestion submissions and direct-result clicks.",{"type":47,"tag":72,"props":613,"children":614},{},[615],{"type":52,"value":616},"Browser QA for keyboard, pointer, touch, detached mobile mode, empty\u002Floading states, selection behavior, and routing\u002Fsearch-state handoff.",{"type":47,"tag":72,"props":618,"children":619},{},[620],{"type":52,"value":621},"Source contract and fallback behavior for unavailable, empty, or low-quality suggestions.",{"type":47,"tag":72,"props":623,"children":624},{},[625],{"type":52,"value":626},"Quality standard verdict: helpful, clear, focused, device-usable, and accessible, with any failed dimension recorded as a follow-up.",{"type":47,"tag":61,"props":628,"children":630},{"id":629},"academy-and-customer-education-alignment",[631],{"type":52,"value":632},"Academy And Customer Education Alignment",{"type":47,"tag":55,"props":634,"children":635},{},[636],{"type":52,"value":637},"When source-backed guidance is needed, search public Academy sources for autocomplete and search UX learning objectives and public Algolia docs for autocomplete, query suggestions, UI state, mobile behavior, and event attribution. Use source guidance to shape questions, maturity level, use-case bundle, and validation artifacts; do not turn it into a static docs dump.",{"type":47,"tag":61,"props":639,"children":641},{"id":640},"maturity-behavior",[642],{"type":52,"value":643},"Maturity Behavior",{"type":47,"tag":68,"props":645,"children":646},{},[647,652,657,662],{"type":47,"tag":72,"props":648,"children":649},{},[650],{"type":52,"value":651},"Beginner implementation: define sources, ordering, and selection behavior before adding advanced plugins.",{"type":47,"tag":72,"props":653,"children":654},{},[655],{"type":52,"value":656},"Production readiness: build and verify the base input, Query Suggestions, direct results, empty-query behavior, then keyboard, touch, mobile detached mode, routing handoff, accessibility, and event attribution.",{"type":47,"tag":72,"props":658,"children":659},{},[660],{"type":52,"value":661},"Optimization: review suggestion quality, no-result behavior, source ordering, recent\u002Fpopular searches, category scope, federated content, latency, and query suggestion analytics.",{"type":47,"tag":72,"props":663,"children":664},{},[665],{"type":52,"value":666},"AI readiness: preserve selected query\u002Fresult context, userToken, and downstream event attribution for personalization, NeuralSearch evaluation, or AI assistants.",{"type":47,"tag":61,"props":668,"children":670},{"id":669},"output-contract",[671],{"type":52,"value":672},"Output Contract",{"type":47,"tag":55,"props":674,"children":675},{},[676],{"type":52,"value":677},"Return code or review notes plus:",{"type":47,"tag":68,"props":679,"children":680},{},[681,686,691,696,701],{"type":47,"tag":72,"props":682,"children":683},{},[684],{"type":52,"value":685},"Official Skill Usage Note: framework\u002Fpackage choice and official source consulted for implementation details.",{"type":47,"tag":72,"props":687,"children":688},{},[689],{"type":52,"value":690},"Source Contract: order, trigger, source\u002Findex, input value, selection destination, carried scope, fallback, and event treatment for each group.",{"type":47,"tag":72,"props":692,"children":693},{},[694],{"type":52,"value":695},"Customer UI Plan: empty\u002Ffocus behavior, mobile mode, result-page handoff, device-specific content budget, and accessibility notes.",{"type":47,"tag":72,"props":697,"children":698},{},[699],{"type":52,"value":700},"Quality Standard: helpful, clear, focused, device-usable, and accessible verdicts with open issues.",{"type":47,"tag":72,"props":702,"children":703},{},[704],{"type":52,"value":705},"QA checklist for keyboard navigation, selection behavior, mobile detached mode, routing\u002Fsearch-state sync, no suggestions, latency, and events.",{"items":707,"total":874},[708,724,741,754,761,775,788,800,818,829,840,862],{"slug":709,"name":709,"fn":710,"description":711,"org":712,"tags":713,"stars":721,"repoUrl":722,"updatedAt":723},"algolia-docsearch-mcp","search developer documentation with Algolia","Use this skill when the user asks about public developer documentation, SDKs, APIs, libraries, frameworks, setup, configuration, or code examples. Fetch current docs from Algolia DocSearch MCP and cite source URLs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[714,715,718,720],{"name":9,"slug":8,"type":13},{"name":716,"slug":717,"type":13},"Documentation","documentation",{"name":719,"slug":31,"type":13},"MCP",{"name":15,"slug":16,"type":13},4365,"https:\u002F\u002Fgithub.com\u002Falgolia\u002Fdocsearch","2026-08-01T06:06:11.572314",{"slug":725,"name":725,"fn":726,"description":727,"org":728,"tags":729,"stars":23,"repoUrl":24,"updatedAt":740},"algobot-cli","build conversational AI with Algolia","Use for anything AI\u002Fagent\u002Fconversational built on Algolia: algobot CLI, Agent Studio, RAG systems, conversational product discovery, genAI content generation from search results (carousels, descriptions, headers), chatbots or recommendation agents using Algolia as retrieval, config-as-code workflows, multi-environment deploy (dev\u002Fstaging\u002Fprod), memory and personalization, MCP tool integrations, conversation history \u002F GDPR retention, or adding a chat widget alongside InstantSearch. Trigger on: \"algobot\", \"Agent Studio\", \"RAG with Algolia\", \"conversational experience\", \"AI agent\" + Algolia, \"genAI carousel\", \"chat widget\", or building AI features on top of Algolia search. Do NOT use for raw index ops (records, synonyms, settings) — use algolia-cli. Do NOT use for pure frontend search UI (InstantSearch, autocomplete) with no AI\u002Fagent layer.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[730,733,736,739],{"name":731,"slug":732,"type":13},"Agents","agents",{"name":734,"slug":735,"type":13},"Automation","automation",{"name":737,"slug":738,"type":13},"LLM","llm",{"name":15,"slug":16,"type":13},"2026-07-12T08:27:37.649724",{"slug":742,"name":742,"fn":743,"description":744,"org":745,"tags":746,"stars":23,"repoUrl":24,"updatedAt":753},"algolia-agent-studio","build conversational agents with Algolia Agent Studio","Product-specific Algolia Agent Studio implementation, validation, and optimization guidance. Use when planning, building, integrating, or auditing Agent Studio agents, AI-powered conversational experiences, LLM provider setup, Algolia Search tools, client-side tools, MCP tools, memory, prompting, conversations, turn context, caching, analytics, feedback, authentication, approved domains, guardrails, or tool security. Do NOT use for live Agent Studio configuration, dry runs, publish\u002Fdeploy actions, or config-as-code operations; use the official algobot-cli skill instead. Do NOT use for generic non-Algolia RAG or chatbot architecture unless Agent Studio is the target product.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[747,748,751,752],{"name":731,"slug":732,"type":13},{"name":749,"slug":750,"type":13},"AI","ai",{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},"2026-08-01T06:06:28.033767",{"slug":4,"name":4,"fn":5,"description":6,"org":755,"tags":756,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[757,758,759,760],{"name":9,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"name":15,"slug":16,"type":13},{"name":18,"slug":19,"type":13},{"slug":762,"name":762,"fn":763,"description":764,"org":765,"tags":766,"stars":23,"repoUrl":24,"updatedAt":774},"algolia-cli","manage Algolia indices and accounts","Use this skill whenever a user wants to execute operations against Algolia indices or accounts — deleting records, copying\u002Fmigrating indices, backing up data, importing\u002Fexporting records, managing API keys, editing synonyms, configuring rules, changing settings like facets, clearing indices, or automating Algolia in CI\u002FCD pipelines. The key signal is that the user wants to *act on* their Algolia data or configuration (server-side \u002F backend \u002F admin operations), regardless of whether they mention \"CLI\" or \"command line.\" If someone names a specific Algolia index and wants to change, move, query, or manage it, use this skill. Do NOT use for frontend search UI work (InstantSearch, React components, autocomplete widgets), Algolia dashboard GUI questions, or evaluating Algolia vs. other providers.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[767,770,773],{"name":768,"slug":769,"type":13},"CLI","cli",{"name":771,"slug":772,"type":13},"Data Engineering","data-engineering",{"name":15,"slug":16,"type":13},"2026-07-12T08:27:35.085246",{"slug":776,"name":776,"fn":777,"description":778,"org":779,"tags":780,"stars":23,"repoUrl":24,"updatedAt":787},"algolia-crawler","crawl websites into Algolia indices","Use this skill whenever a user wants to crawl one or more web pages or a whole site and turn them into an Algolia index using the Algolia CLI — especially for RAG, AI search, semantic search, or Agent Studio retrieval. Triggers: \"index my website\u002Fdocs with Algolia\", \"set up the Algolia Crawler\", \"crawl this page for RAG\", \"scrape my site into Algolia\", \"build a knowledge base for my AI agent from these URLs\", writing or debugging a crawler recordExtractor, or handling JavaScript-rendered pages that won't index. It guides ingestion end-to-end with `algolia crawler` commands: inspect the page, write a RAG-optimized recordExtractor, validate with `algolia crawler test` BEFORE indexing, apply index settings explicitly, then reindex. Do NOT use for building the chatbot\u002Fagent layer itself (use algobot-cli), raw record\u002Fsynonym\u002Fsettings ops on an existing index (use algolia-cli), frontend search UI (use instantsearch), or read-only search\u002Fanalytics (use algolia-mcp).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[781,782,783,784],{"name":734,"slug":735,"type":13},{"name":771,"slug":772,"type":13},{"name":15,"slug":16,"type":13},{"name":785,"slug":786,"type":13},"Web Scraping","web-scraping","2026-07-12T08:27:40.981109",{"slug":789,"name":789,"fn":790,"description":791,"org":792,"tags":793,"stars":23,"repoUrl":24,"updatedAt":799},"algolia-data-modeling","design Algolia data models and indices","Algolia data modeling and indexing guidance. Use before or alongside indexing records or building Algolia search UI for net-new search, browse, autocomplete, ecommerce, personalization, Dynamic Re-Ranking, recommendations, or analytics-aware implementations. Makes record shape, objectID, display fields, facets, ranking fields, and event attribution explicit decisions. Use for records, variants, SKUs, indices, replicas, searchable and faceting attributes, denormalization, merchandising fields, timestamps, inventory, event attribution, indexing pipelines, partial updates, secured data, multi-language or multi-region strategies, and migrations. Do NOT use for live imports, exports, record mutations, settings changes, or account actions; use algolia-cli or algolia-mcp. Do NOT use for frontend UI implementation; use algolia-instantsearch-ui, algolia-autocomplete, algolia-ui-libraries, or the official instantsearch skill.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[794,795,798],{"name":9,"slug":8,"type":13},{"name":796,"slug":797,"type":13},"Data Modeling","data-modeling",{"name":15,"slug":16,"type":13},"2026-08-01T06:06:01.500756",{"slug":801,"name":801,"fn":802,"description":803,"org":804,"tags":805,"stars":23,"repoUrl":24,"updatedAt":817},"algolia-discovery-planning","plan and audit Algolia search implementations","START HERE for any non-trivial Algolia work — building, adding, migrating, redesigning, auditing, or configuring search, browse, autocomplete, indexing, relevance, recommendations, personalization, merchandising, events, or analytics. Invoke this FIRST even when the task already seems scoped or the user names one specific feature (e.g. \"add InstantSearch\", \"build a storefront search\"): its job is to map the request to the full Algolia implementation lifecycle and load every companion skill each in-scope phase needs (algolia-search-implementation, algolia-data-modeling, algolia-index-configuration, algolia-ui-libraries, algolia-instantsearch-ui, algolia-autocomplete, algolia-events-insights, algolia-neuralsearch, algolia-agent-studio, algolia-release-qa) rather than jumping straight into a single skill. This skill plans and orchestrates; the focused companion skills and the official Algolia skills execute. Do NOT use for live account inspection or write actions; use algolia-mcp or algolia-cli for those.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[806,807,810,813,816],{"name":9,"slug":8,"type":13},{"name":808,"slug":809,"type":13},"Analytics","analytics",{"name":811,"slug":812,"type":13},"Configuration","configuration",{"name":814,"slug":815,"type":13},"Personalization","personalization",{"name":15,"slug":16,"type":13},"2026-08-01T06:06:03.021452",{"slug":819,"name":819,"fn":820,"description":821,"org":822,"tags":823,"stars":23,"repoUrl":24,"updatedAt":828},"algolia-events-insights","instrument Algolia events for analytics","Algolia event instrumentation guidance for Insights, analytics, personalization, Dynamic Re-Ranking, Recommend, and merchandising feedback loops. Use for search, autocomplete, browse, ecommerce, personalization, recommendations, or analytics instrumentation. Makes event decisions explicit before an Algolia UI is considered ready. Use when implementing or auditing clickedObjectIDsAfterSearch, convertedObjectIDsAfterSearch, viewedObjectIDs, addedToCartObjectIDsAfterSearch, purchasedObjectIDsAfterSearch, userToken, queryID, eventName, eventSubtype, or frontend\u002Fbackend event pipelines. Do NOT use for live analytics retrieval, top-query inspection, or account-aware diagnostics; use algolia-mcp. Do NOT use for framework-specific InstantSearch or Autocomplete APIs; use the official instantsearch skill alongside this planning and validation skill.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[824,825,826,827],{"name":9,"slug":8,"type":13},{"name":808,"slug":809,"type":13},{"name":814,"slug":815,"type":13},{"name":15,"slug":16,"type":13},"2026-08-01T06:06:02.009712",{"slug":830,"name":830,"fn":831,"description":832,"org":833,"tags":834,"stars":23,"repoUrl":24,"updatedAt":839},"algolia-index-configuration","configure Algolia index settings and relevance","Algolia index settings and relevance configuration guidance. Use when configuring searchableAttributes, attributesForFaceting, customRanking, ranking, replicas, virtual replicas, rules, synonyms, typo tolerance, distinct, filters, optional filters, merchandising, browse\u002Fcategory relevance, or A\u002FB-testable relevance changes. Do NOT use for live settings writes, backups, copies, or operational account tasks; use algolia-cli or algolia-mcp instead. Do NOT use for record-shape or variant strategy; use algolia-data-modeling instead.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[835,836,837,838],{"name":9,"slug":8,"type":13},{"name":811,"slug":812,"type":13},{"name":796,"slug":797,"type":13},{"name":15,"slug":16,"type":13},"2026-08-01T06:06:34.19163",{"slug":841,"name":841,"fn":842,"description":843,"org":844,"tags":845,"stars":23,"repoUrl":24,"updatedAt":861},"algolia-instantsearch-ui","build Algolia InstantSearch frontend experiences","Build and review Algolia InstantSearch experiences in JavaScript, React, Vue, Angular (via InstantSearch.js; Angular InstantSearch is deprecated), or compatible frontend stacks. Use when planning or reviewing search results pages, browse\u002Fcategory pages, routing, widgets, filters, facets, sort-by, pagination, infinite hits, current refinements, insights middleware, SSR, or UI-state synchronization. For net-new search UI builds, start with algolia-discovery-planning, which loads algolia-search-implementation so data contract and event taxonomy decisions are visible before UI is marked ready. Do NOT use for autocomplete\u002Ftypeahead experiences before the user commits to a results page; use algolia-autocomplete instead. Do NOT use for choosing between Algolia UI libraries; use algolia-ui-libraries. Do NOT use as the source of truth for current framework APIs or code-level implementation details; use the official instantsearch skill and current docs alongside this customer-readiness skill.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[846,847,850,851,854,857,858],{"name":9,"slug":8,"type":13},{"name":848,"slug":849,"type":13},"Angular","angular",{"name":21,"slug":22,"type":13},{"name":852,"slug":853,"type":13},"JavaScript","javascript",{"name":855,"slug":856,"type":13},"React","react",{"name":15,"slug":16,"type":13},{"name":859,"slug":860,"type":13},"Vue","vue","2026-08-01T06:06:33.66513",{"slug":205,"name":205,"fn":863,"description":864,"org":865,"tags":866,"stars":23,"repoUrl":24,"updatedAt":873},"search Algolia indices and retrieve analytics","Search Algolia indices via the Algolia MCP server, retrieve analytics (top searches, no-result rates, click positions, user counts), and get product recommendations (bought-together, related, trending). Triggers on search, indexing, analytics, Algolia, recommendations, MCP.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[867,868,871,872],{"name":808,"slug":809,"type":13},{"name":869,"slug":870,"type":13},"API Development","api-development",{"name":719,"slug":31,"type":13},{"name":15,"slug":16,"type":13},"2026-07-12T08:27:36.376387",19,{"items":876,"total":925},[877,884,891,898,904,911,917],{"slug":725,"name":725,"fn":726,"description":727,"org":878,"tags":879,"stars":23,"repoUrl":24,"updatedAt":740},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[880,881,882,883],{"name":731,"slug":732,"type":13},{"name":734,"slug":735,"type":13},{"name":737,"slug":738,"type":13},{"name":15,"slug":16,"type":13},{"slug":742,"name":742,"fn":743,"description":744,"org":885,"tags":886,"stars":23,"repoUrl":24,"updatedAt":753},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[887,888,889,890],{"name":731,"slug":732,"type":13},{"name":749,"slug":750,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},{"slug":4,"name":4,"fn":5,"description":6,"org":892,"tags":893,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[894,895,896,897],{"name":9,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"name":15,"slug":16,"type":13},{"name":18,"slug":19,"type":13},{"slug":762,"name":762,"fn":763,"description":764,"org":899,"tags":900,"stars":23,"repoUrl":24,"updatedAt":774},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[901,902,903],{"name":768,"slug":769,"type":13},{"name":771,"slug":772,"type":13},{"name":15,"slug":16,"type":13},{"slug":776,"name":776,"fn":777,"description":778,"org":905,"tags":906,"stars":23,"repoUrl":24,"updatedAt":787},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[907,908,909,910],{"name":734,"slug":735,"type":13},{"name":771,"slug":772,"type":13},{"name":15,"slug":16,"type":13},{"name":785,"slug":786,"type":13},{"slug":789,"name":789,"fn":790,"description":791,"org":912,"tags":913,"stars":23,"repoUrl":24,"updatedAt":799},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[914,915,916],{"name":9,"slug":8,"type":13},{"name":796,"slug":797,"type":13},{"name":15,"slug":16,"type":13},{"slug":801,"name":801,"fn":802,"description":803,"org":918,"tags":919,"stars":23,"repoUrl":24,"updatedAt":817},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[920,921,922,923,924],{"name":9,"slug":8,"type":13},{"name":808,"slug":809,"type":13},{"name":811,"slug":812,"type":13},{"name":814,"slug":815,"type":13},{"name":15,"slug":16,"type":13},18]