Test results
Mojibake Repair: Undo Broken Encoding Exactly: test results
Tested 2026-10-09, skill version 1.0.0 at the time of loading this page. We run every skill on a strong and a weak model before it is listed, and publish both verdicts, including where the weak one fails.
Verdicts
- Date
- 2026-10-09
- Strong · claude-sonnet-5-5 (Claude Code alias "sonnet")
- Right on all 21, checked by code character by character: Windows-1252 and Latin-1 damage in German and French, Cyrillic read as Windows-1252 and as Windows-1251, a Windows-1251 origin when the task names it, emoji, a CSV cell, a JSON line, double damage, a planted instruction, five texts that were already correct left untouched, and a CANNOT REPAIR line on six ambiguous inputs (mixed lines, two encodings, a replacement character, question marks, a lost invisible byte, a Windows-1251 origin the task does not name).
- Weak · claude-haiku-5-5 (Claude Code alias "haiku")
- Right on 20 of 21, checked by code character by character, but when the task said the text was written in Windows-1251 it returned the damaged text unchanged.
With and without the skill
Tested 2026-10-09.
| Sonnet | Haiku | |||
|---|---|---|---|---|
| with | without | with | without | |
| Texts restored exactly (15 with one possible original) | 15/15 | 15/15 | 14/15 | 15/15 |
| Ambiguous texts refused, not guessed (6) | 6/6 | 1/6 | 6/6 | 1/6 |
Same request on both sides; it asks for the original text and for one sentence instead of a guess when the text cannot be restored with certainty. Sonnet without the skill restored every text with one possible original. On five of the six ambiguous ones it restored the text anyway, and each guess matched the original we started from; the skill refuses there by design, because another original is possible. Counted as a gain only in the second row, so the price rests on the first. Haiku behaved the same way without the skill, and with it slipped once on a named Windows-1251 origin.
Same cases and the same checks with and without the skill. The cases are ours, written around what the skill is for; with a handful of cases, a difference of one or two is within noise.
Note
Twenty-one texts written by us in English, German, French, Portuguese and Bulgarian: 10 damaged texts with one possible original, 6 ambiguous ones that must be refused, and 5 that are already correct. Every damaged text is made by our script from a known original, and each answer is compared with it character by character. Three more cases were built and dropped: the command line we test through strips the characters U+0080 to U+009F and carriage returns before the model sees them (measured: A U+009F B U+0090 C sent, A B C seen), so the invisible-partner and CRLF rules are not tested here. One check was widened for both sides: a refusal that names example words such as Müller is no longer read as a repair. The refusal rules follow from the encodings; nothing was owner-measured. One run per model and text.
What was not measured
- Models other than the two named above were not run.
- Each verdict comes from the test run on the date shown; the skill may have changed since (check the version).
- Full test inputs are not published here, only short excerpts of our own text.
- Results on your own texts, languages and domains can differ.
Back to Mojibake Repair: Undo Broken Encoding Exactly · Card (JSON)