Install
$ agentstack add skill-algolia-skills-algolia-cli ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Algolia CLI
Manage Algolia search infrastructure from the terminal using the algolia CLI.
When to Use This Skill vs. algolia-mcp
| 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.
Setup
Run /algolia-cli:cli-setup to install the CLI and configure a profile, or follow [Getting Started](references/getting-started.md).
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.
Command Quick Reference
Auth
| 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 |
Profile
| Task | Command | |-------------------------------|------------------------------------------------------------------------------------| | Add profile (non-interactive) | algolia profile add --name "default" --app-id "" --api-key "" --default | | List profiles | algolia profile list | | Remove a profile | algolia profile remove "" -y | | Set default profile | algolia profile setdefault "" |
Application
| 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" |
API Keys
| 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 | | Delete API key | algolia apikeys delete -y |
Search
| Task | Command | |---------------------|----------------------------------------------------------------------| | Search an index | algolia search --query "" | | Search with filters | algolia search --query "" --filters "" | | Paginated search | algolia search --query "" --hitsPerPage 10 --page 2 |
Indices
| Task | Command | |-------------------------------|--------------------------------------------------------| | List all indices | algolia indices list | | Delete an index | algolia indices delete -y | | Clear records (keep settings) | algolia indices clear -y | | Copy index | algolia indices copy -y | | Copy only settings | algolia indices copy --scope settings -y | | Move/rename index | algolia indices move -y |
Objects (Records)
| Task | Command | |----------------------------|---------------------------------------------------------------------| | Browse all records | algolia objects browse | | Browse specific attributes | algolia objects browse --attributesToRetrieve title,price | | Import records from file | algolia objects import -F data.ndjson | | Import from stdin | cat data.ndjson \| algolia objects import -F - | | Delete by IDs | algolia objects delete --object-ids id1,id2 -y | | Delete by filter | algolia objects delete --filters "type:obsolete" -y | | Partial update | algolia objects update -F updates.ndjson |
Settings
| Task | Command | |--------------------------------|--------------------------------------------------------| | Get settings | algolia settings get | | Set a setting | algolia settings set --typoTolerance="false" | | Import settings from file | algolia settings import -F settings.json | | Import and forward to replicas | algolia settings import -F settings.json -f |
Rules
| Task | Command | |--------------------|------------------------------------------------------| | Browse all rules | algolia rules browse | | Import rules | algolia rules import -F rules.ndjson -y | | Replace all rules | algolia rules import -F rules.ndjson -c -y | | Delete rules by ID | algolia rules delete --rule-ids id1,id2 -y |
Synonyms
| Task | Command | |-----------------------|----------------------------------------------------------------| | Browse all synonyms | algolia synonyms browse | | Import synonyms | algolia synonyms import -F synonyms.ndjson | | Replace all synonyms | algolia synonyms import -F synonyms.ndjson -r | | Delete synonyms by ID | algolia synonyms delete --synonym-ids id1,id2 -y | | Save a single synonym | algolia synonyms save --id my-syn --synonyms foo,bar |
Crawler
| Task | Command | |-------------------------------|-------------------------------------------------------------------------| | List crawlers | algolia crawler list | | List by app | algolia crawler list --app-id | | Get crawler details | algolia crawler get | | Get config only | algolia crawler get --config-only | | Create crawler | algolia crawler create -F config.json | | Start/resume crawler | algolia crawler run | | Pause crawler(s) | algolia crawler pause [ ...] | | Reindex crawler(s) | algolia crawler reindex [ ...] | | Unblock crawler | algolia crawler unblock -y | | Crawl specific URLs | algolia crawler crawl --urls url1,url2 | | Test URL against crawler | algolia crawler test --url | | Test with config override | algolia crawler test --url -F config.json | | Get crawl statistics | algolia crawler stats |
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.
Synonym Type Guide
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 theinputterm expands to include thesynonyms, 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.
Describe
| Task | Command | |----------------------------|----------------------------------| | Describe root command tree | algolia describe | | Describe a command | algolia describe search | | Describe a subcommand | algolia describe objects browse |
Key Conventions
- Always use non-interactive mode. Destructive commands need
-y(or--confirm) to skip confirmation prompts. This includesobjects delete,indices delete/clear/copy/move,rules import/delete,synonyms delete, andapikeys delete. Without-y, the CLI will hang waiting for user input. Note:objects import,objects update, andsynonyms importdo not have a-yflag — they run non-interactively by default. - ndjson format.
objects browse,objects import,rules browse/import, andsynonyms browse/importuse newline-delimited JSON (one JSON object per line), not JSON arrays. - Profile flag. Use
-pto target a non-default profile. Omit it to use the default. - Credential precedence. Environment variables override all other configuration. The resolution order is: env vars > CLI flags (
--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/-pis ignored for those credentials. - Wait flag. Use
-w(or--wait) when subsequent commands depend on the operation completing (e.g., import then search). - Pipe between commands. Copy data across indices:
algolia objects browse SRC | algolia objects import DST -F - - JSON output. Use
--output json(or-o json) when you need machine-readable output.
Common Workflows
Migrate records between indices (with field filtering)
algolia objects browse SOURCE --attributesToRetrieve objectID,title,price \
| algolia objects import DEST -F - -w
Full index backup
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).
Restore from backup
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
Direct Invocation
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 profile
This is useful when the request is brief (e.g., "import my data into Algolia") and the skill might not auto-trigger.
Reference Docs
- [Getting Started](references/getting-started.md) — Installation and profile setup
- [Command Reference](references/commands.md) — Full syntax, flags, and examples for every command
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: algolia
- Source: algolia/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.