apply

apply is a skill for Claude Code, Codex from Sma1lboy/coforce-apply. It costs 57 tokens per session (1,987 once invoked), scanned A, original, MIT.

A browser-based job-application skill that fills out online application forms from a job URL using the user's profile and resume PDF. It handles common application systems and stops before final submission for confirmation.

In plain words
What is it for?
Use it for multi-step applications on systems such as Workday, Greenhouse, Lever, or Ashby, including account setup and verification-code steps when configured.
Why use it?
It removes repetitive form filling while keeping the final decision to submit with the user.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/sma1lboy/coforce-apply/apply
Any agent
npx skills add Sma1lboy/coforce-apply --skill apply
Clone the repo
git clone --depth 1 https://github.com/Sma1lboy/coforce-apply

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for apply

README.md
[![agentmods](https://agentmods.dev/badge/skills/sma1lboy/coforce-apply/apply.svg)](https://agentmods.dev/skills/sma1lboy/coforce-apply/apply)
Your own site
<a href="https://agentmods.dev/skills/sma1lboy/coforce-apply/apply"><img src="https://agentmods.dev/badge/skills/sma1lboy/coforce-apply/apply.svg" alt="Measured on agentmods" height="20"></a>
Per session 57 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,987 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00057 $0.01987
Opus 5 $0.00028 $0.00993
Sonnet 5 $0.00011 $0.00397
Haiku 4.5 $0.00006 $0.00199

Measured 5d ago against content hash 837618142c63, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

apply scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/apply/SKILL.md · 156 lines

How it starts

The opening of the file, as written. The whole thing — 156 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Apply — Chrome-backed job application

Input: a job posting / application URL (from args). Expect a non-trivial form: multi-step wizard, custom widgets, an ATS (Workday, Greenhouse, Lever, Ashby…), or login walls.

Setup (first run, answers persist in ~/.coforce/config.json)

Before the first application, ask ONCE and merge these keys into the flat ~/.coforce/config.json (setup owns the rest of that file — never overwrite it with just these):

{
  "email": "[email protected]",          // account email for ATS registrations
  "autoRegister": true,               // may I create ATS accounts for you?
  "mailboxAccess": "browser | paste", // how to fetch verification codes
  "resumePdf": "path/to/resume.pdf",
  "headlessApply": false              // explicit consent; setup manages this
}

Subsequent runs read this file and only ask about gaps.

This skill is the operator in the operator contract (docs/OPERATOR.md in the CoForce repo): inputs are job + profile + resume + intent, progress is reported as COFORCE_STATUS sentinels, and the iron laws (never cross the confirmation gate, never fabricate screening answers, instructions.md overrides everything) bind every run.

Preconditions

  1. Read ~/.coforce/instructions.md — standing user instructions (never-apply companies, preferences). It overrides everything below; a never-apply company means stop and tell the user, not apply anyway.
  2. Read ~/.coforce/profile.json. Missing → run the profile skill's init first; don't guess values.
  3. Read ~/.coforce/config.json — canonical user intent plus runtime config (workAuthorization, needsSponsorship, work mode, locations, and the Setup answers above). Screening answers about visa/sponsorship come from here, never invented. Missing (and no legacy apply-config.json / preferences.json for the loader to fold in) → run Setup above. Batch any remaining per-job questions up front; don't drip.

Flow

  1. Initialize Claude in Chrome from inside this skill (--chrome or /chrome) and open the URL in visible Chrome. Do not substitute the in-app Browser, Computer Use, or a second Playwright runtime for this workflow. If Chrome is unavailable, stop and report the setup/connection blocker.
  2. Navigate to the actual application form (click "Apply" through interstitials). If the ATS demands an account (Workday, iCIMS, SuccessFactors…) and autoRegister is true, register one — see Account registration below.
  3. Fill every field mappable from the profile: contact info, links, education, experience. Upload the resume PDF where a file input exists. Resume resolution: a campaign resume for this job wins; otherwise, if the user didn't hand over a specific PDF, run the tailor skill against this JD first and upload its ~/.coforce/out/resume-<company>-<role>.pdf. The static resumePdf in config.json is the last resort, not the default.
  4. Free-text questions ("why us", cover letter): draft 2–4 sentences from the profile tailored to the posting — factual, no invented experience. Check ~/.coforce/research/<company>.json first (company-research cache; schema in the interview skill, 30-day TTL) for a verified company angle to ground the "why us" in; a cache hit is a lead, so re-check any specific claim against its recorded source URL before it lands in an answer. Show drafts to the user before submitting if they're required fields.
  5. Stop before the final submit and show a summary of what was entered. Submit only after the user confirms. Submission is irreversible.
  6. Report the outcome (confirmation page / email signal), record it in the local tracker (~/.coforce/applications.json, per the tracker skill — add or update the entry with the final status), then serve/refresh the board per the tracker skill and open it so the user sees the updated state without asking.

Read the full file on GitHub · 156 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 156 lines · 57 tokens per session scan A 837618142c63

Subscribe to this mod's changes

apply is a skill published in the GitHub repository Sma1lboy/coforce-apply (5 stars, last pushed 6d ago), licensed MIT. It adds 57 tokens to every session and 1,987 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

v8-jit

V8 JIT optimization patterns for writing high-performance JavaScript in Next.js server internals. Use when writing or reviewing hot-path code in app-render, stream-utils, routing, caching, or any per-request code path. Covers hidden classes / shapes, monomorphic call sites, inline caches, megamorphic deopt, closure…

vercel/next.js · 88 tokens

use-agent-browser-for-airi

Test AIRI display-model imports with agent-browser across stage-tamagotchi Electron, stage-web, and stage-pocket mobile web layouts. Use when uploading and verifying contributor-supplied Live2D ZIP, VRM, or MMD ZIP/PMX/PMD files through AIRI's model selector, including onboarding bypass, format-specific import…

moeru-ai/airi · 87 tokens

opencli-sitemap-author

Use when creating or maintaining OpenCLI site sitemaps: agent-facing navigation, page-state, action, workflow, API-reference, pitfall, and fallback knowledge for a website. Use after browser exploration discovers durable site context, when a sitemap is stale, or when promoting local site knowledge into the repo.

jackwener/OpenCLI · 67 tokens

debug-optimize-lcp

Guides debugging and optimizing Largest Contentful Paint (LCP) using Chrome DevTools MCP tools. Use this skill whenever the user asks about LCP performance, slow page loads, Core Web Vitals optimization, or wants to understand why their page's main content takes too long to appear. Also use when the user mentions…

ChromeDevTools/chrome-devtools-mcp · 99 tokens

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

every-app/open-seo · 35 tokens

interactive-login

How to complete browser/interactive logins (aws / gh / glab / gcloud). The platform backgrounds the login poller so it survives the human's browser round-trip — and when that does NOT work.

yc-software/qm · 46 tokens