---
name: job-application-autopilot
description: Automate Sam's job applications from the Job Search sheet to reduce browser clicking while stopping before final submit, passwords, captchas, or AI-use prohibitions.
---

# Job Application Autopilot

Use this skill when Sam asks to apply to jobs, reduce clicking/manual job application time, continue through the Job Search spreadsheet, or prepare applications for review.

## Rules
- Before filling browser forms, read and follow `skills/browser_form_automation.md`.
- Use DOM-first methods, not visual trial-and-error.
- Never visually scroll long country/state dropdowns unless DOM selection, option inspection, typing, and keyboard type-to-jump all fail.
- If the same browser action fails twice, stop repeating it and switch methods.
- Verify every field after entering/selecting a value.
- Never click final submit / Send Application / Apply unless Sam explicitly approves that exact submission.
- Stop on captcha, password/account creation/sign-in, explicit AI-use prohibition, certification language, or ambiguous required fields.
- Do not store, print, or repeat passwords.
- Use defaults in `job-apply-autopilot/defaults.json`.
- Prefer existing tailored docs in `job-docs-generated/` or `job-docs-retailored/`; generate DOCX artifacts under `job-app-artifacts/` and upload-safe copies under `/tmp/openclaw/uploads/`.

## Main commands
```bash
node job-apply-autopilot/cli.js rows
node job-apply-autopilot/cli.js prepare --row <sheetRow>
node job-apply-autopilot/cli.js pages
node job-apply-autopilot/cli.js fill --row <sheetRow> --url-contains <domain-or-ats-fragment>
```

## Browser model
The CLI connects to OpenClaw's managed Chromium CDP endpoint at `http://127.0.0.1:18800` and fills the existing page. It does not need a new login if the browser is already authenticated.

## Verification
After filling, verify:
- attached resume file name visible or file input has the expected file
- required visible fields have values
- final submit button is visible but untouched
- sheet status updated manually or via `gog sheets update` only after target page state is verified
