algolia-core-workflow-a
Implement or review a single-index Algolia search contract with filters, facets, pagination, and highlighting. Use when building product or content search against the JavaScript v5 client. Trigger with "Algolia search workflow", "add facets", or "searchSingleIndex".
Allowed Tools
Provided by Plugin
algolia-pack
Algolia search integration pack with 24 operator skills
Installation
This skill is included in the algolia-pack plugin:
/plugin install algolia-pack@claude-code-plugins-plus
Click to copy
Instructions
Algolia Search Contract
Overview
This skill defines the read path between application input and Algolia search results. It keeps query construction, allowed filters, pagination, and result projection explicit so UI behavior can be tested independently.
Prerequisites
- A named repository, environment, and Algolia application or index in scope
- The local lockfile and installed client types as implementation authority
- A safe read-only query or explicitly disposable test target
- Current first-party documentation for any provider behavior that affects the change
Tool Discipline
Use Read, Glob, and Grep to inspect local code, configuration names, tests, and dependency versions. Use WebFetch only for current official Algolia documentation. Use Write or Edit only after identifying the target files, constraints, and verification plan.
Current Contract
- Use
searchSingleIndexfor one index and passindexNameplussearchParamson the v5 client. - Treat filters and facet filters as structured application inputs; do not concatenate untrusted syntax.
- Request only attributes the interface needs and preserve
objectIDas the stable result identity. - Enable click analytics only when the product also implements the query ID and event contract.
Authentication
Browser search should use the search-only key or a backend-generated secured key. Write-capable credentials remain server-side.
Instructions
- Inspect the installed client version, index settings, record schema, and current UI query state.
- Define a typed search input with bounded query length, page, hits per page, filters, and facets.
- Translate application filters through an allowlist rather than accepting raw filter strings.
- Call the v5 search boundary and map hits into the application result type.
- Test empty query, no results, special characters, pagination edges, and unavailable facets.
- Verify returned attributes do not disclose fields the interface should not expose.
Approval Boundaries
Do not change index settings, enable analytics, or expose additional attributes as part of a read-path implementation without explicit review.
Output
Return the typed input/output contract, query builder, relevant tests, credential boundary, observed response metadata, and any required index-setting change.
Error Handling
| Condition | Response |
|---|---|
| Invalid filter syntax | Reject or normalize at the application boundary. |
| Facet missing | Confirm the attribute is configured before changing the UI. |
| Unexpected fields returned | Tighten retrieval and index visibility settings. |
| No query ID | Enable click analytics only with an approved event design. |
Examples
Use this compact input and expected handoff to calibrate scope and evidence quality.
Input:
query=boots; facets=brand,size; page=0; credential=search-only
Expected handoff:
hits=24; exposed-fields=objectID,name,price; raw-filter-input=blocked