{"id":"eslint-fix","name":"eslint-fix","summary":"ESLintのエラー、警告、設定互換性の問題を安全に診断し修正します。ユーザーがlintの実行、ESLintエラーの解釈、限定範囲内での自動修正、またはESLint構成の移行を要求する場合に使用されます。","body":"# ESLint 修复助手\n\n## 工作流程\n\n### 1. 识别项目工具链\n\n读取：\n\n- `package.json` 中的 scripts、`devDependencies` 和 `packageManager`。\n- npm、pnpm、Yarn 或 Bun 的 lockfile。\n- `eslint.config.*`、`.eslintrc.*`、`.eslintignore`、Prettier 和 TypeScript 配置。\n- 适用的仓库规则、Git 状态和用户指定的文件范围。\n\n优先运行仓库已有的 lint script。只有确认 ESLint 已被当前项目锁定并安装时，才使用对应包管理器的本地执行方式。若缺失依赖，先报告；安装包、更新 lockfile 或迁移配置需要单独授权。\n\n### 2. 建立只读基线\n\n先对用户指定或本轮相关范围运行不修改文件的检查，记录：\n\n- 实际命令、ESLint 版本和退出状态。\n- error / warning 数量、涉及文件和规则。\n- 基线中已有的问题与本轮引入的问题。\n\n不要默认扫描整个大型仓库，也不要用未锁定依赖、可能联网下载新版本的 `npx` 调用。\n\n### 3. 预览可修复范围\n\n- 使用项目现有命令支持的 `--fix-dry-run`、JSON 输出或等价能力判断预计改动。\n- 检查当前 Git diff，确认目标文件没有与用户修改重叠。\n- 区分可自动修复、需要理解代码语义、需要配置决策三类问题。\n- 展示预计修改范围；可能产生大面积格式 diff 或改变逻辑时先取得确认。\n\n### 4. 限定范围修复\n\n- 只对已确认的文件执行 `--fix`，不自动扩大到整个仓库。\n- 对 `no-explicit-any`、未处理 Promise、React Hooks 依赖等语义规则，结合类型、调用方和运行路径修改，不能机械替换。\n- 不为消除报错而默认禁用规则、加入全局 ignore、修改 formatter 顺序或降低严重级别。\n- Prettier 与 ESLint 的执行顺序以项目现有 scripts 和集成配置为准。\n\n常见可自动修复规则包括 `semi`、`quotes`、`indent`、`no-trailing-spaces`、`comma-dangle`、`arrow-parens` 和 `prefer-const`；dry-run 和 diff 只能预览改动，最终仍需按风险运行类型检查、测试或构建。\n\n### 5. 复验\n\n实际修改后：\n\n1. 重新运行目标范围 lint。\n2. 按改动风险运行类型检查、相关测试或构建。\n3. 查看 Git diff，确认没有 lockfile、生成物或无关格式变化。\n4. 记录未解决规则、原因和建议下一步。\n\n## 安全边界\n\n- 未经明确授权，不安装或升级依赖，不修改 lockfile、ESLint 配置、Prettier 配置或项目脚本。\n- 不覆盖工作树中已有修改；目标文件存在重叠时先报告。\n- 不声称“已修复”或“可编译”，除非对应命令真实运行并成功。\n- Windows 与 Linux 都优先使用项目已有 scripts 和路径，不硬编码 shell 专属命令。\n\n## 输出\n\n```markdown\n## ESLint 检查结果\n\n- 范围：\n- ESLint / 包管理器版本：\n- 基线：X error，Y warning\n- 实际命令与退出状态：\n\n## 修改\n\n| 文件 | 规则 | 处理方式 |\n|------|------|----------|\n\n## 复验\n\n- lint：\n- 类型检查 / 测试 / 构建：\n- 未解决问题与原因：\n```","author":"@laolaoshiren","ownerProfile":null,"authorContacts":null,"sourceUrl":"https://github.com/laolaoshiren/claude-code-skills-zh/tree/main/skills/eslint-fix","license":"MIT","category":"coding","lang":"multi","tokens":828,"stars":0,"calls30d":2,"claimed":false,"visibility":"public","origin":"crawler","version":"0.1.0","createdAt":"2026-08-22","updatedAt":"2026-08-22","files":[],"requires":{"mcp":[],"tools":[]},"safety":{"flags":[],"scannedAt":"2026-08-22","hasScripts":false,"networkEndpoints":[]}}