Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when writing or tidying a YAML config file so it follows standard yamllint-style formatting: 2-space indentation, lowercase true/false booleans, minimal quoting, and block style. Do NOT use for JSON, TOML, INI, or .env files, and not for deciding which configuration keys and values a service should have.
.claude/skills/yaml-style-conventions/SKILL.md| Model | Lift | Δ tokens | Δ turns | Cases | Verified |
|---|---|---|---|---|---|
| gemini-3.6-flashbest | +77% | +254% | 0% | 22 | 51d ago |
| gemini-3.5-flash | pending re-run | — | |||
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 199% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 97% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 381% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 267% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 331% | 0% |
Enforces the yamllint-default style on every YAML document you write or normalize: 2-space indentation, lowercase true/false, plain unquoted scalars, block style, and a leading ---. Apply whenever the task is to author or clean up a .yaml/.yml file; not when picking what settings the file should contain.
use tabs, and never use 4 spaces. Sequence items under a key are indented two spaces from that key.
true / false. A boolean scalar is always true or false. Never Yes,No, On, Off, TRUE, False, y, or n — those are the legacy YAML 1.1 spellings this style rejects.
name: api-gateway, count: 3).Add quotes ONLY when the value would otherwise parse as a different type or is ambiguous:
answer: "yes", version: "3.10", zip: "07030".null, ~, or an empty value you want as a string → quote: note: "", tag: "null".@ % & ! ? | > # , {),or containing : or a trailing space → quote it. When you must quote, prefer single quotes unless the value needs an escape.
: and after - . Write key: value, never key:value and neverkey :value. A sequence dash is followed by one space: - item. No space before the colon.
\n.
---. Begin the file with a --- document-start marker on its own line. It isrequired for a multi-document stream and is the linted default for single documents too.
line. Do not collapse them into inline flow {key: value} / [a, b]. Reserve flow only for a genuinely empty collection (items: []).
# then text. A comment is a hash followed by one space. Put a full-line comment on itsown line, indented to the block it describes.
The base's echo-the-input default is on the left; the conforming YAML on the right.
A logging block handed in with tabs, Yes, and an inline flow map:
BEFORE logging:
level: DEBUG
handlers: {console: Yes, file: No}
AFTER ---
logging:
level: DEBUG
handlers:
console: true
file: falseAn HTTP server section indented four spaces, with over-quoted plain strings:
BEFORE server:
"host": "localhost"
"port": "8080"
AFTER server:
host: localhost
port: 8080A value that genuinely needs quoting because it would parse as a boolean or a float:
BEFORE reply: yes
release: 2.0
AFTER reply: "yes"
release: "2.0"stays a string: code: "007", not code: 007.
title: a: b) parses wrong unquoted → quote the whole value:title: "a: b".
env: {} / args: [].| literal or > folded), still indented two spaces underits key — not a quoted one-liner with \n.
&name / *name) keep their leading indicator; they are not quoted.true / false. Don't use Yes / No / On / Off.port: "8080" quoted whenthe value is a plain integer.
{a: 1, b: 2}.---. Don't start straight into the first key.:. Don't write key:value.Yes / No / On / Off instead of normalizing to true / false."localhost", "api") that never needed quotes.version: 1.0 silently becomes a float 1).{ } instead of an indented block.---.key:value with no space after the colon.true or false, never Yes/No/On/Off.: and each - .---; no trailing whitespace.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 4,763 | 6,271 | +32% | 1 | 1 | 0% | 940 | 2,814 | +199% | 0 | 0 | — |
case-02 | fail→pass | 6,185 | 3,947 | -36% | 1 | 1 | 0% | 1,230 | 2,423 | +97% | 0 | 0 | — |
case-03 | fail→fail | 2,080 | 2,763 | +33% | 1 | 1 | 0% | 360 | 1,876 | +421% | 0 | 0 | — |
case-04 | fail→fail | 2,906 | 4,249 | +46% | 1 | 1 | 0% | 559 | 2,223 | +298% | 0 | 0 | — |
case-05 | fail→fail | 3,064 | 4,582 | +50% | 1 | 1 | 0% | 559 | 2,350 | +320% | 0 | 0 | — |
case-06 | pass→pass | 6,611 | 4,976 | -25% | 1 | 1 | 0% | 1,137 | 2,742 | +141% | 0 | 0 | — |
case-07 | pass→pass | 4,543 | 6,145 | +35% | 1 | 1 | 0% | 904 | 2,675 | +196% | 0 | 0 | — |
case-08 | fail→pass | 3,163 | 5,912 | +87% | 1 | 1 | 0% | 542 | 2,605 | +381% | 0 | 0 | — |
case-09 | fail→pass | 3,234 | 3,961 | +22% | 1 | 1 | 0% | 589 | 2,164 | +267% | 0 | 0 | — |
case-10 | fail→pass | 2,798 | 3,655 | +31% | 1 | 1 | 0% | 508 | 2,190 | +331% | 0 | 0 | — |
case-11 | fail→pass | 2,341 | 4,531 | +94% | 1 | 1 | 0% | 432 | 2,347 | +443% | 0 | 0 | — |
case-12 | fail→pass | 3,002 | 2,998 | -0% | 1 | 1 | 0% | 516 | 1,962 | +280% | 0 | 0 | — |
case-13 | fail→pass | 3,029 | 2,437 | -20% | 1 | 1 | 0% | 460 | 1,936 | +321% | 0 | 0 | — |
case-14 | fail→pass | 2,733 | 2,245 | -18% | 1 | 1 | 0% | 480 | 1,947 | +306% | 0 | 0 | — |
case-15 | fail→pass | 2,172 | 3,600 | +66% | 1 | 1 | 0% | 377 | 2,097 | +456% | 0 | 0 | — |
case-16 | fail→pass | 4,983 | 2,501 | -50% | 1 | 1 | 0% | 848 | 1,887 | +123% | 0 | 0 | — |
case-17 | fail→pass | 2,665 | 2,563 | -4% | 1 | 1 | 0% | 454 | 1,926 | +324% | 0 | 0 | — |
case-18 | fail→pass | 3,640 | 3,824 | +5% | 1 | 1 | 0% | 688 | 2,274 | +231% | 0 | 0 | — |
case-19 | fail→pass | 3,355 | 3,516 | +5% | 1 | 1 | 0% | 500 | 2,228 | +346% | 0 | 0 | — |
case-20 | fail→pass | 4,390 | 5,551 | +26% | 1 | 1 | 0% | 892 | 2,584 | +190% | 0 | 0 | — |
case-21 | fail→pass | 2,514 | 2,730 | +9% | 1 | 1 | 0% | 443 | 2,031 | +358% | 0 | 0 | — |
case-22 | fail→pass | 2,355 | 2,537 | +8% | 1 | 1 | 0% | 502 | 1,959 | +290% | 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. The headline lift of +77 percentage points is the difference between those two pass rates over the 22 comparable cases.
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.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.5-flash | verified | 7/10/2026 | +50% |
Other measured skills in the registry, with their headline benchmark lift.