MCPInstall

recommend

by toss

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.

Installs
703
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/toss/es-toolkit --skill recommend
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads recommend automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Function Recommendation

Recommend the most suitable es-toolkit function for the user's needs, grounded in source code and official documentation.

Input

$ARGUMENTS — A description of what the user needs, or a code snippet to analyze.

Why grounding matters

es-toolkit evolves faster than any training data can track. Always verify function existence, entry point, and behavior from the version installed in the user's project. The skill may be installed as a standalone directory, so never assume the es-toolkit repository or a sibling docs directory is available.

Workflow

1. Understand the requirement

Parse $ARGUMENTS to identify:

  • What operation the user wants to perform
  • What data types are involved (array, object, string, etc.)
  • Whether they might need lodash migration help (if so, suggest /es-toolkit:migrate)

2. Find candidates in the installed package

Run from the package that depends on es-toolkit. In a monorepo this is usually a workspace package, not the repository root. If the project uses Yarn Plug'n'Play, use yarn node instead of node.

Search runtime entry points with this command, replacing merge|assign with terms relevant to the request:

node --input-type=module -e "
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const pattern = /merge|assign/i;
const pkg = require('es-toolkit/package.json');
const entries = Object.keys(pkg.exports)
  .filter(subpath => subpath !== './package.json' && !subpath.includes('*'))
  .map(subpath => subpath === '.' ? 'es-toolkit' : 'es-toolkit/' + subpath.slice(2));
const modules = await Promise.all(entries.map(entry => import(entry).catch(() => null)));
if (modules.every(module => module == null)) {
  console.error('es-toolkit is not resolvable from ' + process.cwd());
  process.exit(1);
}
const matches = new Map();
for (let index = 0; index < modules.length; index++) {
  const module = modules[index];
  if (module == null) continue;
  for (const name of Object.keys(module)) {
    if (!pattern.test(name)) continue;
    matches.set(name, [...(matches.get(name) ?? []), entries[index]]);
  }
}
for (const [name, entryPoints] of [...matches].sort()) {
  console.log(name.padEnd(24), entryPoints.join(', '));
}
"

The output is authoritative for the installed version. A function can exist in more than one entry point, so consider all matches. es-toolkit/types is type-only and cannot be imported at runtime; inspect its declaration file instead.

If es-toolkit is not resolvable, say that the installed version cannot be verified. Do not invent a function name.

When the current project is the es-toolkit source repository itself, search src/ and its specs directly instead of requiring a built package.

3. Read the real declaration

Resolve the installed package metadata:

node -e "console.log(require.resolve('es-toolkit/package.json'))"

Read the corresponding declaration under the package's dist/ directory for the exact signature, JSDoc, and examples. Do not assume a conventional node_modules path; use the resolved path. Check the implementation when it is available, especially for mutation and error behavior.

4. Construct the official doc URL

es-toolkit's documentation URLs follow a predictable pattern — construct them directly instead of fetching:

  • strict: https://es-toolkit.dev/reference/{category}/{functionName}.html
  • compat: https://es-toolkit.dev/compat/reference/{category}/{functionName}.html
  • fp: https://es-toolkit.dev/fp/reference/{functionName}.html

If you are unsure that a page exists, omit the page link rather than guessing.

5. Respond with this structure

For each recommended function, include:

  • Function name and category
  • Import path: import { fn } from 'es-toolkit';
  • Doc link: https://es-toolkit.dev/reference/{category}/{fn}
  • What it does (from JSDoc in source)
  • A code example (from spec file or official docs)
  • Why it fits the user's need

When recommending multiple functions, always include a comparison table:

FunctionInput typeBehaviorPerformanceReturn 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.

FAQ

What does the recommend skill do?

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.

How do I install recommend?

Run npx skills add https://github.com/toss/es-toolkit --skill recommend in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/recommend/ (personal) or .claude/skills/recommend/ (project).

Which AI agents can use recommend?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is recommend safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains recommend?

It is published by toss in toss/es-toolkit. It has 703 recorded installs.

More from toss/es-toolkit

View all →

guide

toss/es-toolkit

es-toolkit usage guide covering installation, import patterns, and setup for Node.js, Bun, Deno, and browsers. Use when the user asks how to install, import, or set up es-toolkit in their project.

Backend & APIs520 installs

migrate

toss/es-toolkit

Open the skill to read its SKILL.md instructions.

314 installs

compat-review

toss/es-toolkit

Open the skill to read its SKILL.md instructions.

pr-review

toss/es-toolkit

Open the skill to read its SKILL.md instructions.

release

toss/es-toolkit

Open the skill to read its SKILL.md instructions.

188 installs

issue-review

toss/es-toolkit

Open the skill to read its SKILL.md instructions.

Popular other skills

View category →

hyperframes-cli

heygen-com/hyperframes

The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.

1.3M installs

triage

mattpocock/skills

Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs