From algolia-quickstart
Manage Algolia indices, records, API keys, settings, rules, synonyms, and CI/CD automation from the terminal. For write/admin operations — not search queries or analytics.
How this skill is triggered — by the user, by Claude, or both
Slash command
/algolia-quickstart:algolia-cliThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manage Algolia search infrastructure from the terminal using the `algolia` CLI.
Manage Algolia search infrastructure from the terminal using the algolia CLI.
| Need | Use |
|---|---|
| Write/modify data (import, delete, update records) | algolia-cli (this skill) |
| Manage configuration (settings, rules, synonyms) | algolia-cli (this skill) |
| Auth (login, logout, signup via OAuth) | algolia-cli (this skill) |
| Admin operations (API keys, profiles, index copy/move) | algolia-cli (this skill) |
| Backup/restore indices | algolia-cli (this skill) |
| Search queries and view results | algolia-mcp |
| Analytics (top searches, click rates, no-results) | algolia-mcp |
| Recommendations (related products, trending) | algolia-mcp |
Rule of thumb: If the user wants to read or analyze data → algolia-mcp. If they want to change, move, or manage data → algolia-cli.
Run /algolia-cli:cli-setup to install the CLI and configure a profile, or follow Getting Started.
Tip: algolia auth login is the easiest way to set up credentials — it handles OAuth sign-in and profile creation in one step. Use algolia profile add for non-interactive / CI setups where you already have an API key.
| Task | Command |
|---|---|
| Sign in (opens browser) | algolia auth login |
| Sign in (select app by name) | algolia auth login --app-name "My App" --default |
| Sign in (no browser / SSH) | algolia auth login --no-browser |
| Sign out | algolia auth logout |
| Create new account | algolia auth signup |
| Task | Command |
|---|---|
| Add profile (non-interactive) | algolia profile add --name "default" --app-id "<ID>" --api-key "<KEY>" --default |
| List profiles | algolia profile list |
| Remove a profile | algolia profile remove "<name>" -y |
| Set default profile | algolia profile setdefault "<name>" |
| Task | Command |
|---|---|
| List applications | algolia application list |
| Create application | algolia application create --name "My App" --region CA |
| Create (non-interactive, dry-run) | algolia application create --name "My App" --region CA --dry-run |
| Switch active application | algolia application select --app-name "My App" |
| Task | Command |
|---|---|
| List API keys | algolia apikeys list |
| Create API key | algolia apikeys create --acl search,browse --description "..." --indices "idx1,idx2" |
| Get API key | algolia apikeys get <key> |
| Delete API key | algolia apikeys delete <key> -y |
| Task | Command |
|---|---|
| Search an index | algolia search <index> --query "<query>" |
| Search with filters | algolia search <index> --query "<query>" --filters "<filter>" |
| Paginated search | algolia search <index> --query "<query>" --hitsPerPage 10 --page 2 |
| Task | Command |
|---|---|
| List all indices | algolia indices list |
| Delete an index | algolia indices delete <index> -y |
| Clear records (keep settings) | algolia indices clear <index> -y |
| Copy index | algolia indices copy <src> <dst> -y |
| Copy only settings | algolia indices copy <src> <dst> --scope settings -y |
| Move/rename index | algolia indices move <src> <dst> -y |
| Task | Command |
|---|---|
| Browse all records | algolia objects browse <index> |
| Browse specific attributes | algolia objects browse <index> --attributesToRetrieve title,price |
| Import records from file | algolia objects import <index> -F data.ndjson |
| Import from stdin | cat data.ndjson | algolia objects import <index> -F - |
| Delete by IDs | algolia objects delete <index> --object-ids id1,id2 -y |
| Delete by filter | algolia objects delete <index> --filters "type:obsolete" -y |
| Partial update | algolia objects update <index> -F updates.ndjson |
| Task | Command |
|---|---|
| Get settings | algolia settings get <index> |
| Set a setting | algolia settings set <index> --typoTolerance="false" |
| Import settings from file | algolia settings import <index> -F settings.json |
| Import and forward to replicas | algolia settings import <index> -F settings.json -f |
| Task | Command |
|---|---|
| Browse all rules | algolia rules browse <index> |
| Import rules | algolia rules import <index> -F rules.ndjson -y |
| Replace all rules | algolia rules import <index> -F rules.ndjson -c -y |
| Delete rules by ID | algolia rules delete <index> --rule-ids id1,id2 -y |
| Task | Command |
|---|---|
| Browse all synonyms | algolia synonyms browse <index> |
| Import synonyms | algolia synonyms import <index> -F synonyms.ndjson |
| Replace all synonyms | algolia synonyms import <index> -F synonyms.ndjson -r |
| Delete synonyms by ID | algolia synonyms delete <index> --synonym-ids id1,id2 -y |
| Save a single synonym | algolia synonyms save <index> --id my-syn --synonyms foo,bar |
| Task | Command |
|---|---|
| List crawlers | algolia crawler list |
| List by app | algolia crawler list --app-id <app-id> |
| Get crawler details | algolia crawler get <id> |
| Get config only | algolia crawler get <id> --config-only |
| Create crawler | algolia crawler create <name> -F config.json |
| Start/resume crawler | algolia crawler run <id> |
| Pause crawler(s) | algolia crawler pause <id> [<id2> ...] |
| Reindex crawler(s) | algolia crawler reindex <id> [<id2> ...] |
| Unblock crawler | algolia crawler unblock <id> -y |
| Crawl specific URLs | algolia crawler crawl <id> --urls url1,url2 |
| Test URL against crawler | algolia crawler test <id> --url <url> |
| Test with config override | algolia crawler test <id> --url <url> -F config.json |
| Get crawl statistics | algolia crawler stats <id> |
Most crawler commands support --dry-run to preview the request without sending it: create, run, pause, reindex, unblock, test.
Auth: Crawler commands require ALGOLIA_CRAWLER_USER_ID and ALGOLIA_CRAWLER_API_KEY env vars, or crawler_user_id/crawler_api_key in the profile config file.
Choosing the right synonym type matters for search quality:
synonym (regular/two-way): All terms are interchangeable. Use when the words truly mean the same thing in both directions.
Example: "sneakers" ↔ "trainers" — searching either should find the other.oneWaySynonym: Only the input term expands to include the synonyms, not the reverse. Use when a short/abbreviated term should match longer/specific terms, but not vice versa.
Example: "TV" → "television", "flat screen" — searching "TV" finds "television" results, but searching "television" does NOT return "TV" results.Rule of thumb: If the user says "searching X should also match Y", that's one-way (input: X, synonyms: [Y]). If they say "X and Y should be equivalent/interchangeable", that's two-way.
| Task | Command |
|---|---|
| Describe root command tree | algolia describe |
| Describe a command | algolia describe search |
| Describe a subcommand | algolia describe objects browse |
-y (or --confirm) to skip confirmation prompts. This includes objects delete, indices delete/clear/copy/move, rules import/delete, synonyms delete, and apikeys delete. Without -y, the CLI will hang waiting for user input. Note: objects import, objects update, and synonyms import do not have a -y flag — they run non-interactively by default.objects browse, objects import, rules browse/import, and synonyms browse/import use newline-delimited JSON (one JSON object per line), not JSON arrays.-p <profile> to target a non-default profile. Omit it to use the default.--application-id, --api-key) > profile config file > default profile. Supported env vars: ALGOLIA_APPLICATION_ID, ALGOLIA_API_KEY, ALGOLIA_ADMIN_API_KEY, ALGOLIA_SEARCH_HOSTS, ALGOLIA_CRAWLER_USER_ID, ALGOLIA_CRAWLER_API_KEY. If env vars are set, --profile/-p is ignored for those credentials.-w (or --wait) when subsequent commands depend on the operation completing (e.g., import then search).algolia objects browse SRC | algolia objects import DST -F ---output json (or -o json) when you need machine-readable output.algolia objects browse SOURCE --attributesToRetrieve objectID,title,price \
| algolia objects import DEST -F - -w
algolia objects browse MY_INDEX > my_index_records.ndjson
algolia settings get MY_INDEX > my_index_settings.json
algolia rules browse MY_INDEX > my_index_rules.ndjson
algolia synonyms browse MY_INDEX > my_index_synonyms.ndjson
Note: settings use .json (standard JSON), everything else uses .ndjson (newline-delimited JSON).
algolia objects import MY_INDEX -F my_index_records.ndjson -w
algolia settings import MY_INDEX -F my_index_settings.json -w
algolia rules import MY_INDEX -F my_index_rules.ndjson -c -y -w
algolia synonyms import MY_INDEX -F my_index_synonyms.ndjson -r -w
If the skill doesn't trigger automatically, users can invoke it directly:
/algolia-cli — Load the full skill into context for any Algolia CLI task/algolia-cli:cli-setup — Install the CLI and configure a profileThis is useful when the request is brief (e.g., "import my data into Algolia") and the skill might not auto-trigger.
npx claudepluginhub algolia/skills --plugin algolia-quickstartGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
Dispatches multiple subagents concurrently for independent tasks without shared state. Use when facing 2+ unrelated failures or subsystems that can be investigated in parallel.