关于 lint-and-validate
用于代码或配置变更后选择并运行项目检查的仓库技能。它强调先检查命令,避免自动修复或下载工具,并如实报告执行结果与未检查项。
主要功能
- 01检查已配置的脚本和工具
- 02运行只读 lint 与类型检查
- 03避免下载缺失的检查器
- 04报告结果与限制
- 05有限范围的源码注解盘点
适用场景
- 01完成前验证代码变更
- 02开发期间检查相关文件
- 03报告无法运行的必需工具
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill lint-and-validate安装后在 Claude Code 中输入/lint-and-validate确认已加载。
附带文件scripts/lint_runner.pyscripts/type_coverage.py
详细介绍
检查与验证
何时使用
在行为或配置变更后,当仓库具有相关的检查或类型检查时使用。先阅读仓库的说明和 package 脚本。在开发期间运行针对性检查,在完成前运行必需的检查。
流程
- 确定变更的语言、配置的命令和已安装的工具。在执行前检查 package 脚本:名为
lint的脚本可能修改文件或运行任意项目代码。 - 运行项目的只读检查/类型检查命令。对于 Node 项目,优先使用已声明的脚本,例如
npm run lint和npm run typecheck。不要使用npx静默获取不存在的检查器。 - 对于 Python,使用已配置、已安装的工具,例如
ruff check .或mypy .。不要假设每个pyproject.toml都同时配置了两者。在未检查建议的变更和任务的授权之前,绝不要添加--fix。 - 修复相关失败,不要删除用户的工作、削弱规则或仅仅为了通过而提高超时时间。如果必需的工具不可用,报告未能运行的确切检查。
- 报告命令、退出结果、范围和剩余的局限。检查通过并不能证明不存在运行时或安全缺陷。
示例
在修正 TypeScript 行为后,检查 package.json,运行已配置的针对性回归测试,然后如果这些脚本存在,运行 npm run lint 和 npm run typecheck。如果 TypeScript 已声明但未安装,报告缺失的本地检查器;不要用下载的包替代,或将结果称为通过。
捆绑的辅助工具
python scripts/lint_runner.py /absolute/project:运行一组保守的候选检查。Node 后备检查器必须存在于本地node_modules/.bin中;Python 候选必须已安装。先检查项目脚本。命令缺失或检查失败退出码为 1;没有配置的检查或无效的项目元数据退出码为 2。退出码 0 表示所调用的检查通过了,而不是发现了所有需要的检查。Python 检测是启发式的,可能建议未配置的 Ruff/MyPy 命令。python scripts/type_coverage.py /absolute/project:只读的注解清单,尽管保留了兼容性的文件名。每种语言最多采样 30 个文件,跳过链接和构建/依赖目录,并限制文件读取。Python 使用 AST 节点以避免重复计数函数。TypeScript 报告词法上的: any出现位置,包括可能的注释和字符串。不推断质量百分比或通过/失败阈值。退出码 2 表示没有适用的文件;解析/读取错误退出码为 1。
局限
运行器执行受信任的项目命令,这些命令可能修改文件或访问网络。它不安装依赖、不检测每个 monorepo 配置,也不替代项目的 CI 合约。清单是有界的源代码样本,而非语义类型覆盖率;推断类型、泛型、装饰器行为和正确性需要实际的类型检查器。不要将未运行的检查标记为成功。
评论
支持 Markdown