# Install Anti Slop > Instala y configura los plugins de Oxlint anti-slop, genérico y el opcional para Effect, en un repositorio local de TypeScript o JavaScript. Fuente: https://skillsagentes.com/skills/dmmulroy/anti-slop/install-anti-slop Markdown: https://skillsagentes.com/skills/dmmulroy/anti-slop/install-anti-slop.md Repositorio: https://github.com/dmmulroy/anti-slop Autor: dmmulroy Licencia: MIT Actualizado: hace 3 días Coste de contexto: 72 tok instalada, 1.4k tok al activarse, 20.8k tok con todos los archivos del bundle Bundle: 23 archivos, 81 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add dmmulroy/anti-slop --skill install-anti-slop --agent claude-code # Cursor npx -y skills add dmmulroy/anti-slop --skill install-anti-slop --agent cursor # Codex npx -y skills add dmmulroy/anti-slop --skill install-anti-slop --agent codex # Gemini CLI npx -y skills add dmmulroy/anti-slop --skill install-anti-slop --agent gemini # Windsurf npx -y skills add dmmulroy/anti-slop --skill install-anti-slop --agent windsurf # Cline npx -y skills add dmmulroy/anti-slop --skill install-anti-slop --agent cline ``` ## Qué hace - Copia el plugin de Oxlint anti-slop en `tools/oxlint/anti-slop/` dentro del repo - Instala `oxlint` y `@oxlint/plugins` con versiones actuales usando el gestor de paquetes del proyecto - Registra el plugin genérico y activa sus reglas en `error` en la configuración de Oxlint - Configura opcionalmente el plugin `anti-slop-effect` si el repo depende de `effect` - Añade `ignorePatterns` para directorios de tooling de agentes y ejecuta lint/typecheck ## Cuándo usarla - El usuario pide añadir reglas de lint anti-slop - El usuario pide copiar el plugin anti-slop - El usuario pide configurar reglas opinionadas de Oxlint - El usuario pide migrar una instalación local existente de anti-slop ## Qué la activa - "Instala el plugin anti-slop de Oxlint en este repo" - "Configura las reglas anti-slop para TypeScript" - "Migra nuestra copia local de anti-slop a la última versión" - "Añade el plugin anti-slop-effect porque usamos Effect" ## Antes de instalar - Requiere Node.js, un gestor de paquetes configurado (npm/lockfile) y, opcionalmente, Oxlint ya presente en el repo. ## Archivos - SKILL.md — 6 KB - assets/anti-slop/effect/index.ts — 431 B - assets/anti-slop/effect/rules/no-service-constructor-imports.ts — 2 KB - assets/anti-slop/index.ts — 2 KB - assets/anti-slop/rules/no-chained-type-assertions.ts — 2 KB - assets/anti-slop/rules/no-conditional-empty-object-spread.ts — 2 KB - assets/anti-slop/rules/no-known-value-widening.ts — 8 KB - assets/anti-slop/rules/no-module-mocking.ts — 3 KB - assets/anti-slop/rules/no-object-parameters.ts — 4 KB - assets/anti-slop/rules/no-reflect-apply.ts — 926 B - assets/anti-slop/rules/no-reflect-get.ts — 939 B - assets/anti-slop/rules/no-runtime-typeof.ts — 2 KB - assets/anti-slop/rules/no-shape-in-symbol-names.ts — 1 KB - assets/anti-slop/rules/no-unknown-parameters.ts — 3 KB - assets/anti-slop/rules/no-unknown-returns.ts — 4 KB - assets/anti-slop/rules/no-unknown-type-aliases.ts — 2 KB - assets/anti-slop/rules/no-unsafe-dictionary-type.ts — 4 KB - assets/anti-slop/rules/no-widen-then-assert.ts — 12 KB - assets/anti-slop/rules/require-safety-comment-for-type-assertion.ts — 2 KB - assets/anti-slop/shared/dictionary-types.ts — 17 KB - assets/anti-slop/shared/lexical-type-parameters.ts — 2 KB - assets/anti-slop/shared/reflect-method.ts — 1 KB - scripts/install.mjs — 937 B ## SKILL.md Reproducido tal cual desde dmmulroy/anti-slop bajo MIT. Esta sección es el documento original y está en inglés. # 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 1. Inspect the repository before changing it: - Read its agent instructions. - Check `git status` and preserve unrelated changes. - Identify the package manager from `packageManager` and 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. 2. Copy the bundled plugin from this skill. Run from the target repository: ```bash node /scripts/install.mjs ``` This 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 `--force` after backing up and reviewing existing files. 3. Install current compatible dependencies rather than trusting versions remembered by the agent: - Query `npm view oxlint version` and `npm view @oxlint/plugins version`. - Install the same current version of both packages with the repository's package manager. - `oxlint` is 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. 4. Register the generic plugin, configure ignores, and enable all generic rules. For `oxlint.config.ts` or `.oxlintrc.json`, merge these fields with the existing configuration: ```ts ignorePatterns: [ ".agent/**", ".agents/**", ".claude/**", ".codex/**", ".continue/**", ".cursor/**", ".gemini/**", ".opencode/**", ".pi/**", ".roo/**", ".windsurf/**", "tools/oxlint/anti-slop/**", ], jsPlugins: [ { name: "anti-slop", specifier: "./tools/oxlint/anti-slop/index.ts" }, ], ``` Keep every existing ignore. Adjust the final pattern when the plugin was copied elsewhere. Inspect the repository for other project-local agent tooling directories and add them rather than linting installed skills, hooks, or generated agent configuration as application source. Do not broadly ignore all dot-directories, because some repositories keep owned source or checks in them. For Vite+, add these fields to `lint.ignorePatterns` and `lint.jsPlugins`. Also merge the same patterns into `fmt.ignorePatterns` so `vp check` does not reformat installed agent assets or the vendored plugin. Merge existing entries instead of replacing them. Enable these rules at `"error"`: ```json { "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-module-mocking": "error", "anti-slop/no-object-parameters": "error", "anti-slop/no-reflect-apply": "error", "anti-slop/no-reflect-get": "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-returns": "error", "anti-slop/no-unknown-type-aliases": "error", "anti-slop/no-unsafe-dictionary-type": "error", "anti-slop/no-widen-then-assert": "error", "anti-slop/require-safety-comment-for-type-assertion": "error" } ``` If the repository declares `effect` in a package manifest, or the user explicitly requests Effect rules, also register the opt-in Effect plugin: ```ts jsPlugins: [ { name: "anti-slop-effect", specifier: "./tools/oxlint/anti-slop/effect/index.ts", }, ], rules: { "anti-slop-effect/no-service-constructor-imports": "error", }, ``` Merge these entries with the generic plugin configuration rather than replacing it. Do not enable the Effect plugin merely because Effect appears transitively in a lockfile; require a direct package-manifest dependency or an explicit user request. The rule covers relative project imports. Report package-alias imports as a current limitation rather than pretending they are enforced. 5. Run the repository's lint command and typecheck. For Vite+, run the repository's full `vp check` command after adding both lint and format ignores. If findings appear in owned project source, 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. 6. 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. The default anti-slop plugin is intentionally generic; framework-specific policy belongs in an explicit opt-in group such as `anti-slop-effect`. Prefer inference, `as const`, `satisfies`, named owner contracts, and boundary parsing when resolving findings. ## Dónde encaja - Categoría: [Herramientas para desarrolladores](https://skillsagentes.com/categorias/herramientas-desarrollo.md) — Skills que cambian cómo tu agente escribe, revisa y despliega código. - Creador: [dmmulroy](https://skillsagentes.com/creators/dmmulroy.md) — 1 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Skills relacionadas - [Skill Creator](https://skillsagentes.com/skills/anthropics/skills/skill-creator.md): Crea skills nuevos, modifica y mejora los existentes, y mide su rendimiento. Úsalo para crear un skill desde cero, editarlo, correr evals, o afinar su descripción para que dispare mejor. - [Template Skill](https://skillsagentes.com/skills/anthropics/skills/template-skill.md): Plantilla vacía del repositorio de skills de Anthropic: frontmatter de relleno y un encabezado. Es un punto de partida para copiar, no un skill que se pueda ejecutar. - [Web Artifacts Builder](https://skillsagentes.com/skills/anthropics/skills/web-artifacts-builder.md): Conjunto de herramientas para crear artefactos HTML elaborados y multi-componente para claude.ai con React, Tailwind CSS y shadcn/ui. No es para artefactos simples de un solo archivo. - [Ponytail Audit](https://skillsagentes.com/skills/dietrichgebert/ponytail/ponytail-audit.md): Auditoría de sobre-ingeniería en todo el repo, no solo un diff: lista rankeada de qué borrar, simplificar o reemplazar por stdlib/nativo. Reporte de una sola vez, no aplica los cambios. - [Ponytail Review](https://skillsagentes.com/skills/dietrichgebert/ponytail/ponytail-review.md): Revisión de código centrada solo en sobre-ingeniería: qué borrar, stdlib reinventada, dependencias innecesarias, abstracciones especulativas. Una línea por hallazgo. Complementa la revisión de corrección normal. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)