用途:把依赖人工记忆的评审约定转变为可执行的机械规则。它是内容型技能,只提供规则、配置片段与理由,不提供工具本身;若要接入 git 钩子,需配合 hk 技能。
主要原则:机械优先于社交,规则靠 linter、类型或测试固化;顺序为类型优先、其次 lint、最后测试;架构边界用 no-restricted-imports / no-restricted-syntax 或图检查强制执行;能自动修复的自动修复,不能的作为提交门禁;优先使用有主见的预设,覆盖时须写明原因。
使用场景:新项目配置 lint;加固已有项目;出现 bug 时追问“哪条规则能机械地捕获它”并补充规则。
技术栈选型(要点):TypeScript/React/Next 用 o xfmt 或 Biome(经 Ultracite),配合 oxlint、dependency-cruiser、knip、tsc --noEmit;Python 用 ruff、import-linter、vulture、basedpyright;Rust 用 rustfmt、clippy -D warnings、cargo-deny、cargo-machete;Go 用 gofmt/gofumpt、golangci-lint、go-arch-lint、go vet;SQL 用 sqruff;Shell 用 shfmt 与 ShellCheck(zsh 不支持 ShellCheck);PowerShell 用 PSScriptAnalyzer,注意默认是 5.1 而非 pwsh 7,-EnableExit 必须加;另有 Markdown、CSS/SCSS、HTML、Nix、YAML、TOML、提交信息、密钥、拼写、GitHub Actions 与 Postgres 迁移各栈推荐。
关键限制:框架单文件组件(.astro/.vue/.svelte)无选型,需交给框架自带检查器;locale 拼写检查会误改字符串字面量中的美式拼写标识符(如 --color、authorization),须提前加入允许列表;Opengrep 默认即使发现问题也退出 0,需加 --error;某些工具仍处 Beta 或维护停滞,资料未提供收费与价格信息。具体规则细节按栈在 references/ 目录中按需加载。