--- 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 node job-apply-autopilot/cli.js pages node job-apply-autopilot/cli.js fill --row --url-contains ``` ## 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