career-ops
Transform your AI coding CLI into a job search command center for automated listing evaluation, CV tailoring, and application tracking.

Suggested prompts
About this skill
career-ops
career-ops turns any AI coding CLI into a full job search command center. Instead of manually tracking applications in a spreadsheet, you get an AI-powered pipeline that:
- Evaluates offers with a structured evaluation -- blocks A-F scored across 5 weighted dimensions, plus block G, a separate posting-legitimacy assessment that never affects the 1-5 score
- Generates tailored PDFs -- ATS-optimized CVs customized per job description
- Scans portals automatically (Greenhouse, Ashby, Lever, company pages)
- Processes in batch -- evaluate 10+ offers in parallel with sub-agents
- Tracks everything in a single source of truth with integrity checks
- Researches companies and finds the right person to contact -- applications get you in the queue; research gets you a conversation
Important: This is NOT a spray-and-pray tool. career-ops is a filter -- it helps you find the few offers worth your time out of hundreds. The system strongly recommends against applying to anything scoring below 4.0/5. Your time is valuable, and so is the recruiter's. Always review before submitting.
career-ops is agentic: whichever AI coding CLI you choose navigates career pages with Playwright, evaluates fit by reasoning about your CV vs the job description (not keyword matching), and adapts your resume per listing.
Heads up: the first evaluations won't be great. The system doesn't know you yet. Feed it context -- your CV, your career story, your proof points, your preferences, what you're good at, what you want to avoid. The more you nurture it, the better it gets. Think of it as onboarding a new recruiter: the first week they need to learn about you, then they become invaluable.
Built by someone who used it to evaluate 740+ job offers, generate 100+ tailored CVs, and land a Head of Applied AI role. Read the full case study.

Preview

