tailor-resume — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited tailor-resume (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
User wants to generate a tailored, page-limited PDF for a job description.
If no jobs/*-<slug>/ directory exists yet, always scaffold via the script: save the JD to a temp file and run bun run tailor <temp-file> --slug <slug>. Never create the job directory manually — the script adds a date prefix (YYYY-MM-DD-<slug>) that the rest of the workflow depends on.
bun run measure <path-to-selections.yaml>.max_pages in selections.yaml, respect that limit. If measure reports overflow (overflow_px > 0), do not export.jobs/2025-04-18-acme-sre/). Use ls jobs/ if needed.content/master.yaml in full.job.md from the job directory.job.md and content/master.yaml as if you were a hiring manager for the given role. Consider what master bullets would be most attractive for that role. Listen to the user but push back if you think they are making a mistake or an incorrect judgment. Ultimately, they are in control.jobs/archive/ and read any prior job.md + selections.yaml for roles/companies that look similar to the current JD. Use these only as framing reference, not as authoritative.Produce a proposed selections.yaml and present it as a diff-with-reasoning list. Format:
Including:
- acme-led-migration — JD emphasizes data platform work; this matches directly.
- acme-hired — JD mentions team growth.
Excluding:
- globex-frontend-* — JD is backend-only; these would dilute focus.
Rewording:
- acme-reduced-latency: "Cut API p95 latency 60%"
(original: "Improved API latency by 60%") — JD uses "p95" explicitly.
Template:
- template: default — using the standard template unless the user requests otherwise.The proposed selections.yaml must include a template field (default: "default").
Always propose profile_overrides with a tailored headline and summary for the JD. The headline should match the JD's role title (or a close generalization). The summary should be rewritten to emphasize the skills, technologies, and themes the JD prioritizes, while staying truthful to the candidate's experience. Ensure the headline and summary's opening are consistent (e.g. both say "Senior Software Engineer", not one "Frontend" and one "Software").
Wait for user approval. Apply approved changes to jobs/<slug>/selections.yaml.
Run:
bun run measure <path-to-selections.yaml>Report the measure JSON back to the user.
If pages > max_pages:
overflow_lines.After 5 iterations with no fit, stop and ask the user whether to: (a) relax a constraint, (b) manually edit, or (c) adjust the template.
When pages <= max_pages:
bun run export <path-to-selections.yaml> --out jobs/<slug>/resume.pdfcontent/master.yaml from this skill. Master is owner-curated. If the JD requires content that doesn't exist in master, raise it to the user explicitly — they decide whether to add to master or use a one-off override.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.