Skip to content
Back to skills

Slop Check

ASecurity

Measure AI slop score (0-10) in reports. Used by triager-sim/reporter. Matches "slop", "AI detection", "ai detection", "template language"

  • 6 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 10, 2026
securitypythonbashsqlapidatabasesecurity

Works with

  • api

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add R00T-Kim/Terminator --skill slop-check --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Slop Check?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Slop Check
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/r00t-kim-slop-check/badge)](https://www.skillsdirectory.com/skills/r00t-kim-slop-check)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: slop-check
description: Measure AI slop score (0-10) in reports. Used by triager-sim/reporter. Matches "slop", "AI detection", "ai detection", "template language"
user-invocable: true
argument-hint: <report-file-path>
allowed-tools: [Read, Bash, Grep]
---

# AI Slop Detection

## CRITICAL RULES (NEVER VIOLATE)
1. **KILL (6+) → delete finding or full rewrite** — simple pattern removal is insufficient
2. **STRENGTHEN (3-5) → remove ALL flagged patterns then re-check**

Measures AI slop score on 0-10 scale.
AI-generated reports are a problem in 40%+ of submissions — triagers actively detect them.

## Input
- `$ARGUMENTS`: report file path

## Score Thresholds (unified standard)

| Score | Verdict | Action |
|-------|---------|--------|
| **0-2** | PASS | Ready for submission |
| **3-5** | STRENGTHEN | Rewrite required — remove slop patterns, re-check |
| **6-10** | KILL | Submission forbidden — full rewrite or delete finding |

## Few-Shot Examples

### PASS (score 1) — Specific, observational, evidence-rich
```
The `pg_list_all_subscriptions()` function returns the `conninfo` field
containing plaintext credentials for cross-owner subscriptions.

Tested on Aiven PostgreSQL 14.9 (plan hobbyist):
  SELECT subname, subconninfo FROM pg_subscription;
  → subconninfo = 'host=xxx password=s3cret_value'

Impact: Any database user with pg_read_all_stats can read connection
passwords of subscriptions owned by other users.
```

### KILL (score 7) — Template language, no specifics, vague impact
```
It is important to note that this comprehensive vulnerability leverages
a robust attack vector. Furthermore, the holistic impact potentially
facilitates unauthorized access to sensitive data. Subsequently, this
could lead to significant security implications. It should be noted
that the vulnerability seamlessly enables privilege escalation.
```

## Procedure

### Step 1: Read Report
```
Read $ARGUMENTS
```

### Step 2: Slop Pattern Count

**Template language** (+0.5 each):
!`grep -ciE "It is important to note|comprehensive|robust|Furthermore|In conclusion|It should be noted|leveraging|utilizing|In summary|As mentioned|It is worth noting|It is crucial|seamlessly|facilitate|Subsequently|Consequently|Notably|Specifically|Importantly|holistic|paradigm|synergy|delve into|multifaceted" "$ARGUMENTS" 2>/dev/null || echo "0"`

**Uncertain language** (+0.5 each):
!`grep -ciE "should work|probably|most likely|presumably|seems to|appears to|it is believed|potentially|theoretically|could potentially|might potentially" "$ARGUMENTS" 2>/dev/null || echo "0"`

**Missing specific evidence** (+2):
- No specific block number / tx hash / timestamp
- No specific file:line references
- No actual response captures

### Step 3: Positive Signals (deductions)

**Target-specific details** (-1 each):
- Specific block number or tx hash included
- Actual API response or error message quoted
- Specific code line reference (file.ts:123)
- Custom analysis element (unique attack scenario name, diagram, etc.)

**Structure differentiation** (-0.5):
- Different section order from previous submissions
- Observational language ("identified in reviewed code")

### Step 4: Score Calculation
```
score = 0
score += template_language_count * 0.5
score += uncertain_language_count * 0.5
score += (2 if no_specific_evidence else 0)
score -= target_specific_details * 1.0
score -= (0.5 if structure_differentiated else 0)
score = clamp(score, 0, 10)
```

### Step 5: Cross-validation with validation_prompts.py (if available)
!`python3 -c "
import sys; sys.path.insert(0, '/home/rootk1m/01_CYAI_Lab/01_Projects/Terminator')
from tools.validation_prompts import check_ai_slop
with open('$ARGUMENTS') as f: text = f.read()
result = check_ai_slop(text)
print(f'validation_prompts score: {result}')
" 2>/dev/null || echo "validation_prompts.py unavailable — manual scoring only"`

### Step 6: Output
```
[SLOP-CHECK] File: <path>
[SLOP-CHECK] Template language instances: N
[SLOP-CHECK] Uncertain language instances: N
[SLOP-CHECK] Specific evidence present: YES/NO
[SLOP-CHECK] Target-specific details: N
[SLOP-CHECK] Score: X/10
[SLOP-CHECK] Result: PASS (<=2) / STRENGTHEN (3-5) / KILL (6+)
[SLOP-CHECK] Fix suggestions: <specific fix suggestions>
```

> **REMINDER**: KILL = delete or full rewrite. triager-sim uses this score for SUBMIT/STRENGTHEN/KILL verdict.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.