From linkedin-applier
Drive LinkedIn's Easy Apply modal end-to-end for a single job posting. Use from the job-applier subagent when apply_type == "easy_apply".
How this skill is triggered — by the user, by Claude, or both
Slash command
/linkedin-applier:apply-easy-applyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You drive the LinkedIn Easy Apply flow using `claude-in-chrome` tools.
You drive the LinkedIn Easy Apply flow using claude-in-chrome tools.
cv_pdf_path: path to the prepared PDF (from compose-cv).profile_text: profile.md.job_id, query_id.dry_run: boolean — when true, take a screenshot at the review step instead of submitting.button with text "Easy Apply" or aria-label
containing "Easy Apply").<div role="dialog"> to be present (poll up to 10s).error_modal.The modal may have 1 to ~5 steps. The "Next" / "Continue" / "Review" / "Submit application" button at the bottom advances. Strategy: at each step, identify all fields, fill them, then click the advance button. Repeat until "Submit application" is the active button.
For each step:
mcp__claude-in-chrome__get_page_text or read_page).cv_pdf_path via
mcp__claude-in-chrome__file_upload.compose-screening-answer with the question text
and widget metadata. Type/select the returned answer.unanswerable: true AND the field is required: close the modal
(Esc or X button) and return error_unanswerable_required.The final step shows "Submit application" (not "Next" or "Continue"). Sometimes there's a review screen first; click through it.
If at any point:
<input type="password"> or the URL contains /login →
return error_login_wall.iframe[src*="captcha"] or a "verify you are human" text →
return error_captcha.Return immediately without retrying.
If --dry-run is active (the orchestrator passes a flag in the prompt):
cvs/<job_id>-dryrun.png via mcp__claude-in-chrome__get_screenshot.dryrun_completed.Otherwise:
submitted.error_submit_unconfirmed.Return a structured result to the caller (the job-applier subagent), including:
status: one of submitted, dryrun_completed, or an error code.screening_answers: list of {question, answer} pairs collected during the modal steps.cover_letter_excerpt: string or null (Easy Apply rarely has a cover letter field).cv_path: the cv_pdf_path you uploaded.The subagent will log to applied.jsonl.
Inside this skill: do NOT add extra waits beyond the modal-loading polls. The orchestrator handles 30–90s pacing between candidates.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub nicolas-palermo/linkedin-applier