From omni-link
Iron law quality gate that BLOCKS (not warns) on hallucinated imports, unknown packages, wrong conventions, and placeholder code. Enforcement, not suggestion.
How this skill is triggered — by the user, by Claude, or both
Slash command
/omni-link:anti-slop-gateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This is the quality enforcement gate for all code generation. It runs three checks against proposed code and **BLOCKS on failure**. This is not advisory — violations are rejections.
This is the quality enforcement gate for all code generation. It runs three checks against proposed code and BLOCKS on failure. This is not advisory — violations are rejections.
Validates that all imports, API calls, and type references resolve to real entities in the ecosystem manifest.
Blocks on:
missing-file: Import path resolves to a file that does not exist in the codebasemissing-export: Named import references an export that does not exist in the target fileunknown-route: API call targets a route not defined in any scanned repounknown-procedure: tRPC procedure call references a procedure not in the manifestEnforces detected codebase patterns on generated code.
Blocks on:
naming: Variable/function name violates the repo's naming convention (camelCase, snake_case, PascalCase, kebab-case)file-location: File is placed in the wrong directory per codebase conventionerror-handling: Async function uses await without error handling when the codebase convention is try-catchtesting: Test file placement violates co-located or separate-directory conventionCatches common AI code generation failures.
Blocks on (severity: error):
placeholder: TODO comments, FIXME, HACK, XXX, "not implemented" throws, placeholder console.logsphantom-import: Package imported that is not in the project's dependency list (hallucinated package)Warns on (severity: warning):
duplicate-block: 3+ lines of duplicate code detectedover-commenting: Comment-to-code ratio exceeds 50%Hard rules enforced on generated code by the rule engine:
Blocks on (severity: error):
no-fetch-without-catch: fetch() without .catch() or try-catch within 5 linesno-hardcoded-secret: API key / token / password pattern hardcoded in sourceWarns on (severity: warning):
no-raw-env-access: process.env.X without ?? fallbackno-any-cast: TypeScript as any in production (non-test) filesFor every code block you generate:
import or require statement targets a file/package that existsfetch('/api/...') or trpc.X.query() targets a real endpointWhen a violation is detected, present it in this format:
## BLOCKED — Anti-Slop Gate Failure
### Violations:
1. [REFERENCE] Line 3: Import path './services/user-service.js' resolves to
'src/services/user-service.ts' which does not exist in the codebase.
2. [SLOP] Line 15: Package 'lodash-es' is not listed in project dependencies —
possible hallucinated import.
3. [CONVENTION] 'fetch_user_data' does not follow camelCase convention.
Suggestion: Rename to 'fetchUserData'.
### Resolution Required
[Describe what needs to change to pass the gate]
lodash-es when only lodash is installed)trpc.getUser.query() when the actual procedure is trpc.user.get.query()npx claudepluginhub sebdysart/omni-linkVerifies AI-generated imports, API calls, and packages exist. Checks internal files via glob/grep and external deps in package.json/requirements.txt/pyproject.toml. Auto-triggers after fix/cook.
Sets up ast-grep in TypeScript codebases with rules detecting anti-patterns, enforcing best practices, and preventing bugs. Creates sgconfig.yml, rule files, and tests for structural linting, legacy bans, and ratchet gates.
Blocks Edit/Write/Bash actions until Claude investigates importers, data schemas, and user instructions. Improves output quality by forcing concrete facts before edits.