Faber ats
AI resume crafting skill suite - anti-AI voice, per-bullet framework routing, ATS optimization
npx -y skills add faber-craft/faber-resume --skill faber-atsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Checks resume content and structure against ATS (Applicant Tracking System) parsing requirements and a target job description. Returns a structured report with keyword match percentage, missing-keyword gap table, section header validation, date consistency check, metric density score, and concrete formatting recommendations. TRIGGER when: user asks if their resume will pass ATS, wants a keyword match analysis, asks about resume compatibility, pastes a job posting alongside their resume for comparison, or asks "will this get through the filters?" Also triggers when user mentions ATS, applicant tracking, keyword optimization, resume scanning, or job match percentage. DO NOT TRIGGER when: user wants to write or rewrite resume content (use faber or faber-bullet), wants a cover letter, or wants general career advice.
SKILL.md
7.3 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
Faber ATS — The ATS Content Auditor
Checks resume content against ATS parsing requirements and job descriptions. Produces a structured compatibility report with actionable recommendations.
Core Principle
ATS systems don't read resumes like humans. They extract raw text, segment it into fields, and match keywords against job requirements. This auditor checks whether the resume's content will parse correctly and match well — it works on the semantic layer, not the file format.
How It Works
Step 1: Determine Operating Mode
| Mode | Trigger | What to Check |
|---|---|---|
| JD-targeted | User provides both resume and job description | Full keyword gap analysis + structural checks |
| Role-targeted | User provides resume + target role (no specific JD) | Keyword check against typical requirements for that role |
| General audit | User provides resume only, no target | Structural checks only (headers, dates, formatting). Skip keyword analysis — note to user: "Without a target role/JD, I can't check keyword match." |
Step 2: Run Content Checks
Read references/ats-checklist.md and perform each check:
2a. Keyword Gap Analysis (JD-targeted and role-targeted modes only)
Extract keywords from the JD (or common requirements for the role):
- Required skills — from "Requirements" / "Must Have" sections
- Preferred skills — from "Nice to Have" / "Preferred" sections
- Industry terms — role-specific language, methodologies
- Tools & technologies — specific software, platforms, languages
- Certifications — explicitly mentioned credentials
Compare against resume content. Classify each keyword:
✅ PRESENT — Exact match found in resume
⚠️ PARAPHRASED — Semantically equivalent term used (flag for consideration)
❌ MISSING — Not found anywhere in resume
Anti-stuffing rule: When reporting missing keywords, note whether the user actually has the skill (if master profile is available). If they don't have it, report it as a genuine skill gap — don't suggest adding it to the resume.
Anti-bias rule: Never suggest the user add keywords they haven't verified. The gap table shows what's missing, not what to fake.
2b. Section Headers
Check all section headings against the standard headers list. Flag any non-standard headers that ATS parsers might not recognize.
2c. Date Consistency
Check that all employment dates use a consistent format throughout the document. Flag mixed formats.
2d. Contact Information
Verify presence of: name, email, phone, location. Flag any missing required fields.
2e. Metric Density
Count what percentage of experience bullets contain quantified results. Score and recommend if below 60%.
Step 3: Run Format Checks (if HTML/CSS resume)
If the resume is in HTML format, also check:
- Single-column layout (no multi-column that could scramble reading order)
- No tables used for layout
- Semantic HTML structure (
<section>,<h2>headings) - No text in images
@media printblock present withbreak-inside: avoid- Standard fonts specified
Step 4: Generate Report
Produce a structured report following the format in references/ats-checklist.md.
Mode Disclosure (required for role-targeted mode): If operating in role-targeted mode (no specific JD), the report MUST begin with:
⚠️ Mode: Role-Targeted (No specific JD provided) This report checks against typical keywords for the target role, not a specific job posting. Scores will vary (often lower) when matched against a real JD. For accurate matching, provide a specific job description.
# ATS Compatibility Report
## Overall Score: [X/100]
Scoring:
- Keyword Match: [weight 40%] — % of required keywords present
- Section Headers: [weight 15%] — all standard = full marks
- Date Consistency: [weight 10%] — consistent = full marks
- Contact Info: [weight 10%] — all fields present = full marks
- Metric Density: [weight 15%] — bullets with metrics / total bullets
- Format Safety: [weight 10%] — structural ATS compatibility
## Keyword Match: [X%]
### Required Keywords
| Keyword | Status | Location in Resume | Recommendation |
|:--------|:-------|:------------------|:---------------|
| [keyword] | ✅/⚠️/❌ | [where found or "—"] | [action if needed] |
### Preferred Keywords
| Keyword | Status | Location | Recommendation |
|:--------|:-------|:---------|:---------------|
## Section Headers: [PASS / WARN / FAIL]
[List any non-standard headers with suggested replacements]
## Date Consistency: [PASS / WARN / FAIL]
[Any inconsistencies found]
## Contact Information: [PASS / WARN / FAIL]
[Missing fields if any]
## Metric Density: [X%]
[Recommendation if below 60%]
## Format Safety: [PASS / WARN / FAIL]
[Any structural issues]
## Top 3 Recommendations
1. [Most impactful fix]
2. [Second priority]
3. [Third priority]
---
⚠️ This check validates content and keyword match.
For format safety, ensure you convert to PDF via browser print
before submitting to ATS portals.
Edge Cases
No JD Provided
Run structural checks only. Tell the user: "I've checked formatting, headers, and consistency. To check keyword match, provide a job description or target role."
Resume Has Skills the JD Doesn't Mention
Don't remove them. The user's full skill set matters for other applications. Just note which skills are JD-relevant and which are supplementary.
JD Has Vague Requirements
"Strong communication skills," "team player," etc. — don't include these in keyword gap analysis. These are assessed in interviews, not ATS scans. Note: "The JD mentions [X] — this is typically assessed in interviews, not keyword matching."
Multiple JDs
If the user wants to check against multiple JDs, run separate reports for each and highlight which skills overlap across postings.
What NOT to Do
- Don't recommend keyword stuffing. If a keyword is missing because the user lacks that skill, say so honestly.
- Don't penalize for missing "nice-to-have" keywords. Only required keywords significantly affect the score.
- Don't check visual design. ATS doesn't care about fonts, colors, or spacing — those are for human readers. Only check structural layout issues.
- Don't guarantee pass rates. Every ATS works differently. The score is an estimate, not a guarantee.
- Don't add keywords to the master profile that came from the JD without user confirmation.
Gives 0 of the 12 instructions most docs writing skills give in ~1.5k tokens
Counted across 1,637 of the 3,044 authors here whose files we hold, read 2026-08-06
- announce the skill at startin 54 of 1637, across 21 files
- convert legacy doc files before editingin 45 of 1637, across 7 files
- predict questions readers might askin 42 of 1637, across 3 files
- Generate clarifying questions for initial contextin 42 of 1637, across 3 files
- Create document scaffold with placeholder textin 42 of 1637, across 3 files
- Brainstorm content options for each sectionin 42 of 1637, across 3 files
- Test document with fresh context-less instancein 42 of 1637, across 3 files
- ask interview questions one at a timein 42 of 1637, across 26 files
- include exact file paths in every taskin 42 of 1637, across 15 files
- Apply surgical edits during refinementin 41 of 1637, across 2 files
- Offer structured workflow or freeformin 40 of 1637, across 1 file
- Ask for document meta-contextin 40 of 1637, across 1 file
Said here and by no other author read
- read the ats checklist reference file
- extract keywords from the job description
- classify each keyword as present, paraphrased, or missing
- flag non-standard section headers
- flag mixed date formats
- score metric density if below 60 percent
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.