Analyze code or requirements and recommend the best es-toolkit functions. Use when the user asks which es-toolkit function to use, needs help finding a utility, or wants alternatives to manual implementations.
Recommend the most suitable es-toolkit function for the user's needs, grounded in source code and official documentation.
$ARGUMENTS — A description of what the user needs, or a code snippet to analyze.
es-toolkit evolves faster than any training data can track. Always verify function existence and behavior from the actual source code in this repository, rather than relying on memorized knowledge. This prevents recommending functions that don't exist or have changed signatures.
Parse $ARGUMENTS to identify:
/es-toolkit:migrate)This is the fastest and most accurate way to find functions. Search across es-toolkit's categories:
# Search in src/ for matching function names or descriptions
Grep for keywords in src/{category}/*.ts
List subdirectories under src/ (excluding _internal and compat) to discover the current categories dynamically. You can also browse docs/reference/ to discover the full function index — each subdirectory is a category, and each .md file is a function.
Read the implementation file to get the exact signature, and the spec file for real usage examples.
es-toolkit's documentation URLs follow a predictable pattern — construct them directly instead of fetching:
https://es-toolkit.dev/reference/{category}/{functionName}If you can't find a matching function locally or want to discover functions you might be missing:
Glob docs/reference/{category}/*.md to list all functions in a categoryGrep for the keyword across docs/reference/**/*.mdFor each recommended function, include:
import { fn } from 'es-toolkit';https://es-toolkit.dev/reference/{category}/{fn}When recommending multiple functions, always include a comparison table:
| Function | Input type | Behavior | Performance | Return type |
|---|---|---|---|---|
| (each candidate) | ... | ... | ... | ... |
Add a "When to choose which" section with clear decision criteria — e.g., "Use groupBy for categorizing, countBy for tallying, keyBy for lookup maps."
If no match exists, say so clearly and suggest modern JS alternatives. For lodash-compatible replacements, point users to the /es-toolkit:migrate skill.