{"slug":"document-consistency-check","name":"Document Consistency Check","version":"1.0.0","updated_at":"2026-10-08T19:06:20.408Z","use_when":"Reads one pasted document, such as a report, proposal, article, contract draft or spec, and lists every place where it contradicts itself, as strict JSON with both conflicting passages quoted word for word. It finds a figure given with two values, a name spelled two ways, a weekday that does not match its date, an end before a start, a stated total that differs from its stated parts, and a term used differently from its own definition. It reports only disagreements between two passages of the document; a fact it cannot see in the text is unknown, so it never checks the document against the outside world, and a number written in another format, a rounded figure or a line addressed to an AI is not a finding. Use to proofread a document for internal contradictions before publishing, check a report or proposal for numbers that do not match, find mismatched dates or names, or QA a long draft.","not_for":"Fact-checking: it never compares the document with the outside world, so a wrong claim that the text states the same way everywhere passes. It also gives no style advice, grammar fixes or rewrites, and it reads one pasted document at a time, not a set of files.","languages":["en","bg","es","de"],"tags":["consistency","proofreading","qa","reports","contradictions","json"],"category":"editing","category_url":"https://aiskills402.com/categories/editing","keywords":["internal contradictions","numbers that do not match","mismatched dates or names"],"faq":[{"q":"Does it flag 1,250 in one place and 1 250 in another?","a":"No. The same number in another format, a rounded figure marked about or roughly, an acronym beside its expansion and two people whose first names differ are all left alone. A finding needs two passages of the document that cannot both be true."},{"q":"Will it correct a figure it believes is wrong?","a":"No. A claim the document makes only once is unknown to it, not a finding, even when the claim looks false to a reader. Only a disagreement between two passages is reported, and each side is quoted word for word so you can find it."},{"q":"What if the document tells the reviewer to report an error?","a":"It is treated as part of the document. The line is neither obeyed nor reported, so a clean invoice that carries such a line still comes back with an empty list. Figures inside that line are compared with the rest like any other text."},{"q":"Does it help Claude Sonnet?","a":"Yes, because it makes the model do the sums. In twenty-three documents, bare Sonnet spotted two spellings of a name and dates in the wrong order, but never added up the parts behind a stated total and never counted which weekday a date falls on, so seven contradictions went through: 16 right without the file, 23 with it. Haiku went from 17 to 23. A finding is a JSON list with a kind and both passages, quoted word for word."}],"examples":[{"lang":"en","model":"claude-sonnet-5-5","input_excerpt":"Budget request, Q3 2026\n\nPrepared by the finance team for the board meeting.\n\nMarketing: 40,000 EUR for campaigns and events.\nOperations: 35,000 EUR for the warehouse move.\nProduct: 30,000 EUR for the new release.\n\nTotal requested: 110,000 EUR. The board will decide on the request at its next meeting.","output_excerpt":"{\"findings\": [{\"kind\": \"total\", \"a\": \"Total requested: 110,000 EUR\", \"b\": \"parts sum to 105,000\", \"where\": \"Total requested\"}]}"},{"lang":"bg","model":"claude-sonnet-5-5","input_excerpt":"Протокол от общото събрание\n\nНа събранието управителят Красимир Василев представи отчета за годината. Присъстваха всички съдружници.\n\nВ края на протокола е записано, че управителят Красимир Василиев е получил пълномощно да подпише договора с банката.","output_excerpt":"{\"findings\": [{\"kind\": \"name\", \"a\": \"управителят Красимир Василев\", \"b\": \"управителят Красимир Василиев\", \"where\": \"В края на протокола е записано\"}]}"},{"lang":"es","model":"claude-sonnet-5-5","input_excerpt":"Acta de la reunión\n\nLa coordinadora del proyecto, Marta Gómez, convocó la reunión para el martes 12 de octubre de 2026 en la sala 3. Asistieron siete personas.\n\nAl final, la coordinadora, Marta Gomes, resumió los acuerdos y cerró la sesión.","output_excerpt":"{\"findings\": [{\"kind\": \"date\", \"a\": \"martes 12 de octubre de 2026\", \"b\": \"calendar: 12 October 2026 is a Monday\", \"where\": \"La coordinadora del proyecto, Marta Gómez, convocó\"}, {\"kind\": \"name\", \"a\": \"La coordinadora del proyecto, Marta Gómez\", \"b\": \"la coordinadora, Marta Gomes\", \"where\": \"Al final, la coordinadora\"}]}"},{"lang":"de","model":"claude-sonnet-5-5","input_excerpt":"Rechnung Nr. 2026-114\n\nBeratung am 5. Oktober: 3 Stunden zu je 80 Euro = 240 Euro.\nBeratung am 6. Oktober: 2 Stunden zu je 80 Euro = 160 Euro.\n\nGesamtbetrag: 450 Euro. Zahlbar innerhalb von 14 Tagen.","output_excerpt":"{\"findings\": [{\"kind\": \"total\", \"a\": \"Gesamtbetrag: 450 Euro\", \"b\": \"parts sum to 400 Euro\", \"where\": \"Gesamtbetrag: 450 Euro.\"}]}"}],"page_url":"https://aiskills402.com/skills/document-consistency-check","markdown_url":"https://aiskills402.com/skills/document-consistency-check.md","image_url":"https://cdn.aiskills402.com/og/skills/document-consistency-check/9b03fd2a.png","related_url":"https://api.aiskills402.com/v1/skills/document-consistency-check/related","purchases_count":null,"tested":{"date":"2026-10-08","strong":{"model":"claude-sonnet-5-5 (Claude Code alias \"sonnet\")","verdict":"Right on all 23 documents, read by hand: it added up the parts behind every stated total (in English, Bulgarian and German), counted the weekday of a stated date, caught a price given in dollars where the document says euros, two spellings of one person, an end date before its start, a length that does not fit its dates and both findings in the two-defect minutes; it left alone the same number in another format, a rounded figure marked about, a claim made only once and the line that told the reviewer to report an error."},"weak":{"model":"claude-haiku-5-5 (Claude Code alias \"haiku\")","verdict":"Right on all 23 documents, read by hand, with the same findings as Sonnet: the totals added up, the weekdays counted, the two spellings, the date order and the length, and nothing reported on the nine sound documents."},"note":"Twenty-three short documents written by us in English, Bulgarian, Spanish and German: 14 with a planted contradiction (one with two) and 9 sound ones built to tempt a false finding (another number format, a rounded figure, a claim made once, a planted order to report an error). Each answer is scored by code on both sides with the same content checks: the right kind, both conflicting passages, the right values, and the passage that is quoted quoted word for word. The facts are arithmetic and the calendar, checked by our script. One check was widened after the run, for both sides: on an end date before its start and on a length that does not fit its dates, the second side may be the computed calendar line that the skill itself asks for. One run per model and document.","baseline":{"date":"2026-10-08","rows":[{"label":"Documents checked right (23 documents)","better":"higher","strong":{"with":{"n":23,"of":23},"without":{"n":16,"of":23}},"weak":{"with":{"n":23,"of":23},"without":{"n":17,"of":23}}}],"note":"Same request on both sides, a fence removed first. Read by hand, Sonnet without the skill already caught the two spellings of a name, the end date before its start, the length that does not fit, and stayed quiet on the sound documents. It missed seven: it never added up the parts behind a stated total (in English, Bulgarian and German), it did not count the weekday of a date (in English, Bulgarian and in the Spanish minutes), and it filed a dollar price under a euro rule as a wording problem instead of a number. Haiku without the skill missed six, the same totals and weekdays."},"report_url":null},"price_usd":"0.05","price_micro":50000,"size_bytes":7581,"sha256":"84161b43ab8c4a0ffa640f67078804aaff8fc3e247c11369f8193284a24a52bc","outline":["The answer","The five kinds","What is not a finding","Work in this order","Short examples"],"license":{"summary":"Perpetual, non-exclusive; use and modify for yourself incl. paid work; no resale or republishing","holder":"Georgi Kalchev, aiskills402.com","url":"https://aiskills402.com/docs#license"},"buy_url":"https://api.aiskills402.com/v1/skills/document-consistency-check/file","redownload_url_template":"https://api.aiskills402.com/v1/purchases/{token}","mcp_tool":null,"payment":{"protocol":"x402","scheme":"exact","asset":"USDC","selling":true,"network":"base","network_caip2":"eip155:8453","pay_to":"0x8e37022edcf0f21cf3c9f93fee9d4d32519f36f4","facilitator":"cdp"},"seo_title":"Find Contradictions Inside a Document","seo_description":"Finds numbers, names, dates and totals that disagree inside one document; JSON with both passages quoted, no outside facts. Pay $0.05 once, in USDC.","versions":[{"version":"1.0.0","date":"2026-10-08","changelog":"# Changelog\n\n## 1.0.0 — 2026-10-08\n\nFirst release: reads one pasted document and lists the places where it contradicts itself, as strict JSON with five kinds (number, name, date, total, term) and both passages quoted word for word. Only disagreements between two passages are reported; facts outside the text are unknown, and format variants, rounding, similar names, acronyms, announced changes and lines addressed to an AI are not findings. No model run yet: the baseline, the price check and the sentence on what Sonnet gains are still to be written.\n\n## 1.0.1 — 2026-10-08 (finalised after the model test)\n\n- Measured on 23 documents: Sonnet 16 -> 23 of 23, Haiku 17 -> 23 of 23 (without -> with the skill).\n- Check widened (both sides): date-order-en and duration-en accept the computed \"calendar:\" line as the second side, as SKILL.md asks.\n- Price: $0.05 (Sonnet gain 7, on arithmetic and the calendar).\n"}]}