# One Click Resume

> Automates filling out developer job applications on crypto exchange career sites using browser automation, with the user manually submitting each form.

- Skill: `rosendolu/one-click-resume` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add rosendolu/one-click-resume`
- Raw SKILL.md: https://api.skillmd.com/api/skills/rosendolu/one-click-resume/raw
- Safety review: CAUTION (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity, Web & Frontend, Browser Automation
- Tags: Browser Automation, Careers, Crypto Exchange, Greenhouse, Job Application, Lever, Resume
- Author: rosendolu (https://skillmd.com/u/rosendolu)
- Updated: 2026-08-22
- Page: https://skillmd.com/skills/rosendolu/one-click-resume

---


# One-Click Resume Applier

Apply developer resumes to crypto exchanges using browser automation + human confirmation workflow.

## Core Principle

**AI auto-fills the form. USER manually submits.** This ensures safety and correctness.

## Exchange List (Top 50 by Volume)

| #   | Exchange          | Career URL                               | Platform          | Dev Keywords                                          |
| --- | ----------------- | ---------------------------------------- | ----------------- | ----------------------------------------------------- |
| 1   | Binance           | https://careers.binance.com              | Greenhouse        | backend, frontend, devops, blockchain, golang, python |
| 2   | Coinbase          | https://www.coinbase.com/careers         | Lever             | swe, engineer, backend, frontend, platform            |
| 3   | Upbit             | https://www.upbit.com/about/main/careers | Custom (Korean)   | backend, dev, server                                  |
| 4   | OKX               | https://www.okx.com/about/careers        | Greenhouse        | backend, go, java, python, c++                        |
| 5   | Bybit             | https://www.bybit.com/careers            | Custom            | backend, frontend, golang, python, devops             |
| 6   | Bitget            | https://careers.bitget.com               | Greenhouse        | backend, frontend, devops, blockchain                 |
| 7   | Gate.io           | https://www.gate.io/careers              | Custom            | backend, frontend, go, python, linux                  |
| 8   | KuCoin            | https://www.kucoin.com/careers           | Greenhouse        | backend, frontend, devops, security                   |
| 9   | MEXC              | https://www.mexc.com/about/Careers       | Custom            | backend, frontend, dev, java, go                      |
| 10  | HTX               | https://www.htx.com/about/career         | Custom (Chinese)  | backend, frontend, dev, java, c++                     |
| 11  | Kraken            | https://www.kraken.com/careers           | Lever             | backend, frontend, devops, security, platform         |
| 12  | Crypto.com        | https://crypto.com/careers               | BambooHR          | backend, frontend, devops, mobile, blockchain         |
| 13  | Bitfinex          | https://www.bitfinex.com/careers         | Custom            | backend, frontend, dev, c++                           |
| 14  | BingX             | https://bingx.com/about/careers          | Custom            | backend, frontend, dev, go                            |
| 15  | BitMart           | https://www.bitmart.com/careers          | Greenhouse        | backend, frontend, devops                             |
| 16  | LBank             | https://www.lbank.com/about/careers      | Custom            | backend, frontend, dev                                |
| 17  | Bitstamp          | https://www.bitstamp.net/careers         | Custom            | backend, frontend, dev, java                          |
| 18  | Bithumb           | https://careers.bithumb.com              | Custom (Korean)   | backend, dev, server                                  |
| 19  | XT.COM            | https://www.xt.com/careers               | Custom            | backend, frontend, dev                                |
| 20  | bitFlyer          | https://corp.bitflyer.com/careers        | Custom            | backend, frontend, dev, c++                           |
| 21  | Binance.US        | https://www.binance.us/about/careers     | Greenhouse        | backend, frontend, devops, security                   |
| 22  | Gemini            | https://www.gemini.com/careers           | Custom            | backend, frontend, dev, security                      |
| 23  | Toobit            | https://www.toobit.com/about/careers     | Custom            | backend, frontend, dev                                |
| 24  | Pionex            | https://www.pionex.com/about/careers     | Custom            | backend, frontend, dev, python                        |
| 25  | BTCC              | https://www.btcc.com/about/careers       | Custom            | backend, frontend, dev                                |
| 26  | KCEX              | https://www.kcex.com/careers             | Custom            | backend, frontend, dev                                |
| 27  | CoinW             | https://www.coinw.com/about/careers      | Custom            | backend, frontend, dev                                |
| 28  | Ourbit            | https://www.ourbit.com/careers           | Custom            | backend, frontend, dev                                |
| 29  | WEEX              | https://www.weex.com/careers             | Custom            | backend, frontend, dev                                |
| 30  | CoinEx            | https://www.coinex.com/careers           | Custom            | backend, frontend, dev, go                            |
| 31  | Zoomex            | https://www.zoomex.com/careers           | Custom            | backend, frontend, dev                                |
| 32  | Bitunix           | https://www.bitunix.com/careers          | Custom            | backend, frontend, dev                                |
| 33  | BVOX              | https://www.bvox.com/careers             | Custom            | backend, frontend, dev                                |
| 34  | Poloniex          | https://careers.poloniex.com             | Greenhouse        | backend, frontend, devops, platform                   |
| 35  | BigONE            | https://bigone.com/careers               | Custom            | backend, frontend, dev                                |
| 36  | OrangeX           | https://www.orangex.com/careers          | Custom            | backend, frontend, dev                                |
| 37  | HashKey Global    | https://www.hashkey.com/careers          | Custom            | backend, frontend, dev, security                      |
| 38  | Bitrue            | https://www.bitrue.com/careers           | Custom            | backend, frontend, dev                                |
| 39  | Bitso             | https://www.bitso.com/careers            | Custom            | backend, frontend, dev                                |
| 40  | Coinone           | https://coinone.co.kr/careers            | Custom (Korean)   | backend, frontend, dev                                |
| 41  | BTSE              | https://www.btse.com/careers             | Greenhouse        | backend, frontend, devops                             |
| 42  | Hotcoin           | https://www.hotcoin.com/careers          | Custom            | backend, frontend, dev                                |
| 43  | Backpack Exchange | https://careers.backpack.exchange        | Custom            | backend, frontend, dev                                |
| 44  | Latoken           | https://latoken.com/careers              | Greenhouse        | backend, frontend, devops                             |
| 45  | Woo X             | https://woo.org/careers                  | Custom            | backend, frontend, dev                                |
| 46  | DigiFinex         | https://www.digifinex.com/careers        | Custom            | backend, frontend, dev                                |
| 47  | Fastex            | https://www.fastex.com/careers           | Custom            | backend, frontend, dev                                |
| 48  | BitTrade          | https://www.bittrade.co.jp/careers       | Custom (Japanese) | backend, frontend, dev                                |
| 49  | Indodax           | https://www.indodax.com/careers          | Custom            | backend, frontend, dev                                |
| 50  | WhiteBIT          | https://whitebit.com/careers             | Custom            | backend, frontend, dev, go                            |

## Workflow

### Step 1: Confirm Resume Path

Ask the user for the path to their resume PDF file. Confirm it exists by checking the file.

### Step 2: Convert PDF to Markdown

Use the Pandoc MCP to convert the PDF resume into a Markdown file for parsing.

**2a. Call Pandoc MCP `convert-contents`:**

Use the `CallMcpTool` tool to invoke the Pandoc MCP:

```
server: "user-pandoc"
toolName: "convert-contents"
arguments: {
  input_file: "<path to resume.pdf>",
  input_format: "pdf",
  output_format: "markdown",
  output_file: "/tmp/resume.md"
}
```

After the conversion completes, read `/tmp/resume.md` to get the resume content.

> **Note:** If Pandoc fails (TeX Live not installed), it will return an error. This is expected. The skill should automatically fall back to Step 2b. Do not give up — simply try the next fallback method.

**2b. Fallback: pymupdf via python3:**

If the Pandoc MCP conversion fails, use python3 with PyMuPDF to extract text:

```
python3 -c "import fitz; doc = fitz.open('<path>'); [print(p.get_text()) for p in doc]"
```

**2c. Extract Key Fields:**

Parse the markdown/text content and extract:
- Full name
- Email address
- Phone number
- Current job title
- LinkedIn URL
- GitHub URL
- Key skills and technologies
- Work experience summary

### Step 3: User Selects Exchanges

Show the exchange list above. Ask the user which exchanges they want to apply to (can select by name or number, multiple allowed).

### Step 4: Apply to Each Exchange

For each selected exchange, follow this sub-workflow:

#### 4a. Navigate to Career Page

Use `browser_navigate` to open the exchange's career URL.

#### 4b. Wait for Manual Login

Tell the user: "Please log in to [Exchange] manually now. I'll wait."

Wait for the user to confirm they are logged in before proceeding.

#### 4c. Find Dev Positions

Use `browser_snapshot` to inspect the page structure first. Then use `browser_fill` and `browser_click` to search for dev/engineer positions:

- Look for search input with placeholder containing "search" or "job" or "职位"
- Fill with "developer" or "engineer" or "backend" or "frontend"
- Click the search/filter button
- Filter results by dev-related keywords

#### 4d. Open Application Form

Click on a relevant job listing. Then find and click the "Apply" or "申请" button.

#### 4e. Take Snapshot Before Filling

Before filling any form, use `browser_snapshot` to capture the current page structure. Identify all form fields, input selectors, file upload elements, and any pre-filled data (some platforms auto-fill name/email via LinkedIn login).

#### 4f. Auto-Fill Form

Use `browser_fill_form` (preferred) or `browser_fill` for individual fields to fill in all available text fields with the parsed resume data:

- `first_name` + `last_name`: Split from full name in resume
- `email`: From parsed resume
- `phone`: From parsed resume
- `linkedin_url`: From parsed resume
- `github_url`: From parsed resume
- `website` / `portfolio`: If available
- Any free-text fields (cover letter, "why this company"): Write 1-2 sentences based on resume content

#### 4g. Upload Resume

Use `browser_upload` on the file input element:

- Common selectors: `input[type=file]`, `[name="resume"]`, `[name="cv"]`
- Upload the PDF resume file

If `browser_upload` is not available, use `browser_fill` on the file input by passing the file path directly.

#### 4h. Review and Confirm with User

Take a final `browser_snapshot` to show the user the filled form. Then say:

> "Form is filled. Please review all fields — especially name, email, phone, and the uploaded resume file. When you're ready, click **SUBMIT** manually."

Wait for the user's confirmation that they have submitted before moving to the next exchange.

#### 4i. Handle Exceptions

- If CAPTCHA appears: Tell the user and wait for them to solve it
- If form structure is unexpected: Take screenshot, report the issue, skip this exchange
- If upload fails: Try alternative selectors (see below)

### Step 5: Report

After all exchanges are processed, summarize results:

- Which exchanges succeeded
- Which failed and why
- Next steps

## Common Upload Selectors by Platform

### Greenhouse (Binance, Bitget, Poloniex, Latoken, BTSE, Binance.US)

```
input[type=file"]
[name="resume"] input[type=file"]
.upload-resume input[type=file"]
```

### Lever (Coinbase, Kraken)

```
input[type=file"]
[data-qa="resume-upload-input"]
```

### Custom Platforms

```
input[type=file"]
input[name="file"]
input[accept*="pdf"]
```

## Common Form Field Selectors

### Text Fields

```
input[name="first_name"]
input[name="last_name"]
input[name="email"]
input[name="phone"]
input[name="linkedin"]
input[name="github"]
input[name="website"]
textarea[name="cover_letter"]
textarea[name="description"]
```

### File Upload

```
input[type="file"]
```

### Submit Button

```
button[type="submit"]
input[type="submit"]
button:contains("Submit")
button:contains("Apply")
button:contains("提交")
```

## Important Rules

1. **NEVER submit for the user** — only fill the form, user must click submit
2. **Wait for login confirmation** before auto-filling anything
3. **Always take browser_snapshot before filling** to understand the form structure
4. **Handle captchas** by alerting the user and waiting
5. **Report honestly** — if a form can't be filled, say so and skip it
6. **Respect rate limits** — add 5s delay between exchanges
7. **Language awareness** — some exchanges (HTX, Gate.io, Upbit) have Chinese/Korean UIs; adapt field selectors accordingly
8. **Try Pandoc MCP first** for PDF conversion; if it fails, fall back to pymupdf — do not give up after one failure
9. **Show snapshot before submit** — let the user see the filled form before they click submit

## Tips

- Greenhouse platforms have predictable form structures (same base template)
- Custom platforms (Gate.io, Bybit, OKX) vary widely; inspect the page first
- Always check for hidden iframes or shadow DOM that may contain form fields
- Some platforms require scrolling to reveal the upload button
- LinkedIn/GitHub login often pre-fills name and email

