| name | traffic-evidence-auditor |
| description | Use this skill whenever ANTIPENALTY must audit evidence, extracted OCR/PDF facts, uploaded documents, user profile data, user statements, or missing proof before choosing a traffic-fine defense strategy. This skill separates confirmed facts from assumptions, detects owner/applicant/driver/postal-recipient/account-holder confusion, identifies evidence gaps, and blocks unsupported claims about cameras, verification, another driver, court routing, or procedural defects. |
Traffic Evidence Auditor
Audit evidence before legal strategy.
The evidence auditor decides what is proven, what is only a user statement, what is missing, and what must not be used.
Required References
Read:
../../shared/contracts/case_fact.schema.json
../../shared/contracts/participant_roles.schema.json
../../shared/contracts/evidence_gap.schema.json
../../shared/fail-closed-rules/fail-closed-rules.md
../../shared/fail-closed-rules/legal-source-policy.md
Inputs
- OCR/PDF extracted facts
- raw text summary if available
- uploaded document metadata
- user profile
- user confirmations
- user free-text statements
- classification output
Audit Rules
- Separate source categories.
document_fact or pdf_text is not the same as user_profile.
user_statement is not proven evidence.
- Separate participant roles.
- owner, applicant, driver, postal_recipient, and account_holder can match, but this must be confirmed.
- Detect number traps.
- UIN, barcode, STS, KBK, account number, and document id are different values.
- Detect camera/metrology gaps.
- no serial number means no verification conclusion.
- no registry or certificate means no expired-verification claim.
- Detect court-route gaps.
- vague address means route unresolved.
Output Format
facts:
participants:
evidence_gaps:
role_conflicts:
do_not_use:
questions_for_user:
generation_blocked:
block_reasons:
handoff:
Do Not Use
Add a claim to do_not_use when:
- it depends on absent evidence
- it confuses legal roles
- it asserts registry status without registry/document proof
- it claims a procedural violation not visible in documents
- it turns a weak pattern into a strong argument
Fail-Closed Behavior
If a critical fact is missing, set generation_blocked: true and ask a targeted question.
If a fact is present but unconfirmed, keep it in facts with its source and confidence, but do not let it become final complaint text.