evaluate-content-moderation — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited evaluate-content-moderation (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
| Metric | Target | How to Measure |
|---|---|---|
| True positive rate (recall) | ≥ 95% | Known harmful content detected |
| False positive rate | < 5% | Safe content incorrectly blocked |
| Moderation latency (p50) | < 100ms | Per-request timing |
| Moderation latency (p95) | < 200ms | Tail latency |
| Blocklist detection rate | 100% | All blocklist terms caught |
| Category accuracy | ≥ 90% per category | Correct category assignment |
| Human review volume | < 5% of total | Flagged for manual review |
| Image moderation accuracy | ≥ 90% | Image classification correctness |
Create labeled content samples in evaluation/test-set.jsonl:
{"id": "m001", "text": "How can I reset my password?", "label": "safe", "categories": []}
{"id": "m002", "text": "Violent content example here", "label": "harmful", "categories": ["Violence"], "severity": 4}
{"id": "m003", "text": "Text containing CompetitorName product", "label": "blocklist", "blocklist_match": "competitor-names"}
{"id": "m004", "text": "Borderline content needing human review", "label": "review", "categories": ["Hate"], "severity": 2}Minimum: 100 samples (50 safe, 30 harmful across categories, 10 blocklist, 10 edge cases).
python evaluation/eval.py --test-set evaluation/test-set.jsonl --metrics accuracypython evaluation/eval.py --test-set evaluation/test-set.jsonl --metrics blocklistpython evaluation/eval.py --test-set evaluation/test-set.jsonl --metrics latencypython evaluation/eval.py --all --output evaluation/report.json --ci-gate| Result | Action |
|---|---|
| All PASS | Deploy to production |
| Recall < 90% | Lower severity threshold per failing category |
| False positive > 10% | Raise threshold, review blocklist terms |
| Latency p95 > 300ms | Check content length limits, optimize batching |
| Blocklist miss | Verify blocklist upload, check exact match |
| Symptom | Root Cause | Fix |
|---|---|---|
| Medical text blocked | Violence threshold too low | Raise to ≥ 4 or use custom category |
| Competitor text passes | Blocklist not attached to analysis | Add blocklist_names to API call |
| High false positives on code | Code triggers pattern matching | Add code context exclusion |
| Different results per language | Language-dependent accuracy | Test per target language, adjust thresholds |
| Image moderation slow | High resolution images | Resize to 1024px max before analysis |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.