← Back to Skills Marketplace
abedmir31

Job Applications

by AbedMir31 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
303
Downloads
1
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install job-applications
Description
Automates job search on Indeed, analyzes fit, tailors resume, and applies via Greenhouse, Lever, Workday, or Indeed Easy Apply, logging all results.
README (SKILL.md)

Job Application Automation Skill

Overview

Automated job search and application system for Abed Mir. Searches Indeed for matching jobs, analyzes fit, tailors resume, and applies via ATS platforms (Greenhouse, Lever, Workday, Indeed Easy Apply).

Directory Structure

job-applications/
├── config.json              # Search criteria, filters, settings
├── resume-source/
│   ├── resume.json          # Structured resume data (source of truth)
│   └── resume.tex           # LaTeX template
├── scripts/
│   └── tailor_resume.py     # Resume tailoring + LaTeX generation
├── tailored-resumes/        # Generated PDFs per application
├── tracking/
│   └── applications.json    # Application log
└── logs/                    # Run logs

Workflow (Per Run)

1. Search Jobs

  • Open Indeed in browser (pinned tab)
  • Search each target title from config.json
  • Filter: Remote or DFW hybrid, posted in last 24h
  • Collect job URLs, titles, companies

2. Deduplicate

  • Check each job against tracking/applications.json
  • Skip already-applied or already-skipped jobs

3. Analyze Fit

For each new job:

  • Navigate to the job posting, read full description
  • Check against avoid_industries and avoid_keywords
  • Score fit based on skills match, experience alignment
  • Prioritize AI/agent roles highest

4. Tailor Resume

For jobs that pass fit check:

  • Use resume.json as base
  • Reorder bullet points to lead with most relevant experience
  • Emphasize matching skills/technologies
  • DO NOT fabricate experience or skills
  • Generate PDF via LaTeX compilation

5. Apply

Detect ATS platform from the application URL:

  • Greenhouse (boards.greenhouse.io): Single page form — name, email, phone, resume upload, optional fields
  • Lever (jobs.lever.co): Single page — similar to Greenhouse
  • Workday (myworkday*.com): Multi-step wizard — create account or sign in, then fill each step
  • Indeed Easy Apply: Quick apply through Indeed's interface

Fill all required fields from config.json candidate data. Upload tailored PDF.

6. Log

Record in applications.json:

{
  "id": "uuid",
  "date": "ISO timestamp",
  "company": "Company Name",
  "title": "Job Title",
  "url": "application URL",
  "platform": "greenhouse|lever|workday|indeed",
  "status": "applied|skipped|failed",
  "skip_reason": null,
  "resume_version": "tailored-resumes/company-title.pdf",
  "notes": ""
}

Cron Schedule

Runs 3x daily:

  • 8:00 AM CT — Morning sweep (catch overnight postings)
  • 12:00 PM CT — Midday sweep
  • 5:00 PM CT — Evening sweep (catch same-day postings)

ATS Form Filling Reference

