Skip to content
Back to skills

Tailor

ASecurity

Write a resume, and optionally a cover letter, for one or more queued jobs from the user's profile. Use when the user says /tailor, "tailor my resume for this job", "write a cover letter for", or wants the application to carry a resume written for the posting. Every claim is checked against the profile before the PDF is made.

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 4, 2026
ai-agentsapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 4, 2026

npx -y skills add qbeka/jev-job-search --skill tailor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tailor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tailor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qbeka-tailor/badge)](https://www.skillsdirectory.com/skills/qbeka-tailor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tailor
description: Write a resume, and optionally a cover letter, for one or more queued jobs from the user's profile. Use when the user says /tailor, "tailor my resume for this job", "write a cover letter for", or wants the application to carry a resume written for the posting. Every claim is checked against the profile before the PDF is made.
model: claude-sonnet-5-5
effort: high
---

# /tailor: a resume and a cover letter written for one job

The CLI does the writing. Run from the repo root:

```
npx jev tailor <job id> [<job id> ...] [--cover] [--fresh] [--open]
```

It asks the writer for a one-page resume (and, with `--cover`, a one-page
cover letter) built from the profile and the posting, checks every number
and every capitalized name in the draft against the profile, renders the
PDFs through the runner's own Chrome, and keeps them in
`documents/tailored/<Company>_<Role>_<job id>/`: `resume.pdf`, `resume.md`, `cover.pdf`,
`tailored.json`.

A job id comes from `queue` or `log`. A draft that claims what the profile
does not say is refused with the claims named; fix the profile with
`/profile` if the claim is true, and run again.

## Using the documents in an application

- `apply --tailor` writes the resume for each job and attaches it instead of
  the profile's resume file.
- `apply --cover` also writes a cover letter wherever a form has a box for
  one, and uploads it or pastes it. Without `--cover`, a form that requires a
  cover letter is still skipped, as the profile says.
- `coverLetter: "when_asked"` in `data/profile.json` makes every `apply`
  behave as if `--cover` was given.

## Templates

The PDFs come from the template in use: the stock one, or one the user
registered with `npx jev templates --add <folder> --name <name>` and chose
with `--use <name>`. `npx jev templates` lists them. A template is a folder
with `resume.html` and `cover.html` in the small placeholder language the
README's "Custom resume and cover letter templates" section describes.
Registering runs a test print; a template that fails is not kept.

## What you check before the user sends anything

Open `resume.md` and the cover letter text and read them. The rule is the
project's: nothing about the candidate that the profile does not say. If a
sentence reads as a stretch, tell the user which one and run again with
`--fresh` after the profile is fixed. Never edit the PDF or the JSON by
hand to get a claim in.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…