Skip to content
Back to skills

Phrase Judge

ASecurity

Use when writing, fixing, or working around any checker, gate, or lint, in any repo, that decides based on what a text means.

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 19, 2026
ai-agentsgit

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add EdbertChan/catstack --skill phrase-judge --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Phrase Judge?

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

Security grade badge for Phrase Judge
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/edbertchan-phrase-judge/badge)](https://www.skillsdirectory.com/skills/edbertchan-phrase-judge)

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: phrase-judge
description: >-
  Use when writing, fixing, or working around any checker, gate, or lint, in any
  repo, that decides based on what a text means.
---

# Phrase Judge

Use a phrase dictionary for any checker whose decision depends on the meaning
of prose. A checker declares that meaning in
`engine/hooks/llm-judge/phrases/<checker>.json`, then builds an llm-judge job
from that dictionary instead of owning its own prompt text.

Seed `match` and `not_match` with real pasted texts. When the checker misses a
reworded case, add that text to `match`. When it fires on harmless text, quoted
text, or negated text, add that text to `not_match`. Grow the dictionary from
real misses instead of writing a regex.

Use regex only for parsing fixed machine formats such as JSON fields, command
output labels, or file paths. Do not use a regex to decide whether free-form
prose means the checker's condition.

This holds in every repo, including checkers this repo does not own. When a
word or pattern list decides meaning, replace the decision: never trim, extend,
or reword around the list. Decide from typed inputs when they exist — declared
file lists, JSON fields, exit codes — as in Alexis King,
[Parse, don't validate](https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/)
(2019). Where meaning still needs a judge but none can run, such as CI without
model access, the check reports unchecked and warns; it never passes silently.

The judge answers in the background. A dictionary checker never blocks the
agent's reply, and a hit reaches the agent later through the llm-judge inbox.

Files in this skill

  • SKILL.md1.6 KB
  • tests/fires_example.md694 B
  • tests/stays_silent_example.md216 B
  • tests/test_phrase_judge_skill.py1.3 KB

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.