Skip to content
Testing
Skill

/job-applications

Use when applying to jobs for the user by email, LinkedIn, or an ATS form.

From plugin
shaft-engine
42125 skills

Claude Code

$ npx -y skills add ShaftHQ/SHAFT_ENGINE --skill job-applications --agent claude-code

SKILL.md

job-applications.SKILL.md
name: job-applications
description: "Use when applying to jobs for the user by email, LinkedIn, or an ATS form."
license: MIT
permissions:
  - bash
  - read
  - write
  - env

Job applications, all channels

Send authority is [outbound-send.md](../../references/outbound-send.md). Research cards and the gate checklist stay in [job-apply](../job-apply/SKILL.md). This skill only routes channels.

Apply end to end through whichever route each posting offers. Email, LinkedIn and web forms are all in scope; never drop a fitting role just because it has no email.

The shared send rule: Default is draft only. A recorded owner standing send permission that names the channel class may send only after the shared gate passes on the exact final text.

1. Inputs (read first)

  • Target criteria, form answers, CV rules and tracker location from memory (RecallMemory "job-form answers", "job application").
  • The tracker sheet: read every tab and dedupe on company + role + channel before picking roles.
  • The current application CV (a clean version with no client names or titles the user excluded). If none exists, build one from the latest CV, keeping every real fact and inventing nothing.

2. Find and rank

  • Search remote job boards, company career pages, and LinkedIn job search. Verify each posting URL is live, read the full description, and note the posted date, location eligibility and apply route.
  • Drop roles that are locked to a country the user can't work in, and ghost or evergreen listings (flag them instead of counting them). Rank by fit and take the day's target count.
  • Tag each role with its route: `email`, `linkedin` (Easy Apply or a recruiter or hiring-manager message), or `form` (Workable, Ashby, Greenhouse, Lever, Recruitee, Workday, a custom page).

3. Tailor

  • Write a cover note per role from its top criteria. Run two separate adversarial review passes (hiring manager, then skeptical recruiter) and revise. Say honestly when the user lacks a stated requirement (a degree, a language); never claim it.
  • Never use AI-written answers where the posting forbids them. Ask the user for their own words.

4. Apply by route

  • **Email:** CV attached, to an address printed on the official posting or careers page only. Default is draft only. A recorded owner standing send permission that names the channel class may send only after the shared gate passes on the exact final text.
  • **LinkedIn:** prefer Easy Apply. Read the resume file name and date LinkedIn will attach and make sure it's the current CV. For a recruiter or hiring-manager message or connection note, use the reviewed text word for word. Easy Apply and a recruiter message follow the send rule.
  • **Web form:** open the posting in the browser the user chose (the user's own desktop browser when they named it, otherwise your own browser). Fill fields from memory's form answers and upload the CV. Answer salary and demographic questions only from facts the user gave (for example, "negotiable"). Leave optional demographic fields at "prefer not to say" or blank unless the user chose an answer. Before you press submit, take a screenshot of the filled form and check every field against your plan. Submit only after the send rule allows that form submit, then capture the confirmation page.
  • Web forms use the browser the user named, or the host's own browser tools. Do not prescribe an OS input API. A run stays on local tools unless the user approves a named cloud agent or an extra machine. Never restart the user's browser; open a new tab.
  • A sign-in, captcha, one-time code, or new ATS account that needs the user goes to them as one step. Do the rest of the batch and come back.

5. Log and report

  • Add one tracker row per application: id, company, role, remote terms, route, recipient or URL, date and time in the user's zone, source URL, message id or confirmation text, and status.
  • Keep a dated checkpoint file with what went out, the shortfall, and blocked items.
  • Report to the user: each application (company, role, route, link, proof), the tracker rows, the shortfall, and anything waiting on them.

Guardrails

  • Never invent qualifications, postings, salaries or deadlines. Never put secrets, client names, prices or trainee data in outbound text.
  • Don't re-apply through a channel already on the tracker. A different channel for the same role is fine when the user wants every channel used.
  • One submit per form. If a submit looks like it failed, check for a confirmation or email before you retry.
Read more
@shafthq
Ships withshaft-engine

One Java engine for web, mobile, API, CLI, database, and desktop. Drivers, waits, and evidence are handled. Every run ends in an Allure report.

Stars on GitHub

Momentum

stars in total
421
Star history of ShaftHQ/SHAFT_ENGINE on GitHub, a chart by star-history.com

Other skills on shaft-engine.

architect

architect

Use for design-level judgement: requirements, quality attributes, trade-offs, ADR, contracts, resilience, security,…

chaos-engine

chaos-engine

Canonical provider-neutral skill router and working contract. Use at the start of every task, on every host, in every main thread…

ci-cd

ci-cd

Use when PR merge waits are long or CI/CD is being designed, audited, or sped up: targets, PR/main/nightly tiers, opt-in labels,…

colibri

colibri

Frontier MoE through a disk/RAM/VRAM hierarchy via the optional Colibri process. Use when a large-model offline job needs…

docs-hygiene

docs-hygiene

Use when editing source-of-truth docs or status tables: three sources, Done / In progress / Not started, and live hour formulas.…

freetoken

freetoken

Standalone FreeToken process: install, READY probe and bounded dispatch. Use when the local-runtimes table points a job at…

More skills from other plugins.

api-review

api-review

Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…

@microsoft@microsoftInstall Skill
add-e2e-selectors

add-e2e-selectors

Add reliable @grafana/e2e-selectors to interactive elements and key containers in the Grafana frontend. Use when adding e2e…

grafana4d78k
@grafana@grafanaInstall Skill
promptfoo-evals

promptfoo-evals

Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…

promptfoo12d27k
@promptfoo@promptfooInstall Skill
deepeval

deepeval

DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…

@confident-ai@confident-aiInstall Skill

Questions about job-applications.

Which coding agents can use job-applications?
job-applications installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.