cover-letter-builder — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cover-letter-builder (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.
Any request to write or tailor a cover letter for a specific role. Requires a target Job Description or an existing role.md to ground the letter.
$PERSONAL is the personal-docs sibling directory defined in CLAUDE.md; resolve it once at the start of the session.$PERSONAL/career/impact-doc.md — always. Primary source of truth for roles, projects, and metrics.$PERSONAL/career/brag-doc.md — read if it exists. Contains quantified wins and recognition that may not appear in the impact doc. Cross-check metrics here; the brag doc often has stronger or more specific numbers.$PERSONAL/career/goals.md — read if it exists. Use to understand what the user is optimizing for and how to frame the letter's angle.$PERSONAL/career/personal-info.md — read if it exists. Use for the closing signature block: name, email, phone, LinkedIn. Omit GitHub unless specifically requested. If the file does not exist, use placeholders and note them.$PERSONAL/applications/<company>/<role-slug>/role.md — use the fit analysis and Job Description already on diskCheck whether $PERSONAL/applications/<company>/<role-slug>/role.md exists. If it does, read it for the full Job Description and the fit analysis. If not, fetch or request the Job Description and run a quick mental fit pass before writing.
If neither exists and no Job Description was provided, ask for one before proceeding.
From $PERSONAL/career/impact-doc.md, find the 2-3 experiences that most directly address the role's core responsibilities. These become the backbone of the letter's body. Do not try to cover everything.
Prefer signals that:
Structure:
Opening (1 paragraph): A direct, confident hook that names the company and connects my background to a specific thing they're building or solving. Not "I am writing to express my interest." The opening should make a concrete claim the rest of the letter supports.
Body (2 paragraphs): Each paragraph centers on one strong fit signal from step 2. Lead with the outcome, then explain what I did and why it's relevant to this role. No retelling of the resume chronologically. Every paragraph should end with a sentence that ties back to the role's challenge or the company's trajectory.
Closing (1 paragraph): One sentence expressing genuine interest in the specific role (not just the company generically), one sentence on what I bring to the table in summary, and a clean call to action.
Before finalizing, check every paragraph:
Save to $PERSONAL/applications/<company>/<role-slug>/:
cover-letter.md — clean Markdown, source of truthcover-letter.docx — using the docx skill, matching the resume's formatting style (same font, margins)If the application folder does not exist yet, create it. Tell the user the saved path.
If `cover-letter.md` already exists, prompt before overwriting:
End with 2-3 sentences: what angle the letter leads with, what it deprioritizes, and anything from $PERSONAL/career/impact-doc.md that is underspecified and would strengthen a future draft (without fabricating).
If a term is genuinely industry-standard (Kubernetes, Kafka, OAuth), keep it. If in doubt, prefer the plain-English version.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.