Greenhouse

  • URL pattern: boards.greenhouse.io/* or job-boards.greenhouse.io/*
  • Fields: First Name, Last Name, Email, Phone, Resume (file upload), Location, LinkedIn (optional), Website (optional)
  • Sometimes has custom questions (dropdown, text, checkbox)
  • Submit button usually at bottom

Lever

  • URL pattern: jobs.lever.co/*
  • Fields: Full Name, Email, Phone, Resume (file upload), LinkedIn (optional), Website (optional), Current Company (optional)
  • May have additional questions
  • "Submit application" button

Workday

  • URL pattern: *.myworkdayjobs.com/* or *.wd5.myworkdayjobs.com/*
  • Multi-page: Sign in/Create account → My Information → My Experience → Application Questions → Review → Submit
  • Requires parsing each page and filling iteratively
  • Most complex — may need human intervention for unusual fields

Indeed Easy Apply

  • Indeed session is logged in on the openclaw browser ([email protected])
  • If session expires, navigate to https://secure.indeed.com/auth, enter [email protected], and ask Abed for the email code in #job-applications Discord channel
  • Fields pre-filled from Indeed profile
  • May ask additional screening questions
  • Click "Apply now" → fills in the Indeed Easy Apply modal
  • Quick submit

Indeed Session Notes

  • Login uses email verification code (no password)
  • Session persists in the openclaw browser context
  • If you see "Sign in" in the nav instead of "Welcome, Abed", the session expired

LinkedIn Easy Apply

  • LinkedIn session is logged in on the openclaw browser (Abed Mir profile)
  • Navigate to https://www.linkedin.com/jobs/search/ to search for jobs
  • Filter by Easy Apply, Remote, Date Posted
  • Click "Easy Apply" button on a job listing
  • LinkedIn Easy Apply modal pre-fills most info from profile
  • Upload resume, answer any additional questions, submit
  • If session expires, navigate to https://www.linkedin.com/login and ask Abed for credentials in #job-applications

LinkedIn Session Notes

  • Login uses email + password (stored in browser session)
  • Session persists in the openclaw browser context
  • If you see the login page instead of the feed, the session expired

Important Rules

  • NEVER lie on applications — only reorder/emphasize existing experience
  • Skip haram industries (banking, mortgage, lending, alcohol, gambling, etc.)
  • Log EVERY job encountered (applied or skipped with reason)
  • If an application fails mid-form, log as "failed" and move on
  • Report summary to #job-applications Discord channel after each run
  • ALWAYS close browser tabs after completing an application — use browser(action="close") or navigate away to prevent memory buildup and tab clutter
Usage Guidance
Before installing, verify these items: 1) Confirm where and how the agent's browser sessions are stored and protected — do not allow the skill to run against sessions that contain saved passwords or unrecoverable tokens unless you trust the execution environment. 2) Never share 2FA codes or passwords in an untrusted or public Discord channel; change the workflow so human approvals and codes are delivered securely (private channel, direct message, or in-UI prompt). 3) Remove or sanitize embedded PII/tracking logs from the skill bundle if you plan to install it in a shared registry — the included tracking/*.json files contain full application histories and personal contact info. 4) Add an explicit declaration of required binaries (pdflatex) and require the agent to confirm availability before attempting PDF compilation. 5) Consider disabling fully automatic 'auto_apply' or require interactive confirmation for each application to prevent accidental submissions. 6) If you want this to run autonomously, require secure logging and an access policy for the Discord/reporting endpoint — right now the skill gives no detail about where summaries are posted or who can read them. If you want, provide the owner with questions to clarify these points; if you are uncomfortable with credential handling or public reporting, do not install.
Capability Analysis
Type: OpenClaw Skill Name: job-applications Version: 1.0.0 The skill bundle is a legitimate automation tool designed to search for jobs and submit applications on behalf of a user. It includes a Python script (tailor_resume.py) that safely converts JSON data into LaTeX and compiles it into a PDF using pdflatex with input sanitization. The instructions in SKILL.md and the configuration in config.json are consistent with the stated purpose, including specific filters for industries and job types, and there is no evidence of data exfiltration, unauthorized persistence, or malicious prompt injection.
Capability Assessment
Purpose & Capability
The name/description (search, analyze fit, tailor resume, apply, log) aligns with included files: config, resume JSON, tailoring script, and tracking logs. The skill relies on the agent's browser automation (described in SKILL.md) to fill ATS forms rather than shipping form-fill code — this is plausible but is an implicit dependency. The README and script require pdflatex for PDF generation, but the skill's metadata did not declare any required binaries.
Instruction Scope
SKILL.md instructs the agent to use stored browser sessions (Indeed and LinkedIn) and to request an email verification code or LinkedIn credentials from 'Abed' via the '#job-applications' Discord channel. It also directs the agent to post run summaries to that Discord channel and to log every job. These instructions involve collecting/transmitting sensitive authentication material and detailed application logs to an external chat channel, which is out-of-scope for a minimal resume-tailoring script and creates a risk of credential exposure or data leakage.
Install Mechanism
No install spec is provided (instruction-only) and that's low risk, but the included script calls pdflatex via subprocess. The skill bundle's README mentions pdflatex is required — this binary is an undeclared dependency in the registry metadata. There are no downloads or archives, and no obfuscated code; the Python script is readable and appears to perform only LaTeX generation and invocation.
Credentials
The skill declares no environment variables or credentials, yet SKILL.md assumes access to logged-in browser sessions for Indeed/LinkedIn and instructs asking for 2FA codes and passwords via Discord. The skill package also contains abundant PII (email, phone, full resume) and extensive application history in tracking/*.json. Requesting or transmitting account credentials or 2FA through a Discord channel is disproportionate and risky unless the channel is strictly private and authenticated — the skill provides no such assurance.
Persistence & Privilege
always is false and the skill does not request permanent system-wide privileges. It does instruct the agent to use and close browser tabs in the OpenClaw browser context, but it does not modify other skills or system configurations.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install job-applications
  3. After installation, invoke the skill by name or use /job-applications
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: Automates job search and job applications for Abed Mir across multiple ATS platforms. - Searches Indeed for relevant jobs based on configurable criteria and filters. - Analyzes job fit, tailors resume using LaTeX, and generates a customized PDF for each application. - Automatically fills and submits applications on Greenhouse, Lever, Workday, Indeed, and LinkedIn Easy Apply. - Tracks all applications and skips in applications.json, logging details and application status. - Operates on a scheduled cron, running 3 times daily. - Prioritizes AI/agent roles and adheres to important rules (no fabricating resume info, skips prohibited industries).
Metadata
Slug job-applications
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Job Applications?

Automates job search on Indeed, analyzes fit, tailors resume, and applies via Greenhouse, Lever, Workday, or Indeed Easy Apply, logging all results. It is an AI Agent Skill for Claude Code / OpenClaw, with 303 downloads so far.

How do I install Job Applications?

Run "/install job-applications" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Job Applications free?

Yes, Job Applications is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Job Applications support?

Job Applications is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Job Applications?

It is built and maintained by AbedMir31 (@abedmir31); the current version is v1.0.0.

💬 Comments