{"owner":"you-dont-need","repo":"You-Dont-Need-Lodash-Underscore","hasSkills":true,"totalSkillsCount":1,"totalTokensCount":2051,"categories":["anthropic-skill"],"hasMcp":false,"mcpConfig":null,"found":["lib/rules/rules.json"],"skills":{"lib/rules/rules.json":"{\n    \"concat\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.concat()\"\n    },\n    \"drop\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"dropRight\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"indexOf\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.indexOf()\"\n    },\n    \"join\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.join()\"\n    },\n    \"last\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(-1) or Array.prototype.slice()\",\n        \"ES13\": true\n    },\n    \"lastIndexOf\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.lastIndexOf()\"\n    },\n    \"reverse\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.reverse()\"\n    },\n    \"fill\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.fill()\",\n        \"ES6\": true\n    },\n    \"find\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.find()\",\n        \"ES6\": true\n    },\n    \"detect\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.find()\",\n        \"ES6\": true\n    },\n    \"first\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(0) or Array.prototype.slice()\",\n        \"ES13\": true\n    },\n    \"findIndex\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.findIndex()\",\n        \"ES6\": true\n    },\n    \"isArray\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.isArray()\"\n    },\n    \"each\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.forEach() or Object.entries().forEach()\"\n    },\n    \"forEach\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.forEach() or Object.entries().forEach()\"\n    },\n    \"every\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.every()\"\n    },\n    \"all\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.every()\"\n    },\n    \"filter\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.filter()\"\n    },\n    \"select\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.filter()\"\n    },\n    \"map\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.map()\"\n    },\n    \"collect\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.map()\"\n    },\n    \"reduce\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"inject\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"foldl\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"reduceRight\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduceRight()\"\n    },\n    \"foldr\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduceRight()\"\n    },\n    \"size\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.length\"\n    },\n    \"some\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.some()\"\n    },\n    \"any\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.some()\"\n    },\n    \"includes\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.includes()\",\n        \"ES6\": true\n    },\n    \"contains\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.includes()\",\n        \"ES6\": true\n    },\n    \"slice\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"takeRight\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"bind\": {\n        \"ruleName\": \"bind\",\n        \"compatible\": true,\n        \"alternative\": \"Function.prototype.bind()\"\n    },\n    \"isFinite\": {\n        \"compatible\": true,\n        \"alternative\": \"Number.isFinite()\"\n    },\n    \"isInteger\": {\n        \"ruleName\": \"is-integer\",\n        \"compatible\": true,\n        \"alternative\": \"Number.isInteger()\",\n        \"ES6\": true\n    },\n    \"isNaN\": {\n        \"ruleName\": \"is-nan\",\n        \"compatible\": true,\n        \"alternative\": \"Number.isNaN()\",\n        \"ES6\": true\n    },\n    \"isNil\": {\n        \"ruleName\": \"is-nil\",\n        \"compatible\": true,\n        \"alternative\": \"value === null || value === undefined\"\n    },\n    \"isNull\": {\n        \"ruleName\": \"is-null\",\n        \"compatible\": true,\n        \"alternative\": \"value === null\"\n    },\n    \"isUndefined\": {\n        \"ruleName\": \"is-undefined\",\n        \"compatible\": true,\n        \"alternative\": \"value === undefined\"\n    },\n    \"keys\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.keys()\"\n    },\n    \"extendOwn\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign()\",\n        \"ES6\": true\n    },\n    \"assign\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign()\",\n        \"ES6\": true\n    },\n    \"values\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.values()\",\n        \"ES6\": true\n    },\n    \"entries\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"toPairs\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"pairs\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"get\": {\n        \"compatible\": false,\n        \"alternative\": \"optional chaining to get nested values and nullish coalescing operator for fallback values\",\n        \"ES11\": true\n    },\n    \"split\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.split()\"\n    },\n    \"startsWith\": {\n        \"ruleName\": \"starts-with\",\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.startsWith()\"\n    },\n    \"endsWith\": {\n        \"ruleName\": \"ends-with\",\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.endsWith()\"\n    },\n    \"toLower\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toLowerCase()\"\n    },\n    \"toUpper\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toUpperCase()\"\n    },\n    \"trim\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.trim()\"\n    },\n    \"padStart\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.padStart()\",\n        \"ES6\": true\n    },\n    \"padEnd\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.padEnd()\",\n        \"ES6\": true\n    },\n    \"repeat\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.repeat()\",\n        \"ES6\": true\n    },\n    \"uniq\": {\n        \"compatible\": true,\n        \"alternative\": \"[... new Set(arr)]\",\n        \"ES6\": true\n    },\n    \"replace\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.replace()\"\n    },\n    \"omit\": {\n        \"compatible\": true,\n        \"alternative\": \"{a, b, c, ...notOmittedValues}\",\n        \"ES6\": true\n    },\n    \"flatten\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.reduce((a,b) => a.concat(b), [])\"\n    },\n    \"throttle\": {\n        \"compatible\": true,\n        \"alternative\": \"Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_throttle\"\n    },\n    \"isString\": {\n        \"compatible\": true,\n        \"alternative\": \"str != null && typeof str.valueOf() === \\\"string\\\"\"\n    },\n    \"castArray\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.isArray(arr) ? arr : [arr]\"\n    },\n    \"cloneDeep\": {\n        \"compatible\": true,\n        \"alternative\": \"structuredClone()\"\n    },\n    \"isFunction\": {\n        \"compatible\": true,\n        \"alternative\": \"typeof func === \\\"function\\\"\"\n    },\n    \"unionBy\": {\n        \"compatible\": false,\n        \"alternative\": \"Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_unionBy\",\n        \"ES10\": true\n    },\n    \"capitalize\": {\n        \"compatible\": true,\n        \"alternative\": \"string.charAt(0).toUpperCase() + string.slice(1).toLowerCase()\"\n    },\n    \"isDate\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toString.call()\"\n    },\n    \"defaults\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign({}, defaultValues, newValues)\",\n        \"ES6\": true\n    },\n    \"isArrayBuffer\": {\n        \"compatible\": false,\n        \"alternative\": \"value instanceof ArrayBuffer\"\n    },\n    \"head\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(0)\",\n        \"ES13\": true\n    }\n}\n"},"files":{"lib/rules/rules.json":"{\n    \"concat\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.concat()\"\n    },\n    \"drop\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"dropRight\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"indexOf\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.indexOf()\"\n    },\n    \"join\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.join()\"\n    },\n    \"last\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(-1) or Array.prototype.slice()\",\n        \"ES13\": true\n    },\n    \"lastIndexOf\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.lastIndexOf()\"\n    },\n    \"reverse\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.reverse()\"\n    },\n    \"fill\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.fill()\",\n        \"ES6\": true\n    },\n    \"find\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.find()\",\n        \"ES6\": true\n    },\n    \"detect\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.find()\",\n        \"ES6\": true\n    },\n    \"first\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(0) or Array.prototype.slice()\",\n        \"ES13\": true\n    },\n    \"findIndex\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.findIndex()\",\n        \"ES6\": true\n    },\n    \"isArray\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.isArray()\"\n    },\n    \"each\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.forEach() or Object.entries().forEach()\"\n    },\n    \"forEach\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.forEach() or Object.entries().forEach()\"\n    },\n    \"every\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.every()\"\n    },\n    \"all\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.every()\"\n    },\n    \"filter\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.filter()\"\n    },\n    \"select\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.filter()\"\n    },\n    \"map\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.map()\"\n    },\n    \"collect\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.map()\"\n    },\n    \"reduce\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"inject\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"foldl\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"reduceRight\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduceRight()\"\n    },\n    \"foldr\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduceRight()\"\n    },\n    \"size\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.length\"\n    },\n    \"some\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.some()\"\n    },\n    \"any\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.some()\"\n    },\n    \"includes\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.includes()\",\n        \"ES6\": true\n    },\n    \"contains\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.includes()\",\n        \"ES6\": true\n    },\n    \"slice\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"takeRight\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"bind\": {\n        \"ruleName\": \"bind\",\n        \"compatible\": true,\n        \"alternative\": \"Function.prototype.bind()\"\n    },\n    \"isFinite\": {\n        \"compatible\": true,\n        \"alternative\": \"Number.isFinite()\"\n    },\n    \"isInteger\": {\n        \"ruleName\": \"is-integer\",\n        \"compatible\": true,\n        \"alternative\": \"Number.isInteger()\",\n        \"ES6\": true\n    },\n    \"isNaN\": {\n        \"ruleName\": \"is-nan\",\n        \"compatible\": true,\n        \"alternative\": \"Number.isNaN()\",\n        \"ES6\": true\n    },\n    \"isNil\": {\n        \"ruleName\": \"is-nil\",\n        \"compatible\": true,\n        \"alternative\": \"value === null || value === undefined\"\n    },\n    \"isNull\": {\n        \"ruleName\": \"is-null\",\n        \"compatible\": true,\n        \"alternative\": \"value === null\"\n    },\n    \"isUndefined\": {\n        \"ruleName\": \"is-undefined\",\n        \"compatible\": true,\n        \"alternative\": \"value === undefined\"\n    },\n    \"keys\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.keys()\"\n    },\n    \"extendOwn\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign()\",\n        \"ES6\": true\n    },\n    \"assign\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign()\",\n        \"ES6\": true\n    },\n    \"values\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.values()\",\n        \"ES6\": true\n    },\n    \"entries\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"toPairs\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"pairs\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"get\": {\n        \"compatible\": false,\n        \"alternative\": \"optional chaining to get nested values and nullish coalescing operator for fallback values\",\n        \"ES11\": true\n    },\n    \"split\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.split()\"\n    },\n    \"startsWith\": {\n        \"ruleName\": \"starts-with\",\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.startsWith()\"\n    },\n    \"endsWith\": {\n        \"ruleName\": \"ends-with\",\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.endsWith()\"\n    },\n    \"toLower\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toLowerCase()\"\n    },\n    \"toUpper\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toUpperCase()\"\n    },\n    \"trim\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.trim()\"\n    },\n    \"padStart\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.padStart()\",\n        \"ES6\": true\n    },\n    \"padEnd\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.padEnd()\",\n        \"ES6\": true\n    },\n    \"repeat\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.repeat()\",\n        \"ES6\": true\n    },\n    \"uniq\": {\n        \"compatible\": true,\n        \"alternative\": \"[... new Set(arr)]\",\n        \"ES6\": true\n    },\n    \"replace\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.replace()\"\n    },\n    \"omit\": {\n        \"compatible\": true,\n        \"alternative\": \"{a, b, c, ...notOmittedValues}\",\n        \"ES6\": true\n    },\n    \"flatten\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.reduce((a,b) => a.concat(b), [])\"\n    },\n    \"throttle\": {\n        \"compatible\": true,\n        \"alternative\": \"Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_throttle\"\n    },\n    \"isString\": {\n        \"compatible\": true,\n        \"alternative\": \"str != null && typeof str.valueOf() === \\\"string\\\"\"\n    },\n    \"castArray\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.isArray(arr) ? arr : [arr]\"\n    },\n    \"cloneDeep\": {\n        \"compatible\": true,\n        \"alternative\": \"structuredClone()\"\n    },\n    \"isFunction\": {\n        \"compatible\": true,\n        \"alternative\": \"typeof func === \\\"function\\\"\"\n    },\n    \"unionBy\": {\n        \"compatible\": false,\n        \"alternative\": \"Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_unionBy\",\n        \"ES10\": true\n    },\n    \"capitalize\": {\n        \"compatible\": true,\n        \"alternative\": \"string.charAt(0).toUpperCase() + string.slice(1).toLowerCase()\"\n    },\n    \"isDate\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toString.call()\"\n    },\n    \"defaults\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign({}, defaultValues, newValues)\",\n        \"ES6\": true\n    },\n    \"isArrayBuffer\": {\n        \"compatible\": false,\n        \"alternative\": \"value instanceof ArrayBuffer\"\n    },\n    \"head\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(0)\",\n        \"ES13\": true\n    }\n}\n"},"items":[{"name":"rules.json","path":"lib/rules/rules.json","rawUrl":"https://raw.githubusercontent.com/you-dont-need/You-Dont-Need-Lodash-Underscore/HEAD/lib/rules/rules.json","title":"Rules Skill","category":"anthropic-skill","format":"json","content":"{\n    \"concat\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.concat()\"\n    },\n    \"drop\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"dropRight\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"indexOf\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.indexOf()\"\n    },\n    \"join\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.join()\"\n    },\n    \"last\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(-1) or Array.prototype.slice()\",\n        \"ES13\": true\n    },\n    \"lastIndexOf\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.lastIndexOf()\"\n    },\n    \"reverse\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.reverse()\"\n    },\n    \"fill\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.fill()\",\n        \"ES6\": true\n    },\n    \"find\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.find()\",\n        \"ES6\": true\n    },\n    \"detect\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.find()\",\n        \"ES6\": true\n    },\n    \"first\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(0) or Array.prototype.slice()\",\n        \"ES13\": true\n    },\n    \"findIndex\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.findIndex()\",\n        \"ES6\": true\n    },\n    \"isArray\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.isArray()\"\n    },\n    \"each\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.forEach() or Object.entries().forEach()\"\n    },\n    \"forEach\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.forEach() or Object.entries().forEach()\"\n    },\n    \"every\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.every()\"\n    },\n    \"all\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.every()\"\n    },\n    \"filter\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.filter()\"\n    },\n    \"select\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.filter()\"\n    },\n    \"map\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.map()\"\n    },\n    \"collect\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.map()\"\n    },\n    \"reduce\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"inject\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"foldl\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"reduceRight\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduceRight()\"\n    },\n    \"foldr\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduceRight()\"\n    },\n    \"size\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.length\"\n    },\n    \"some\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.some()\"\n    },\n    \"any\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.some()\"\n    },\n    \"includes\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.includes()\",\n        \"ES6\": true\n    },\n    \"contains\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.includes()\",\n        \"ES6\": true\n    },\n    \"slice\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"takeRight\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"bind\": {\n        \"ruleName\": \"bind\",\n        \"compatible\": true,\n        \"alternative\": \"Function.prototype.bind()\"\n    },\n    \"isFinite\": {\n        \"compatible\": true,\n        \"alternative\": \"Number.isFinite()\"\n    },\n    \"isInteger\": {\n        \"ruleName\": \"is-integer\",\n        \"compatible\": true,\n        \"alternative\": \"Number.isInteger()\",\n        \"ES6\": true\n    },\n    \"isNaN\": {\n        \"ruleName\": \"is-nan\",\n        \"compatible\": true,\n        \"alternative\": \"Number.isNaN()\",\n        \"ES6\": true\n    },\n    \"isNil\": {\n        \"ruleName\": \"is-nil\",\n        \"compatible\": true,\n        \"alternative\": \"value === null || value === undefined\"\n    },\n    \"isNull\": {\n        \"ruleName\": \"is-null\",\n        \"compatible\": true,\n        \"alternative\": \"value === null\"\n    },\n    \"isUndefined\": {\n        \"ruleName\": \"is-undefined\",\n        \"compatible\": true,\n        \"alternative\": \"value === undefined\"\n    },\n    \"keys\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.keys()\"\n    },\n    \"extendOwn\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign()\",\n        \"ES6\": true\n    },\n    \"assign\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign()\",\n        \"ES6\": true\n    },\n    \"values\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.values()\",\n        \"ES6\": true\n    },\n    \"entries\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"toPairs\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"pairs\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"get\": {\n        \"compatible\": false,\n        \"alternative\": \"optional chaining to get nested values and nullish coalescing operator for fallback values\",\n        \"ES11\": true\n    },\n    \"split\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.split()\"\n    },\n    \"startsWith\": {\n        \"ruleName\": \"starts-with\",\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.startsWith()\"\n    },\n    \"endsWith\": {\n        \"ruleName\": \"ends-with\",\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.endsWith()\"\n    },\n    \"toLower\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toLowerCase()\"\n    },\n    \"toUpper\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toUpperCase()\"\n    },\n    \"trim\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.trim()\"\n    },\n    \"padStart\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.padStart()\",\n        \"ES6\": true\n    },\n    \"padEnd\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.padEnd()\",\n        \"ES6\": true\n    },\n    \"repeat\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.repeat()\",\n        \"ES6\": true\n    },\n    \"uniq\": {\n        \"compatible\": true,\n        \"alternative\": \"[... new Set(arr)]\",\n        \"ES6\": true\n    },\n    \"replace\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.replace()\"\n    },\n    \"omit\": {\n        \"compatible\": true,\n        \"alternative\": \"{a, b, c, ...notOmittedValues}\",\n        \"ES6\": true\n    },\n    \"flatten\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.reduce((a,b) => a.concat(b), [])\"\n    },\n    \"throttle\": {\n        \"compatible\": true,\n        \"alternative\": \"Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_throttle\"\n    },\n    \"isString\": {\n        \"compatible\": true,\n        \"alternative\": \"str != null && typeof str.valueOf() === \\\"string\\\"\"\n    },\n    \"castArray\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.isArray(arr) ? arr : [arr]\"\n    },\n    \"cloneDeep\": {\n        \"compatible\": true,\n        \"alternative\": \"structuredClone()\"\n    },\n    \"isFunction\": {\n        \"compatible\": true,\n        \"alternative\": \"typeof func === \\\"function\\\"\"\n    },\n    \"unionBy\": {\n        \"compatible\": false,\n        \"alternative\": \"Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_unionBy\",\n        \"ES10\": true\n    },\n    \"capitalize\": {\n        \"compatible\": true,\n        \"alternative\": \"string.charAt(0).toUpperCase() + string.slice(1).toLowerCase()\"\n    },\n    \"isDate\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toString.call()\"\n    },\n    \"defaults\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign({}, defaultValues, newValues)\",\n        \"ES6\": true\n    },\n    \"isArrayBuffer\": {\n        \"compatible\": false,\n        \"alternative\": \"value instanceof ArrayBuffer\"\n    },\n    \"head\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(0)\",\n        \"ES13\": true\n    }\n}\n","frontmatter":{"concat":{"compatible":true,"alternative":"Array.prototype.concat()"},"drop":{"compatible":true,"alternative":"Array.prototype.slice()"},"dropRight":{"compatible":true,"alternative":"Array.prototype.slice()"},"indexOf":{"compatible":true,"alternative":"Array.prototype.indexOf()"},"join":{"compatible":true,"alternative":"Array.prototype.join()"},"last":{"compatible":true,"alternative":"Array.prototype.at(-1) or Array.prototype.slice()","ES13":true},"lastIndexOf":{"compatible":true,"alternative":"Array.prototype.lastIndexOf()"},"reverse":{"compatible":true,"alternative":"Array.prototype.reverse()"},"fill":{"compatible":true,"alternative":"Array.prototype.fill()","ES6":true},"find":{"compatible":false,"alternative":"Array.prototype.find()","ES6":true},"detect":{"compatible":true,"alternative":"Array.prototype.find()","ES6":true},"first":{"compatible":true,"alternative":"Array.prototype.at(0) or Array.prototype.slice()","ES13":true},"findIndex":{"compatible":false,"alternative":"Array.prototype.findIndex()","ES6":true},"isArray":{"compatible":true,"alternative":"Array.isArray()"},"each":{"compatible":false,"alternative":"Array.prototype.forEach() or Object.entries().forEach()"},"forEach":{"compatible":false,"alternative":"Array.prototype.forEach() or Object.entries().forEach()"},"every":{"compatible":false,"alternative":"Array.prototype.every()"},"all":{"compatible":false,"alternative":"Array.prototype.every()"},"filter":{"compatible":false,"alternative":"Array.prototype.filter()"},"select":{"compatible":false,"alternative":"Array.prototype.filter()"},"map":{"compatible":false,"alternative":"Array.prototype.map()"},"collect":{"compatible":false,"alternative":"Array.prototype.map()"},"reduce":{"compatible":false,"alternative":"Array.prototype.reduce()"},"inject":{"compatible":false,"alternative":"Array.prototype.reduce()"},"foldl":{"compatible":false,"alternative":"Array.prototype.reduce()"},"reduceRight":{"compatible":false,"alternative":"Array.prototype.reduceRight()"},"foldr":{"compatible":false,"alternative":"Array.prototype.reduceRight()"},"size":{"compatible":false,"alternative":"Array.prototype.length"},"some":{"compatible":false,"alternative":"Array.prototype.some()"},"any":{"compatible":false,"alternative":"Array.prototype.some()"},"includes":{"compatible":false,"alternative":"Array.prototype.includes()","ES6":true},"contains":{"compatible":false,"alternative":"Array.prototype.includes()","ES6":true},"slice":{"compatible":true,"alternative":"Array.prototype.slice()"},"takeRight":{"compatible":false,"alternative":"Array.prototype.slice()"},"bind":{"ruleName":"bind","compatible":true,"alternative":"Function.prototype.bind()"},"isFinite":{"compatible":true,"alternative":"Number.isFinite()"},"isInteger":{"ruleName":"is-integer","compatible":true,"alternative":"Number.isInteger()","ES6":true},"isNaN":{"ruleName":"is-nan","compatible":true,"alternative":"Number.isNaN()","ES6":true},"isNil":{"ruleName":"is-nil","compatible":true,"alternative":"value === null || value === undefined"},"isNull":{"ruleName":"is-null","compatible":true,"alternative":"value === null"},"isUndefined":{"ruleName":"is-undefined","compatible":true,"alternative":"value === undefined"},"keys":{"compatible":true,"alternative":"Object.keys()"},"extendOwn":{"compatible":true,"alternative":"Object.assign()","ES6":true},"assign":{"compatible":true,"alternative":"Object.assign()","ES6":true},"values":{"compatible":true,"alternative":"Object.values()","ES6":true},"entries":{"compatible":true,"alternative":"Object.entries()","ES6":true},"toPairs":{"compatible":true,"alternative":"Object.entries()","ES6":true},"pairs":{"compatible":true,"alternative":"Object.entries()","ES6":true},"get":{"compatible":false,"alternative":"optional chaining to get nested values and nullish coalescing operator for fallback values","ES11":true},"split":{"compatible":true,"alternative":"String.prototype.split()"},"startsWith":{"ruleName":"starts-with","compatible":true,"alternative":"String.prototype.startsWith()"},"endsWith":{"ruleName":"ends-with","compatible":true,"alternative":"String.prototype.endsWith()"},"toLower":{"compatible":true,"alternative":"String.prototype.toLowerCase()"},"toUpper":{"compatible":true,"alternative":"String.prototype.toUpperCase()"},"trim":{"compatible":true,"alternative":"String.prototype.trim()"},"padStart":{"compatible":true,"alternative":"String.prototype.padStart()","ES6":true},"padEnd":{"compatible":true,"alternative":"String.prototype.padEnd()","ES6":true},"repeat":{"compatible":true,"alternative":"String.prototype.repeat()","ES6":true},"uniq":{"compatible":true,"alternative":"[... new Set(arr)]","ES6":true},"replace":{"compatible":true,"alternative":"String.prototype.replace()"},"omit":{"compatible":true,"alternative":"{a, b, c, ...notOmittedValues}","ES6":true},"flatten":{"compatible":true,"alternative":"Array.prototype.reduce((a,b) => a.concat(b), [])"},"throttle":{"compatible":true,"alternative":"Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_throttle"},"isString":{"compatible":true,"alternative":"str != null && typeof str.valueOf() === \"string\""},"castArray":{"compatible":true,"alternative":"Array.isArray(arr) ? arr : [arr]"},"cloneDeep":{"compatible":true,"alternative":"structuredClone()"},"isFunction":{"compatible":true,"alternative":"typeof func === \"function\""},"unionBy":{"compatible":false,"alternative":"Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_unionBy","ES10":true},"capitalize":{"compatible":true,"alternative":"string.charAt(0).toUpperCase() + string.slice(1).toLowerCase()"},"isDate":{"compatible":true,"alternative":"String.prototype.toString.call()"},"defaults":{"compatible":true,"alternative":"Object.assign({}, defaultValues, newValues)","ES6":true},"isArrayBuffer":{"compatible":false,"alternative":"value instanceof ArrayBuffer"},"head":{"compatible":true,"alternative":"Array.prototype.at(0)","ES13":true}},"isInternal":false,"tokens":2051,"sizeBytes":8615}],"systemPromptSnippet":"<yakaai_skills repo=\"you-dont-need/You-Dont-Need-Lodash-Underscore\">\n<!-- File: lib/rules/rules.json (Tokens: ~2051 | Category: anthropic-skill) -->\n{\n    \"concat\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.concat()\"\n    },\n    \"drop\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"dropRight\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"indexOf\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.indexOf()\"\n    },\n    \"join\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.join()\"\n    },\n    \"last\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(-1) or Array.prototype.slice()\",\n        \"ES13\": true\n    },\n    \"lastIndexOf\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.lastIndexOf()\"\n    },\n    \"reverse\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.reverse()\"\n    },\n    \"fill\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.fill()\",\n        \"ES6\": true\n    },\n    \"find\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.find()\",\n        \"ES6\": true\n    },\n    \"detect\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.find()\",\n        \"ES6\": true\n    },\n    \"first\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(0) or Array.prototype.slice()\",\n        \"ES13\": true\n    },\n    \"findIndex\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.findIndex()\",\n        \"ES6\": true\n    },\n    \"isArray\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.isArray()\"\n    },\n    \"each\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.forEach() or Object.entries().forEach()\"\n    },\n    \"forEach\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.forEach() or Object.entries().forEach()\"\n    },\n    \"every\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.every()\"\n    },\n    \"all\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.every()\"\n    },\n    \"filter\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.filter()\"\n    },\n    \"select\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.filter()\"\n    },\n    \"map\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.map()\"\n    },\n    \"collect\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.map()\"\n    },\n    \"reduce\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"inject\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"foldl\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduce()\"\n    },\n    \"reduceRight\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduceRight()\"\n    },\n    \"foldr\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.reduceRight()\"\n    },\n    \"size\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.length\"\n    },\n    \"some\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.some()\"\n    },\n    \"any\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.some()\"\n    },\n    \"includes\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.includes()\",\n        \"ES6\": true\n    },\n    \"contains\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.includes()\",\n        \"ES6\": true\n    },\n    \"slice\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"takeRight\": {\n        \"compatible\": false,\n        \"alternative\": \"Array.prototype.slice()\"\n    },\n    \"bind\": {\n        \"ruleName\": \"bind\",\n        \"compatible\": true,\n        \"alternative\": \"Function.prototype.bind()\"\n    },\n    \"isFinite\": {\n        \"compatible\": true,\n        \"alternative\": \"Number.isFinite()\"\n    },\n    \"isInteger\": {\n        \"ruleName\": \"is-integer\",\n        \"compatible\": true,\n        \"alternative\": \"Number.isInteger()\",\n        \"ES6\": true\n    },\n    \"isNaN\": {\n        \"ruleName\": \"is-nan\",\n        \"compatible\": true,\n        \"alternative\": \"Number.isNaN()\",\n        \"ES6\": true\n    },\n    \"isNil\": {\n        \"ruleName\": \"is-nil\",\n        \"compatible\": true,\n        \"alternative\": \"value === null || value === undefined\"\n    },\n    \"isNull\": {\n        \"ruleName\": \"is-null\",\n        \"compatible\": true,\n        \"alternative\": \"value === null\"\n    },\n    \"isUndefined\": {\n        \"ruleName\": \"is-undefined\",\n        \"compatible\": true,\n        \"alternative\": \"value === undefined\"\n    },\n    \"keys\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.keys()\"\n    },\n    \"extendOwn\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign()\",\n        \"ES6\": true\n    },\n    \"assign\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign()\",\n        \"ES6\": true\n    },\n    \"values\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.values()\",\n        \"ES6\": true\n    },\n    \"entries\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"toPairs\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"pairs\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.entries()\",\n        \"ES6\": true\n    },\n    \"get\": {\n        \"compatible\": false,\n        \"alternative\": \"optional chaining to get nested values and nullish coalescing operator for fallback values\",\n        \"ES11\": true\n    },\n    \"split\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.split()\"\n    },\n    \"startsWith\": {\n        \"ruleName\": \"starts-with\",\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.startsWith()\"\n    },\n    \"endsWith\": {\n        \"ruleName\": \"ends-with\",\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.endsWith()\"\n    },\n    \"toLower\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toLowerCase()\"\n    },\n    \"toUpper\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toUpperCase()\"\n    },\n    \"trim\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.trim()\"\n    },\n    \"padStart\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.padStart()\",\n        \"ES6\": true\n    },\n    \"padEnd\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.padEnd()\",\n        \"ES6\": true\n    },\n    \"repeat\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.repeat()\",\n        \"ES6\": true\n    },\n    \"uniq\": {\n        \"compatible\": true,\n        \"alternative\": \"[... new Set(arr)]\",\n        \"ES6\": true\n    },\n    \"replace\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.replace()\"\n    },\n    \"omit\": {\n        \"compatible\": true,\n        \"alternative\": \"{a, b, c, ...notOmittedValues}\",\n        \"ES6\": true\n    },\n    \"flatten\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.reduce((a,b) => a.concat(b), [])\"\n    },\n    \"throttle\": {\n        \"compatible\": true,\n        \"alternative\": \"Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_throttle\"\n    },\n    \"isString\": {\n        \"compatible\": true,\n        \"alternative\": \"str != null && typeof str.valueOf() === \\\"string\\\"\"\n    },\n    \"castArray\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.isArray(arr) ? arr : [arr]\"\n    },\n    \"cloneDeep\": {\n        \"compatible\": true,\n        \"alternative\": \"structuredClone()\"\n    },\n    \"isFunction\": {\n        \"compatible\": true,\n        \"alternative\": \"typeof func === \\\"function\\\"\"\n    },\n    \"unionBy\": {\n        \"compatible\": false,\n        \"alternative\": \"Example of native implementation: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#_unionBy\",\n        \"ES10\": true\n    },\n    \"capitalize\": {\n        \"compatible\": true,\n        \"alternative\": \"string.charAt(0).toUpperCase() + string.slice(1).toLowerCase()\"\n    },\n    \"isDate\": {\n        \"compatible\": true,\n        \"alternative\": \"String.prototype.toString.call()\"\n    },\n    \"defaults\": {\n        \"compatible\": true,\n        \"alternative\": \"Object.assign({}, defaultValues, newValues)\",\n        \"ES6\": true\n    },\n    \"isArrayBuffer\": {\n        \"compatible\": false,\n        \"alternative\": \"value instanceof ArrayBuffer\"\n    },\n    \"head\": {\n        \"compatible\": true,\n        \"alternative\": \"Array.prototype.at(0)\",\n        \"ES13\": true\n    }\n}\n</yakaai_skills>"}