Skip to main content
ResumeTune

Updated August 13, 2026

Writing a skills section for ATS and humans

The skills section is the part of a resume most often written for the wrong reader. Written purely for software it becomes an unreadable keyword dump; written purely for a person it often omits the exact terms that make a match possible.

Both audiences are real and the requirements are compatible. This guide covers what belongs in a skills list, what belongs in your experience bullets instead, and the specific wording and formatting decisions that determine whether a skill is found at all.

Where this describes ResumeTune's own scoring, it says so. No public tool can describe what a particular employer's system does with your skills, and this guide does not pretend otherwise.

Two readers, two different jobs

A recruiter skimming your resume uses the skills section as a fast orientation: roughly what kind of engineer, marketer, or analyst is this, and is it worth reading the rest. That takes a few seconds and rewards a short, scannable, honestly-scoped list.

Automated matching uses it differently. It is comparing the text of your resume against the text of a posting, so the skills section is a dense, high-value block of exactly the terms that comparison looks for. That rewards using the real, conventional name of each technology or method.

These pull in the same direction more than people expect. The failure mode is not "human-friendly versus machine-friendly" — it is a list so long that the recruiter stops reading and the signal is diluted for everything else.

The heading has to be detectable first

None of the content matters if the section is not found. ResumeTune detects a skills section from a line reading exactly Skills, Technical Skills, Core Competencies, Technologies, or Key Skills — and the line must contain the heading and nothing else.

The most common way to lose the section is to fuse the heading to its content. "Skills: Python, SQL, Docker" is one line containing both, so no heading is detected. The same text split across two lines — the heading, then the list — is detected and looks essentially identical on the page.

  • Put the heading alone on its own line.
  • Use a conventional name rather than "My Toolkit" or "What I Work With".
  • Do not append a colon and the list to the heading line.

Hard skills list well; soft skills do not

Hard skills are concrete and nameable: languages, frameworks, tools, platforms, certifications, methodologies, regulated standards. They have canonical names, they match reliably as text, and a reader can evaluate them at a glance. These are what a skills list is for.

Soft skills — communication, leadership, problem-solving, attention to detail — are claims rather than facts, and listing them proves nothing. Every applicant lists them, so they carry almost no discriminating signal, and they consume the scanning attention your hard skills need.

The better home for a soft skill is evidence inside an experience bullet. "Led a team of six through a platform migration" demonstrates leadership more credibly than the word "Leadership" in a list, and it still contains the term for any text comparison that looks for it.

How ResumeTune weights technical terms

When you paste a job description, ResumeTune extracts up to twenty of its most prominent terms and checks which appear in your resume. That extraction is not neutral: it carries a list of roughly ninety recognized technical terms — languages, cloud platforms, databases, frameworks, and practices like agile, scrum, and devops — and any of those found in the posting is weighted three times more heavily than an ordinary word.

The practical effect is that hard skills dominate the extracted keyword list. If a posting mentions Kubernetes, Terraform, and PostgreSQL, those will almost certainly appear among the twenty terms your resume is checked against, ahead of generic phrasing from the same posting.

That is a deliberate bias toward the terms that actually distinguish candidates, and it is worth knowing when you read your results. It is also specific to ResumeTune's free check — it is not a claim about how any employer weights anything.

Exact wording decides whether a skill matches

Skill matching compares text, not meaning. A term is counted as found if it appears in your resume, either exactly or after punctuation and spacing are stripped from both sides. That second pass is why "Node.js" in a posting matches "nodejs" in your resume, and why "CI/CD" matches "cicd".

What it does not do is reason about synonyms. If the posting says "PostgreSQL" and your resume says only "Postgres", that is a miss. If the posting says "JavaScript" and you wrote "JS", that is a miss. If the posting says "machine learning" and your resume says only "ML", that is a miss. Nothing in the comparison knows these are the same thing.

The fix is not to abandon the shorthand you prefer — it is to include both forms once. Writing "PostgreSQL (Postgres)" or "JavaScript / JS" in the skills list costs a few characters and makes either phrasing match. Do this for the handful of skills central to your target roles rather than for everything.

  • Spell out the full canonical name at least once.
  • Add the common abbreviation alongside it where both are widely used.
  • Prefer the posting's spelling when it differs from yours and both are accurate.
  • Do not invent variants for skills you do not have.

The list is a summary; the bullets are the evidence

A skills section that names a technology proves only that you wrote the word. A recruiter knows this, which is why the list is treated as a claim to be verified against your experience rather than as proof in itself.

The strongest structure uses both: the skill appears in the list for scanning and matching, and appears again inside an experience bullet attached to something you built with it. "Rebuilt the ingestion pipeline in Python, cutting processing time from six hours to forty minutes" verifies the Python entry in a way the list alone cannot.

This also protects you at interview. A skill supported by a specific story survives the follow-up question. A skill that exists only as a word in a list is where interviews go wrong, and it is the reason keyword-stuffing is a bad trade even when it raises a score.

Formatting choices that hide skills entirely

The skills section attracts more visual design than any other part of a resume, and most of that design is invisible to text extraction. A skill rendered as a logo, an icon, or a segment of a chart is not text and may never be extracted at all.

Proficiency indicators are the clearest example of effort spent badly. A five-dot rating or a filled progress bar next to each skill communicates nothing extractable — the dots carry the meaning and the dots are graphics. It also invites a judgement you did not intend, since your "three out of five" and the reader's are not the same scale.

Multi-column skill grids are the other frequent casualty. A three-column layout of skill names often extracts as interleaved fragments, producing lines that match nothing. A comma-separated list, or one skill per line, extracts cleanly and reads fine.

  • Keep skills as real text, never inside images, icons, or charts.
  • Drop proficiency bars, dots, and star ratings — say "advanced" in words if it matters.
  • Prefer a comma-separated list or one-per-line over a column grid.
  • Avoid tables used purely to lay the section out.

Scope, length, and honesty

A skills list works best when it is short enough to read and specific enough to be checkable — roughly ten to twenty entries for most roles. Beyond that the recruiter stops reading, and the density of your genuinely strong skills falls.

Group related entries if the list runs long: Languages, Cloud and Infrastructure, Data, Tools. Grouping helps the human scan, and costs nothing for text matching since every term is still present.

Finally, list only what you would be comfortable being asked about. A skill you touched once is a liability, not an asset, and a mid-range readability score on an honest resume is a better position than a high score you cannot defend in the first technical conversation.

Frequently asked questions

Should I list soft skills?
They list poorly. Communication or leadership are claims rather than facts, every applicant lists them, and they consume the scanning attention your hard skills need. The better home for a soft skill is evidence inside an experience bullet that demonstrates it.
Why did Postgres not match PostgreSQL?
Because matching compares text, not meaning. A term counts as found if it appears exactly or after punctuation and spacing are stripped, which is why Node.js matches nodejs. Genuine synonyms and abbreviations you never wrote will register as missing.
Are skill proficiency bars a problem?
They communicate nothing extractable, because the dots or bars carry the meaning and graphics are not text. They also invite a judgement you did not intend, since your three out of five and the reader's are not the same scale.
How many skills should I list?
Roughly ten to twenty entries suits most roles: short enough to read, specific enough to be checkable. If the list runs long, group related entries under labels like Languages or Cloud and Infrastructure, which helps a human scan and costs nothing for matching.