evaluator-optimizer

An iterative method for producing an answer, checking it against clear pass-or-fail criteria, and refining it using the results.

In plain words
What is it for?
Use it for bug fixes, code checked by tests or linters, and documents whose quality can be judged against explicit criteria.
Why use it?
It reduces the chance that code or documents are accepted despite failing tests, style rules, or stated requirements.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/patrickserrano/lacquer/evaluator-optimizer
Any agent
npx skills add patrickserrano/lacquer --skill evaluator-optimizer
Clone the repo
git clone --depth 1 https://github.com/patrickserrano/lacquer

Made for: Claude Code, Codex.

Per session 102 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,054 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00102 $0.01054
Opus 5 $0.00051 $0.00527
Sonnet 5 $0.00020 $0.00211
Haiku 4.5 $0.00010 $0.00105

Measured 2d ago against content hash 4b149e0c03c2, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

evaluator-optimizer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

core/skills/evaluator-optimizer/SKILL.md · 94 lines

How it starts

The opening of the file, as written. The whole thing — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Evaluator-Optimizer

Generate → evaluate against explicit criteria → refine with the feedback → repeat until it passes or a round cap is hit. Use it when two things are both true: there's a clear bar (tests, a lint rule, a stated requirement — not "make it better") and refinement demonstrably helps (a model can act on concrete feedback better than it produced the first draft blind). If either is missing — no checkable criteria, or one attempt is already as good as five — skip the loop; it just burns rounds for no gain.

This is a different shape from advisor-checkpoint: that skill is one strategic consult before you commit to an approach. This is a loop that converges one artifact against a bar you can actually check.

Prefer an objective check over an opinion

Whenever the task has one, run the real check — a test suite, go vet/swiftlint/a build — rather than asking a model to judge. A test result is ground truth; a model's opinion about whether code "looks correct" is not. Reserve a model-as-evaluator for criteria that genuinely can't be mechanically checked (architecture quality, whether a document actually answers the stated question, prose clarity).

The loop

  1. Generate. Produce a candidate against the task.
  2. Evaluate. Run the objective check, or — if there isn't one — dispatch an evaluation only against explicit criteria you state up front (not "is this good," but "does it satisfy: correctness, no new lint violations, handles the empty-input case"). The evaluator's job is to grade, not to fix — keep the roles separated so the feedback is a clean signal, not a silent rewrite.
  3. Refine. If it fails, feed the concrete failure (the test output, the lint error, the evaluator's specific complaint) back into the next generation — not "try again," but "this failed because X."
  4. Repeat, capped at 3-5 rounds. If it hasn't converged by then, stop and surface the failure rather than keep spinning — a persistent failure after several rounds usually means the criteria are wrong, the task is underspecified, or the approach needs to change, not that round 6 will suddenly pass.

Read the full file on GitHub · 94 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 94 lines · 102 tokens per session scan A 4b149e0c03c2

Subscribe to this mod's changes

evaluator-optimizer is a skill published in the GitHub repository patrickserrano/lacquer (3 stars, last pushed 2d ago), licensed MIT. It adds 102 tokens to every session and 1,054 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

codex-guide

Codex の使い方、CLI/app/IDE、rules・hooks・AGENTS.md・skills・subagents・config などを案内する。Codex や OpenAI 製品の仕様を答える前に必ず公式ドキュメントを確認し、rules/approval は codex execpolicy check で実検証すること。.

K9i-0/ccpocket · 83 tokens

maui-ai-tool-bindings

Use Microsoft.Maui.AI.Attributes to source-generate Microsoft.Extensions.AI tools for MAUI apps. USE FOR: ExportAIFunction, AIToolSource, AIToolContext, Default.Tools, DI-bound parameters, chat-session scopes, AOT-safe tools, and IChatClient.UseFunctionInvocation. DO NOT USE FOR: Essentials.AI chat or embeddings…

dotnet/maui-labs · 95 tokens

heimdall-contrib

Work on the Heimdall repository itself (@erayendes/asc-mcp) — the App Store Connect MCP server's own source. Use this whenever editing this codebase — changing tool descriptions, moving a tool between profiles, bumping Apple's OpenAPI spec, adding a macro, touching src/generated, or interpreting the AX debt numbers.…

erayendes/app-store-connect-mcp · 111 tokens

app-intents

Expose a fintech iOS app's actions and data to Siri, Shortcuts, Spotlight, widgets, Control Center, and Apple Intelligence with the App Intents framework — AppIntent.perform + IntentResult, @Parameter (options/defaults/dependencies), AppEntity + EntityQuery/EntityStringQuery, AppShortcutsProvider phrases…

TalissonVitorino/kmp-ios-skills · 186 tokens

swarm-orchestration

Multi-agent swarm coordination for complex tasks. Uses hierarchical topology with specialized agents to break down and execute complex work across multiple files and modules. Use when: 3+ files need changes, new feature implementation, cross-module refactoring, API changes with tests, security-related changes…

oceanjustinlin/qimen · 96 tokens

continuous-learning

Pattern extraction and skill generation for mobile development sessions. Automatically learns from your coding patterns.

ahmed3elshaer/everything-claude-code-mobile · 20 tokens