用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/toss/es-toolkit --skill compat-review命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | compat-review |
| description | Verify compat PR claims by running lodash vs es-toolkit/compat at runtime |
| argument-hint | <PR number or function name> |
| allowed-tools | Bash, Read, Write, Grep, Glob |
Verify that a compat PR actually fixes a real lodash inconsistency.
$ARGUMENTS — PR number (e.g. 1234) or function name (e.g. chunk)
PR number:
gh pr view {number} --repo toss/es-toolkit --json title,body,files
From the PR description and diff, extract:
Function name: Read the function source and its spec to understand current behavior.
Create a temporary vitest spec at src/compat/{category}/_compat-review-{fn}.spec.ts.
import { describe, expect, it } from 'vitest';
import { fn as compatFn } from 'es-toolkit/compat';
import { fn as lodashFn } from 'lodash';
Include two groups of test cases:
A. Contributor's claimed examples — Extract directly from the PR description or test diff. These are the cases the PR claims to fix.
B. ~10 additional edge cases you generate — Based on the function's signature and lodash's known behavior patterns:
[], {}, '', 0null, undefined-1, 0, 1.5, NaN, Infinity'3'), boolean, mixed typesEach test:
it('description', () => {
let lodashResult, compatResult;
let lodashErr: any, compatErr: any;
try {
lodashResult = lodashFn(args);
} catch (e) {
lodashErr = e;
}
try {
compatResult = compatFn(args);
} catch (e) {
compatErr = e;
}
if (lodashErr && compatErr) return; // both throw = consistent
if (lodashErr || compatErr) {
throw new Error(`Behavior mismatch: ${lodashErr ? 'lodash throws' : 'compat throws'}`);
}
expect(compatResult).toEqual(lodashResult);
});
yarn vitest run src/compat/{category}/_compat-review-{fn}.spec.ts
Record which tests fail — these are real inconsistencies that exist on main.
gh pr diff {number} --repo toss/es-toolkit | git apply
Run the same test again. Confirm that:
Revert after testing:
git checkout -- .
Delete _compat-review-*.spec.ts.
## {fn} — Compat Review
### PR Claim
{What the contributor says they're fixing}
### Verification (BEFORE fix)
| # | Input | lodash | compat | Match? | Source |
|---|-------|--------|--------|--------|--------|
| 1 | ... | ... | ... | MISMATCH | PR example |
| 2 | ... | ... | ... | MATCH | Edge case |
### Verification (AFTER fix)
| # | Input | lodash | compat | Match? | Source |
|---|-------|--------|--------|--------|--------|
### Verdict
- [ ] PR claim is valid (inconsistency confirmed on main)
- [ ] Fix resolves the claimed inconsistency
- [ ] No regressions in edge cases
- [ ] Existing tests still pass