740+ job listings evaluated · 100+ personalized CVs · 1 dream role landed
Features
| Feature | Description |
|---|---|
| Auto-Pipeline | Paste a URL, get a full evaluation + PDF + tracker entry |
| A-G Evaluation | Role summary, CV match, level strategy, comp research, personalization, interview prep (STAR+R) -- plus a Block G posting-legitimacy check that flags scams and ghost jobs, and a Work-Auth signal that flags an explicit no-sponsorship JD as a hard blocker |
| Interview Story Bank | Accumulates STAR+Reflection stories across evaluations -- 5-10 master stories that answer any behavioral question |
| Negotiation Scripts | Salary negotiation frameworks, geographic discount pushback, competing offer leverage |
| ATS PDF Generation | Keyword-injected CVs with Space Grotesk + DM Sans design |
| Cover Letter Generator | Research-backed cover letters with keyword mirroring, four interactive angle prompts (why/problems/approach/tone), draft-in-chat approval gate, and A4 PDF via the same HTML + Playwright pipeline as CVs. Auto-drafts on every evaluation; complete and generate on demand via /career-ops cover |
| Application Email Drafts | Formal recruiter/referral/cold application emails from a report or pasted JD, with subject line, attachment checklist, source-backed fit points, and a profile-driven contact block. Draft-only -- career-ops never sends, submits, or clicks anything. |
| Portal Scanner | 100+ companies pre-configured (Anthropic, OpenAI, ElevenLabs, Retool, n8n...) + custom queries across Ashby, Greenhouse, Lever, Wellfound |
| Funded Company Discovery | Review-first company:funded command surfaces recently funded companies and source diagnostics from structured public feeds without editing your data |
| Batch Processing | Parallel evaluation with headless CLI workers (claude -p / opencode run) |
| Dashboard TUI | Terminal UI to browse, filter, and sort your pipeline |
| Human-in-the-Loop | AI evaluates and recommends, you decide and act. The system never submits an application -- you always have the final call |
| Pipeline Integrity | Automated merge, dedup, status normalization, health checks |
| Interview Suite | Time-blocked prep plans, practice sessions with feedback, post-interview debriefs (interview/), and a company red-flag detector (interview-redflag) |
| Offer Stage | Contract reading companion -- clause walk plus a lawyer question list (offer-prep) -- and a desired/advertised/actual salary-gap analyzer (salary-gap.mjs) |
| Follow-ups & Replies | Follow-up cadence calculator and seeded reminders (followup-cadence.mjs, followup-seed.mjs); employer reply classification into tracker updates (reply-watch) |
| Pattern Analysis | Rejection patterns and per-ATS-channel advance rates (analyze-patterns.mjs), lifetime funnel stats (stats.mjs), repost/ghost-job detection (detect-reposts.mjs) |
| Plugin System | Opt-in integrations (Gmail, Notion, Apify + a community registry), disabled by default -- see docs/PLUGINS.md |
| Beyond the CV | Company research (deep) surfaces AI strategy, recent moves, engineering culture, and the angle your profile should take. Contact discovery (contacto) identifies the hiring manager, recruiter, or team peer worth reaching out to and drafts a ≤300-character LinkedIn message tuned to each contact type. Formal application email drafts (email) turn an evaluated report or pasted JD into a subject line, body, and attachment checklist without sending, submitting, or clicking anything. Applications get you in the queue; research gets you a conversation. |
How It Works
You paste a job URL or description
│
▼
┌──────────────────┐
│ Archetype │ Classifies: LLMOps / Agentic / PM / SA / FDE / Transformation
│ Detection │
└────────┬─────────┘
│
┌────────▼─────────┐
│ A-G Evaluation │ Match, gaps, comp research, STAR stories, legitimacy
│ (reads cv.md) │
└────────┬─────────┘
│
┌────┼────┐
▼ ▼ ▼
Report PDF Tracker
.md .pdf entry
Pre-configured Portals
The scanner comes with 100+ companies ready to scan and 45+ search queries across major job boards. Copy templates/portals.example.yml to portals.yml and add your own:
AI Labs: Anthropic, OpenAI, Mistral, Cohere, LangChain, Pinecone Voice AI: ElevenLabs, PolyAI, Parloa, Hume AI, Deepgram, Vapi, Bland AI AI Platforms: Retool, Airtable, Vercel, Temporal, Glean, Arize AI Contact Center: Ada, LivePerson, Sierra, Decagon, Talkdesk, Genesys Enterprise: Salesforce, Twilio, Gong, Dialpad LLMOps: Langfuse, Weights & Biases, Lindy, Cognigy, Speechmatics Automation: n8n, Zapier, Make.com European: Factorial, Attio, Tinybird, Clarity AI, Travelperk
By default node scan.mjs (a.k.a. npm run scan) trusts what each ATS feed returns. Some companies leave stale postings in their public API even after the role is closed, so those expired entries can leak into pipeline.md. Pass --verify to launch Playwright after the API pass and drop expired postings before they hit the pipeline:
node scan.mjs --verify
The verification is sequential and only runs against new offers (after dedup), so the cost stays bounded.
Dashboard TUI
The built-in terminal dashboard lets you browse your pipeline visually:
npm run serve:dashboard
Features: 6 filter tabs, 4 sort modes, grouped/flat view, lazy-loaded previews, inline status changes.
There is also an experimental web UI (alpha, opt-in -- nothing runs unless you start it): see web/README.md.
Usage
career-ops uses a shared command router. In CLIs that register slash commands, it looks like this:
/career-ops → Show all available commands
/career-ops {paste a JD} → Full auto-pipeline (evaluate + PDF + tracker)
/career-ops scan → Scan portals for new offers
/career-ops pdf → Generate ATS-optimized CV
/career-ops cover → Cover letter generator (paste JD or /career-ops cover {slug})
/career-ops email → Formal application email draft (draft-only; never sends, submits, or clicks)
/career-ops batch → Batch evaluate multiple offers
/career-ops tracker → View application status
/career-ops apply → Fill application forms with AI
/career-ops outcome → Record application outcome & archive artifacts
/career-ops pipeline → Process pending URLs
/career-ops contacto → Find hiring manager / recruiter / peer + draft a ≤300-char LinkedIn message per contact type
/career-ops deep → Generate a structured 6-axis research prompt (AI strategy, recent moves, culture, challenges, competitors, candidate angle)
/career-ops training → Evaluate a course/cert
/career-ops project → Evaluate a portfolio project
Or just paste a job URL or description directly -- career-ops auto-detects it and runs the full pipeline.
Getting Started
After installation, navigate to the career-ops directory and open your AI CLI. On first launch, career-ops walks you through setup -- your CV, profile and target roles -- just by chatting. Nothing to edit by hand.
Then ask your CLI to adapt the system to you:
- "Change the archetypes to backend engineering roles"
- "Translate the modes to English"
- "Add these 5 companies to portals.yml"
- "Update my profile with this CV I'm pasting"
Start using: Paste a job URL or JD text to trigger auto-pipeline. If your CLI supports slash commands, use /career-ops.
Selection Guide
career-ops runs on any major AI coding CLI -- Claude Code, Codex, Gemini / Antigravity, OpenCode, Grok, Qwen and more -- through the open Agent Skill Standard, so it is never locked to a single vendor. Use the CLI you already have. It can also run on free and local models via OpenRouter free models, Ollama, or any OpenAI-compatible endpoint. See docs/RUNNING_ON_A_BUDGET.md.
FAQ
What is career-ops? career-ops is an open-source, CLI-agnostic job-search command center. It turns any AI coding CLI into a pipeline that evaluates job offers against your CV, generates ATS-tailored PDFs, finds the right person to contact, and tracks everything in one place -- while you keep the final decision. It is the first reference implementation of the CareerOps Manifesto. More at career-ops.org.
Can I run career-ops for free, or on a cheaper / local model? Yes. career-ops is CLI-agnostic and runs on free and local models -- via OpenRouter free models, Ollama, or any OpenAI-compatible endpoint -- so you are not tied to a paid subscription.
Which AI CLIs does career-ops work with? career-ops runs on any major AI coding CLI -- Claude Code, Codex, Gemini / Antigravity, OpenCode, Grok, Qwen and more -- through the open Agent Skill Standard, so it is never locked to a single vendor.
How do I install career-ops on Windows? career-ops runs on Windows. If skills fail to load with a symlink error during install, the fix is in docs/FAQ.md.
Does career-ops auto-apply to jobs for me? No. career-ops is a filter, not a spray-and-pray auto-applier. The AI evaluates, ranks and drafts; you review and decide. It never submits, sends, or clicks anything -- you always have the final call. That human-in-the-loop design is the whole point.
Is career-ops free and open source? Yes. career-ops is free and open source, and for the candidate it always will be -- it is the first reference implementation of the CareerOps Manifesto.
Disclaimer
career-ops is a local, open-source tool, NOT a hosted service. By using this software, you acknowledge:
- You control your data. Your CV, contact info, and personal data stay on your machine and are sent directly to the AI provider you choose (Anthropic, OpenAI, etc.). We do not collect, store, or have access to any of your data.
- You control the AI. The default prompts instruct the AI not to auto-submit applications, but AI models can behave unpredictably. If you modify the prompts or use different models, you do so at your own risk. Always review AI-generated content for accuracy before submitting.
- You comply with third-party ToS. You must use this tool in accordance with the Terms of Service of the career portals you interact with (Greenhouse, Lever, Workday, LinkedIn, etc.). Do not use this tool to spam employers or overwhelm ATS systems.
- No guarantees. Evaluations are recommendations, not truth. AI models may hallucinate skills or experience. The authors are not liable for employment outcomes, rejected applications, account restrictions, or any other consequences.
See LEGAL_DISCLAIMER.md for full details. This software is provided under the MIT License "as is", without warranty of any kind.
License & Trademark
The code is licensed under MIT. The "career-ops" name and brand are governed by the Trademark Policy, permissive for community use, reserved for commercial product naming and endorsement.