onboarding

onboarding is a skill for Claude Code from extrasmall0/dear-hiring-manager. It costs 73 tokens per session (1,492 once invoked), scanned A, original, MIT.

A guided interview for building a job-application profile and registering a resume. It records identity, contact details, work authorization, screening answers, and other information used in applications.

In plain words
What is it for?
It helps set up or update a hiring profile, copy and parse a resume, confirm personal details, and prepare standard answers for future job applications.
Why use it?
It avoids repeatedly entering the same application details and identifies only the missing information that still needs confirmation.

Skill for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable. Also seen: names the AskUserQuestion tool.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the dear-hiring-manager plugin — 7 skills, 6 commands, 1 MCP server shipped together

Good fit It helps set up or update a hiring profile, copy and parse a resume, confirm personal details, and prepare standard answers for future job applications.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add extrasmall0/dear-hiring-manager
Claude Code
/plugin install dear-hiring-manager

Made for: Claude Code.

Or install dear-hiring-manager, the plugin that ships this one along with the rest of its 7 skills, 6 commands, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for onboarding

README.md
[![agentmods](https://agentmods.dev/badge/skills/extrasmall0/dear-hiring-manager/onboarding/github.svg)](https://agentmods.dev/skills/extrasmall0/dear-hiring-manager/onboarding)
Your own site
<a href="https://agentmods.dev/skills/extrasmall0/dear-hiring-manager/onboarding"><img src="https://agentmods.dev/badge/skills/extrasmall0/dear-hiring-manager/onboarding/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for onboarding

Your own site · 80×15
<a href="https://agentmods.dev/skills/extrasmall0/dear-hiring-manager/onboarding"><img src="https://agentmods.dev/badge/skills/extrasmall0/dear-hiring-manager/onboarding.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 73 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,492 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00073 $0.01492
Opus 5 $0.00036 $0.00746
Sonnet 5 $0.00015 $0.00298
Haiku 4.5 $0.00007 $0.00149

Measured 9d ago against content hash 3ce3b32253ae, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

onboarding scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/onboarding/SKILL.md · 81 lines

How it starts

The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Onboarding

Goal: produce a complete, human-readable ~/.dear-hiring-manager/profile.md and register a resume, so later applications fill themselves. Keep it fast — parse what you can, only ask for gaps.

Procedure

  1. Ensure the data dir exists. Create ~/.dear-hiring-manager/ if missing.

  2. Check for an existing profile.

    • If ~/.dear-hiring-manager/profile.md exists: show a short summary, ask whether to edit a section or view. Only touch what they name. Do not restart the interview.
    • If not: copy ${CLAUDE_PLUGIN_ROOT}/templates/profile.template.md to ~/.dear-hiring-manager/profile.md and continue.
  3. Register + parse the resume (do this first — it prefills most fields).

    • Ask for the resume path. Copy it to ~/.dear-hiring-manager/resume.<ext>.
    • Read it. Prefill name, email/phone, location, education, and an experience summary into the profile. Then only ask the user to confirm/correct those, not retype them. Do NOT prefill LinkedIn/GitHub/portfolio URLs from the resume — ask for those directly (see the interview step).
  4. Interview the gaps via the option-picker. For every field whose answer is a discrete choice, ASK WITH THE AskUserQuestion OPTION-PICKER (not prose) — present sensible options plus "prefer not to answer" where relevant; the user clicks (or types via "Other"). Batch up to 4 questions per picker call to minimize rounds. Use free-text prompts only for genuinely open fields (name, contact, links, an exact salary number, references). Fill every template field.

    • Identity + email/phone/name — prefill from the resume, then confirm.
    • Links (LinkedIn, GitHub, portfolio/website): ALWAYS ASK the user directly — do NOT read them from the resume, and NEVER guess a URL from the name. In a PDF these are hyperlinks whose real target URL usually can't be recovered by text parsing, so any parsed or name-guessed value is likely wrong.
    • Location & relocation, remote/onsite — options (relocate: Yes/No; preference: Remote / Hybrid / Onsite / Open). Plus home address (street, city, state, ZIP) — free text; many forms require the full address, not just the city.
    • Work authorizationoptions: authorized to work there (Yes/No); require sponsorship now or in future (Yes / No / Not now, yes later); + country and visa status. On almost every form — get exact.
    • Compensation — options for salary (a few ranges + "market/negotiable", Other for an exact number) and notice period / earliest start (2 weeks / 1 month / immediately / flexible).
    • Job-search targetsdesired job title(s) (free text), target experience level (options: Intern / Entry / Mid / Senior / Staff / Principal / Director), years of experience (options: 0–2 / 3–5 / 5–8 / 8–12 / 12+, or an exact number — forms ask this constantly), and minimum fit score to apply (options 40 / 50 / 60 / 70, default 50; the hard filter apply scores each job against). Title + level also feed apify-collect as the default search.
    • Standard screening (legal attestations) — template leaves these blank. Offer the safe defaults (non-compete: No, felony: No, illegal activity: No, accommodation: No, previously employed here: No, 18+: Yes) as options and have the user confirm each or override. Write a value only after explicit confirmation. Skipped → stays blank (unconfirmed); apply flags it, never auto-attests.
    • EEO / demographics (gender, race/ethnicity, veteran, disability) — options, each including "prefer not to answer". State clearly these are voluntary. Record exactly what they pick.
    • Pronouns — options (He/him / She/her / They/them / Prefer not to say). References — free text or "available on request".

Read the full file on GitHub · 81 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 81 lines · 73 tokens per session scan A 3ce3b32253ae

Subscribe to this mod's changes

onboarding is a skill published in the GitHub repository extrasmall0/dear-hiring-manager (108 stars, last pushed 1mo ago), licensed MIT. It adds 73 tokens to every session and 1,492 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

apply

Apply to a single job (URL or pasted page) with fit review, or score and apply the job links pasted into an apply campaign when no argument is given.

suxrobGM/jobpilot · 35 tokens

scan-inbox

Classify unscanned mailbox messages, fuzzy-match each to an existing application, and write the proposal back. The user approves in /inbox.

suxrobGM/jobpilot · 34 tokens

resume-campaign

Resume a paused JobPilot campaign by id. Re-flips the campaign to inprogress and replays the apply loop on any remaining approved jobs without re-asking for fit confirmation.

suxrobGM/jobpilot · 40 tokens

job-triage

Search and classify job-related emails in Outlook Web — rejections / interview invites / action required / confirmations / recruiter outreach / other. Proactively invoke this skill (do NOT answer conversationally) when the user asks "check my inbox", "check Outlook", "any replies", "triage my inbox", "any rejections"…

AkbarDevop/ai-job-agent · 98 tokens

job-apply

Apply to a job by URL — auto-routes to the right ATS filler (LinkedIn Easy Apply / Greenhouse / Lever / Jobvite / Ashby), dry-run by default, renders an emoji-tagged result table. Proactively invoke this skill (do NOT answer conversationally) when the user pastes a LinkedIn/Greenhouse/Lever/Jobvite/Ashby job URL (with…

AkbarDevop/ai-job-agent · 138 tokens

job-status

Batch-update application statuses (Rejected / Interview / Offer / Withdrawn / …) in both the local CSV and the Google Sheet, with a before/after diff and confirmation gate. Proactively invoke this skill (do NOT answer conversationally) when the user has one or more status updates to apply — says "mark as rejected"…

AkbarDevop/ai-job-agent · 134 tokens