Skip to content
Back to skills

Laya Judge

ASecurity

Use the local Laya System-1 judge (`mcp__laya-judge__judge`, or `judge_batch` for many states) for cheap deterministic classification before spending LLM calls.

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 25, 2026
ai-agentsrust

Works with

  • mcp

Security analysis

A100/100

Scanned September 26, 2026

npx -y skills add F0Rextasy/omp-laya-judge --skill laya-judge --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Laya Judge?

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

Security grade badge for Laya Judge
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/f0rextasy-laya-judge/badge)](https://www.skillsdirectory.com/skills/f0rextasy-laya-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
# Laya Judge skill

Use the local Laya System-1 judge (`mcp__laya-judge__judge`, or
`judge_batch` for many states) for cheap deterministic classification
before spending LLM calls.

## When to use

- Triage: route, label, or rank items (tickets, emails, files, review findings).
- Pre-filter: shrink a large candidate set locally, then judge only the
  ambiguous survivors with the LLM `judge()` chain.
- Confidence check: Laya returns calibrated-ish probabilities; distrust any
  answer under ~0.6 and escalate it.

## When NOT to use

- **Multi-step arithmetic, counting, or symbolic logic** — parity,
  primality, divisibility and plain comparisons are answered exactly before
  the model is consulted (`server/core.py:resolve_arithmetic`), but only for a
  state with a single unambiguous number. Wider computation is a confident
  guess, not a measurement: send it to the LLM.
- Nuanced reasoning, long context (>512-1024 tokens), or generation.
- Final verdicts on high-stakes decisions — Laya is a first pass.

## Harness-side gates (no call needed)

The plugin also decides on its own. `hooks/pre/laya-decide.ts` consults the
same local sidecar before some tool calls and at session boundaries, so a
decision can arrive as a `blocked` tool result, a risk caution, an appended
recovery hint, or an injected note list. You do not have to request these.

They are fail-open and measured: on the shipped checkpoint only the
destructive-command caution acts, and it warns rather than blocks. Treat a
`laya ▸` line as a cheap local opinion to weigh, not as a verified fact — the
README publishes the per-gate numbers.

## Calling

`judge(state, questions)` — state is text or a JSON document; questions map
an id to `{type, instructions, criteria?}`:

- `choice`: `criteria: {label: rubric}` → `{choice, confidence}`
- `bool`: → `{bool: P(yes)}`
- `score`: `criteria: [lowest … highest]` → `{score, confidence}`

`judge_batch([{state, questions}, ...])` returns `{results, count,
latency_ms}` — one local call for a whole candidate set.

## The 0.6 gate, honestly

- The escalation threshold is **0.6 by default**, but confidence runs
  checkpoint-dependent: english averages ~0.68, typed-decisions ~0.54 on the
  12-case bench (see `benchmark/compare.json`). Under a pinned non-default
  checkpoint, re-check the gate against `benchmark/calibration.json` before
  trusting it — the auto-accept/false-accept split is published there.
- laya ≥ 0.3.20 warns at load that one temperature entry in the english
  checkpoint is out of range and its confidences are uncalibrated; treat the
  gate as a triage heuristic, not a guarantee.

## Framing (measured, not style)

- Keep criteria SHORT and PARALLEL (`"invoices, payments, refunds"`). Long,
  uneven criteria collapse to prior noise; short ones decided 0.76 vs 0.43
  in A/B tests.
- Align STATE words with LABELS: the head matches them, not the criteria
  prose. State "food is below" + label `down` works; "west" + `left` does not.
- Few options: accuracy falls off past ~20 labels (fixed token budget per
  label). Split large sets coarse-to-fine instead.
- Never echo a previous answer into the state ("Last move was X" flips the
  next pick even when it means death). State facts, not history.

The tool replies with `{answers, model: "laya/<checkpoint or auto>",
routing, usage, latency_ms}`. No data leaves the machine; no tokens are
burned.

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…