install-anti-slop
GitHub在本地 TypeScript/JS 仓库中安装并配置 anti-slop Oxlint 插件,自动处理依赖、配置文件合并及规则启用,支持迁移旧版设置。
Trigger Scenarios
Install
npx skills add trycompai/crm --skill install-anti-slop -g -y
SKILL.md
Frontmatter
{
"name": "install-anti-slop",
"description": "Install and configure the anti-slop Oxlint plugin in a local TypeScript or JavaScript repository. Use whenever a user asks to add anti-slop lint rules, copy the anti-slop plugin, configure opinionated Oxlint rules, or migrate an existing local anti-slop setup."
}
Install anti-slop
Install the bundled Oxlint plugin into the current repository and integrate it with the repository's existing lint setup. Preserve unrelated work and adapt to the project's package manager and configuration style.
Procedure
-
Inspect the repository before changing it:
- Read its agent instructions.
- Check
git statusand preserve unrelated changes. - Identify the package manager from
packageManagerand lockfiles. - Find Oxlint configuration (
oxlint.config.*,.oxlintrc*, or a Vite+ config). - Check whether anti-slop files or rules already exist. Do not overwrite them without reviewing the diff.
-
Copy the bundled plugin from this skill. Run from the target repository:
node <skill-directory>/scripts/install.mjsThis creates
tools/oxlint/anti-slop/. Pass another relative destination as the first argument when the repository has an established tooling layout. The script refuses to replace an existing destination; only use--forceafter backing up and reviewing existing files. -
Install current compatible dependencies rather than trusting versions remembered by the agent:
- Query
npm view oxlint versionandnpm view @oxlint/plugins version. - Install the same current version of both packages with the repository's package manager.
oxlintis a development dependency. The copied source imports@oxlint/plugins, so install it as a development dependency for a local-only plugin.- Do not replace the package manager or rewrite unrelated dependency ranges.
- Query
-
Register the plugin and enable all rules. For
oxlint.config.tsor.oxlintrc.json, add:jsPlugins: [ { name: "anti-slop", specifier: "./tools/oxlint/anti-slop/index.ts" }, ],For Vite+, add that same entry to
lint.jsPlugins. Merge it with existing entries instead of replacing them.Enable these rules at
"error":{ "anti-slop/no-chained-type-assertions": "error", "anti-slop/no-conditional-empty-object-spread": "error", "anti-slop/no-known-value-widening": "error", "anti-slop/no-object-parameters": "error", "anti-slop/no-runtime-typeof": "error", "anti-slop/no-shape-in-symbol-names": "error", "anti-slop/no-unknown-parameters": "error", "anti-slop/no-unknown-type-aliases": "error", "anti-slop/no-unsafe-dictionary-type": "error", "anti-slop/no-widen-then-assert": "error" } -
Run the repository's lint command and typecheck. If findings appear, report them and fix them only when the user asked for migration/cleanup. Do not suppress rules, weaken rule severity, add unsafe casts, or mechanically launder types to make lint pass.
-
Review the final diff and clearly report:
- copied path,
- dependency versions installed,
- configuration changed,
- checks run and any remaining findings.
Migration guidance
When replacing an older local copy, compare its rules and diagnostics before overwriting. Keep project-specific rules in their own plugin; anti-slop is intentionally generic. Prefer inference, as const, satisfies, named owner contracts, and boundary parsing when resolving findings.
Version History
- bb63520 Current 2026-08-19 12:07


