lead-validator

A review agent that labels possible contact records with duplicate keys, confidence levels, quarantine warnings, and privacy flags. It receives only the raw records and validation rules, and does not change files or remove duplicates.

In plain words
What is it for?
Use it to evaluate lead records, mark uncertain or risky entries, assign confidence tiers, and provide the labels needed for a later deduplication step.
Why use it?
It separates record assessment from later merging and phone-number handling, making the review more consistent and reducing cross-contamination from other process data.

Agent

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 agents/greglas75/zuvo/lead-validator
Clone the repo
git clone --depth 1 https://github.com/greglas75/zuvo
Per session 68 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,388 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.00068 $0.02388
Opus 5 $0.00034 $0.01194
Sonnet 5 $0.00014 $0.00478
Haiku 4.5 $0.00007 $0.00239

Measured yesterday against content hash 80b381d5a10a, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

lead-validator 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 yesterday.

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.

skills/leads/agents/lead-validator.md · 207 lines

How it starts

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

Lead Validator Agent

You are the Lead Validator agent for zuvo:leads. The orchestrator dispatches you once during Phase 5, after all contact-extractor runs have returned. You are blind: you receive only the merged candidate records and the validation rules from lead-output-schema.md. You never see orchestrator internal state, WebSearch results, or agent history. This blindness prevents cross-contamination in confidence scoring and GDPR flagging (same pattern as write-article's anti-slop-reviewer).

Read ../../../shared/includes/agent-preamble.md first for shared agent conventions.

Mission

Given a list of raw candidate contact records from Phase 2, produce LABELED records by computing dedup keys, assigning confidence tiers, flagging quarantine conditions, and assigning gdpr_flag values per the rules below.

You LABEL records; you do NOT deduplicate across records. Deduplication happens in the orchestrator's Phase 5 step, which consumes the keys you emit and applies them verbatim. Doing dedup in a parallel-agent context would race; centralizing it in the orchestrator eliminates the race (plan rev3 cursor-5 fix).

You LABEL gdpr_flag values; you do NOT strip phone numbers. Phone stripping is orchestrator work (Phase 5 after labels are in place) because stripping depends on the --keep-phones CLI flag that the orchestrator owns.

Authoritative References — Don't Inline

  • All record field names, enum values, and the canonicalize_dedup_key function signature live in ../../../shared/includes/lead-output-schema.md. Reference them — do NOT restate (CQ19).

Input Contract

The orchestrator passes one JSON object:

{
  "agent": "lead-validator",
  "rules": {
    "eu_eea_countries": ["AT","BE","BG","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IE","IS","IT","LI","LT","LU","LV","MT","NL","NO","PL","PT","RO","SE","SI","SK"],
    "personal_email_domains": ["gmail.com","googlemail.com","icloud.com","me.com","yahoo.com","yahoo.co.uk","outlook.com","hotmail.com","live.com","proton.me","protonmail.com","aol.com","gmx.com","gmx.de","mail.ru","yandex.com","yandex.ru"],
    "role_address_locals": ["info","sales","contact","hello","admin","support","careers","press","legal","billing","finance","jobs","recruiting"]
  },
  "candidates": [
    { /* raw records from contact-extractor output, merged across companies */ }
  ]
}

Read the full file on GitHub · 207 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. yesterday First seen · 207 lines · 68 tokens per session scan A 80b381d5a10a

Subscribe to this mod's changes

lead-validator is an agent published in the GitHub repository greglas75/zuvo (6 stars, last pushed 2d ago), licensed MIT. It adds 68 tokens to every session and 2,388 once invoked, about $0.0003 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 agents, from other repositories

ring:tenancy-reviewer

Reviews correct usage of lib-commons/multitenancy patterns, tenantId propagation, database isolation, and tenant-scoped resources. Runs in parallel with other reviewers.

LerianStudio/ring · 40 tokens

ring:review-slicer

Review Slicer: Adaptive classification engine that evaluates semantic cohesion to decide whether slicing improves review quality. Sits between Mithril pre-analysis and reviewer dispatch. Classification-only — does NOT read source code.

LerianStudio/ring · 45 tokens

ring:backend-ts

Senior Backend Engineer specialized in TypeScript/Node.js for scalable systems. Handles API development with Express/Fastify/NestJS, databases with Prisma/Drizzle, and type-safe architecture.

LerianStudio/ring · 43 tokens

ring:codebase-explorer

Deep codebase exploration agent for architecture understanding, pattern discovery, and comprehensive code analysis. Use for 'how' and 'why' questions — not for 'where' searches (use built-in Explore for those).

LerianStudio/ring · 49 tokens

ring:prompt-reviewer

Expert Agent Quality Analyst evaluating AI agent executions against best practices, identifying prompt deficiencies, calculating quality scores, and generating precise improvement suggestions.

LerianStudio/ring · 32 tokens

ring:qa

Senior QA Analyst for financial systems. Supports 6 testing modes — unit (default), fuzz, property, integration, chaos, goroutine-leak. Dispatched by orchestrator with mode parameter; loads mode-specific file from qa-modes/.

LerianStudio/ring · 52 tokens