Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Enforces markdown line-wrap and structure rules for clean git diffs. Use when writing or editing any committed markdown documentation or skill file.
.claude/skills/athola-markdown-formatting/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 168% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-15 | ✓→✓ | = Same ✓ | -30% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 140% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 156% | 0% |
their own formatting rules)
These conventions apply to all markdown documentation generated or modified by any plugin. The goal: produce prose that creates clean, reviewable git diffs and reads well on mobile devices.
When writing or editing markdown prose:
sentence/clause boundaries over arbitrary word breaks)
# Heading, never setext underlines)beyond 80 chars
Wrap these content types at 80 characters:
>)- or 1. )Never wrap or reflow these content types:
) or indented content#--- or +++[id]: url reference lines on their own lineFor each prose paragraph:
sentence boundary (. ! ? ) before column 80
boundary (, ; : ) before column 80
(and but or ) before column 80
before column 80
See modules/wrapping-rules.md for the full algorithm with examples.
markdownWRONG: Some text. ## Heading More text. RIGHT: Some text. ## Heading More text.
Exception: the first line of a file may be a heading without a preceding blank line.
markdownWRONG: Heading ======= WRONG: Subheading ---------- RIGHT: # Heading RIGHT: ## Subheading
markdownWRONG: Some introductory text: - Item one - Item two RIGHT: Some introductory text: - Item one - Item two
When an inline link pushes a line beyond 80 characters, use reference-style syntax:
markdownWRONG (line too long): See the [formatting guide](https://google.github.io/styleguide/docguide/style.html) for details. RIGHT: See the [formatting guide][fmt-guide] for details. [fmt-guide]: https://google.github.io/styleguide/docguide/style.html
Place link definitions at the end of the current section or at the end of the document. When the same URL appears multiple times, use a single shared reference definition.
Short inline links that keep the line under 80 chars are fine:
markdownOK: See [the guide](https://example.com) for details.
fewer; verified with awk 'length>80' <file> returning no matches on prose blocks (tables, code, headings, frontmatter excluded)
the first line of a file); no setext-style underline headings present
converted to reference-style syntax with the URL definition at the end of the section or document
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-15 | pass→pass | 16,160 | 4,836 | -70% | 1 | 1 | 0% | 2,957 | 2,079 | -30% | 0 | 0 | — |
case-01 | fail→fail | 2,058 | 25,287 | +1129% | 1 | 1 | 0% | 300 | 1,691 | +464% | 0 | 0 | — |
case-02 | fail→fail | 2,932 | 3,553 | +21% | 1 | 1 | 0% | 417 | 1,738 | +317% | 0 | 0 | — |
case-03 | fail→fail | 3,661 | 8,479 | +132% | 1 | 1 | 0% | 561 | 2,001 | +257% | 0 | 0 | — |
case-04 | pass→pass | 3,770 | 3,144 | -17% | 1 | 1 | 0% | 700 | 1,677 | +140% | 0 | 0 | — |
case-05 | pass→pass | 5,687 | 7,557 | +33% | 1 | 1 | 0% | 966 | 2,475 | +156% | 0 | 0 | — |
case-06 | pass→pass | 6,266 | 2,665 | -57% | 1 | 1 | 0% | 1,076 | 1,525 | +42% | 0 | 0 | — |
case-07 | fail→fail | 5,073 | 4,355 | -14% | 1 | 1 | 0% | 933 | 1,908 | +105% | 0 | 0 | — |
case-08 | fail→pass | 4,042 | 3,531 | -13% | 1 | 1 | 0% | 648 | 1,737 | +168% | 0 | 0 | — |
case-09 | fail→fail | 3,074 | 13,303 | +333% | 1 | 1 | 0% | 543 | 3,764 | +593% | 0 | 0 | — |
case-10 | pass→pass | 5,649 | 10,833 | +92% | 1 | 1 | 0% | 1,122 | 3,328 | +197% | 0 | 0 | — |
case-11 | pass→pass | 3,980 | 2,974 | -25% | 1 | 1 | 0% | 617 | 1,507 | +144% | 0 | 0 | — |
case-12 | pass→pass | 2,035 | 2,100 | +3% | 1 | 1 | 0% | 293 | 1,423 | +386% | 0 | 0 | — |
case-13 | pass→pass | 6,155 | 1,680 | -73% | 1 | 1 | 0% | 1,002 | 1,303 | +30% | 0 | 0 | — |
case-14 | pass→pass | 5,853 | 1,840 | -69% | 1 | 1 | 0% | 1,039 | 1,392 | +34% | 0 | 0 | — |
case-16 | pass→pass | 4,329 | 3,182 | -26% | 1 | 1 | 0% | 764 | 1,608 | +110% | 0 | 0 | — |
case-17 | pass→pass | 5,229 | 4,016 | -23% | 1 | 1 | 0% | 913 | 1,811 | +98% | 0 | 0 | — |
case-18 | pass→pass | 4,500 | 7,068 | +57% | 1 | 1 | 0% | 780 | 2,547 | +227% | 0 | 0 | — |
case-19 | pass→pass | 8,242 | 7,991 | -3% | 1 | 1 | 0% | 1,852 | 2,612 | +41% | 0 | 0 | — |
case-20 | pass→pass | 7,647 | 5,275 | -31% | 1 | 1 | 0% | 1,426 | 2,040 | +43% | 0 | 0 | — |
case-21 | fail→pass | 8,378 | 2,352 | -72% | 1 | 1 | 0% | 1,416 | 1,502 | +6% | 0 | 0 | — |
case-22 | pass→pass | 7,252 | 7,592 | +5% | 1 | 1 | 0% | 1,212 | 2,356 | +94% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +9 percentage points is the difference between those two pass rates over the 21 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.