com um clique
code-quality-check
代码生成后执行自动化质量检查。运行 Prettier 格式化、ESLint 检查修复和 TypeScript 类型检查。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
代码生成后执行自动化质量检查。运行 Prettier 格式化、ESLint 检查修复和 TypeScript 类型检查。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
以持续追问的方式"拷问"用户的设计方案或计划,沿决策树逐一解决每个分支的依赖关系,直到达成共识。当用户想要压力测试方案、被"盘问"设计思路,或提到"拷问我"/"grill me"/"审查方案"/"盘问方案"/"帮我梳理"等表达时使用。
添加一个新的 Content Script,注入到过早客论坛页面中。包含脚本创建、Vue 应用挂载和在主入口注册的完整流程。
为项目端到端地添加一个完整的新功能。覆盖从需求分析到代码生成、测试验证的全部流程,涉及 Content Script、Vue 组件、选项配置、国际化等多个层面。
为过早客论坛页面添加新的 HTML 解析函数,从论坛 HTML 中提取结构化数据。遵循项目现有的正则解析模式。
为项目添加国际化翻译。使用 vue-i18n 管理中文和英文翻译,包含翻译 key 设计、文件更新和使用方式。
在扩展的选项页面中添加一个新的子页面。包含路由配置、Vue 页面创建和侧边栏导航集成的完整流程。
Baseado na classificação ocupacional SOC
| name | code-quality-check |
| description | 代码生成后执行自动化质量检查。运行 Prettier 格式化、ESLint 检查修复和 TypeScript 类型检查。 |
代码生成完成后,执行质量检查确保代码符合项目规范。共四步:格式化 → ESLint → Stylelint → IDE 诊断(含类型检查)。
pnpm format
格式化所有文件,包括缩进、引号、分号、行宽等。
pnpm lint:fix
自动修复可修复的问题(如导入排序),报告需要手动修复的问题。
pnpm styl-lint:fix
自动修复 CSS 属性排序等问题。
使用 read_lints 检查所有变更文件。TS 插件在此步骤即可报告类型错误,覆盖 ESLint/Stylelint/TypeScript 三类问题。
关键:如果发现残留错误,必须修复后再次 read_lints,直到零诊断。 自动修复工具无法处理所有问题(见下方不可自动修复列表),这些必须手工修复。
说明: 此步骤已覆盖类型检查。
pnpm type-check会全量扫描整个项目,耗时长且可能因环境差异失败(如未安装依赖),仅在步骤 4 无法复现用户报告的跨文件类型问题时才需要。
以下错误 pnpm lint:fix 或 pnpm styl-lint:fix 无法自动修复,必须手工处理:
| 工具 | 错误码 | 说明 | 修复方式 |
|---|---|---|---|
| Stylelint | no-descending-specificity | 低优先级选择器放在了高优先级后面 | 重排选择器顺序:.foo → .foo:hover → .foo .bar |
| ESLint | no-explicit-any | 使用了 any 类型 | 替换为具体类型或加 eslint-disable |
| ESLint | @typescript-eslint/no-unused-vars | 未使用的变量 | 移除变量或重命名为 _xxx |
| ESLint | vue/no-duplicate-attributes | 模板中重复属性 | 合并 class 和 :class 为单个 :class 数组 |
| TS | 2322 | 类型不匹配(如 KeyboardEvent vs Event) | 参数类型放宽为 Event,内部 as 断言 |
以下项目需要 AI 在生成代码时手工确认(无法被工具自动检查):
const enum 而非普通 enumimport type.vue 文件使用 <script setup lang="ts"><style lang="scss" scoped>use 开头| 错误 | 解决方案 |
|---|---|
order/properties-order | 执行 pnpm styl-lint:fix 自动重新排序 |
no-descending-specificity | 不可自动修复。原则:低优先级写前面。例如 .foo {} → .foo:hover {} → .foo .bar {} |
// ❌ 错误 — .item-remove 优先级低于 .item:hover .item-remove,却写在后面
.item {
&:hover {
.item-remove { opacity: 1; } // 0,2,0
}
}
.item-remove { opacity: 0; } // 0,1,0 ← 必须移到 .item 前面
// ✅ 正确 — 低优先级在前
.item-icon { ... }
.item-text { ... }
.item-remove {
opacity: 0;
&:hover { color: red; }
}
.item {
&:hover {
.item-remove { opacity: 1; }
}
}
提交代码时,husky + lint-staged 会自动执行:
Prettier → 格式化所有文件
Stylelint → 检查 .scss 和 .vue 文件
ESLint → 检查 .js/.ts/.vue 文件
vue-tsc → TypeScript 类型检查
如果 lint-staged 检查失败,提交会被阻止。
执行顺序:先 format,再 lint:fix,ESLint 会进一步修复与 Prettier 的冲突。
pnpm format && pnpm lint:fix
常见原因:
import typeany → 替换为具体类型| 错误 | 解决方案 |
|---|---|
no-explicit-any | 使用具体类型,必要时加 eslint-disable 注释 |
simple-import-sort/imports | 执行 pnpm lint:fix 自动修复导入排序 |
@typescript-eslint/no-unused-vars | 移除未使用的变量或添加下划线前缀 |