Install any skill in seconds. Free to start, no credit card required.
Get Started Free →AI job search command center -- evaluate offers, generate CVs, scan portals, track applications. Use when the user pastes a job URL or JD, asks to scan portals, generate a CV/PDF, track applications, prepare for interviews, draft outreach/emails, or run any career-ops mode.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 169% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 118% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 288% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 159% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 102% | 0% |
career-ops is a multi-CLI job-search command center. The routing below is shared across supported agent CLIs even when the invocation surface differs.
/career-ops..cursor/skills/career-ops/ and is auto-discovered; ask for a mode by name, or paste a JD/URL to trigger auto-pipeline.codex in the repo root. Slash commands are not guaranteed in Codex, so ask Codex to run the same mode by name if /career-ops is unavailable.codex exec "prompt".Codex prompt examples that map to the same router semantics:
textEvaluate this JD with career-ops auto-pipeline: https://company.com/jobs/123 Run the career-ops scan mode and summarize new matches. Run the career-ops pipeline mode for data/pipeline.md. Run the career-ops pdf mode for the latest evaluated role. Run the career-ops tracker mode and summarize the current statuses.
Determine the mode from $mode:
| Input | Mode | |-------|------| | (empty / no args) | discovery -- Show command menu | | JD text or URL (no sub-command) | auto-pipeline | | oferta | oferta | | ofertas | ofertas | | contacto | contacto | | deep | deep | | interview-prep | interview-prep | | interview | interview | | eu-swe | regional/eu-swe | | eu-fintech | regional/eu-fintech | | interview/plan | interview/plan | | interview/practice | interview/practice | | interview/debrief | interview/debrief | | pdf | pdf | | latex | latex | | latex-tex | latex-tex | | email | email | | add | add | | expand | expand | | training | training | | project | project | | tracker | tracker | | agent-inbox | agent-inbox | | inbox | agent-inbox | | pipeline | pipeline | | apply | apply | | scan | scan | | discover | discover | | batch | batch | | patterns | patterns | | offer-prep | offer-prep | | titles | titles | | upskill | upskill | | followup | followup | | reply-watch | reply-watch | | outcome | outcome | | interview-redflag | interview-redflag | | update | update | | cover | cover |
Auto-pipeline detection: If $mode is not a known sub-command AND contains JD text (keywords: "responsibilities", "requirements", "qualifications", "about the role", "we're looking for", company name + role) or a URL to a JD, execute auto-pipeline.
If $mode is not a sub-command AND doesn't look like a JD, show discovery.
Before executing any mode, read config/profile.yml if it exists and resolve:
language.output → ISO language code for human-facing output. Default: en.language.modes_dir → optional market-mode directory. This controls market vocabulary and local evaluation rules only.Inject this directive after loading the mode instructions and before producing any user-visible content:
> Write all human-facing output in {language.output} regardless of the language of these instructions or of the job description. This includes reports, tracker notes, PDFs, cover letters, outreach, interview prep, form answers, and summaries. If language.modes_dir supplies market-specific vocabulary, keep the market logic but explain terms in {language.output} when needed.
language.output is authoritative for prose. modes_dir is market context; it must not force the prose language.
If your CLI supports /career-ops, show this menu. In Codex, surface the same options in plain text and map the requested mode the same way.
Concrete equivalents for Codex prompt-driven sessions:
text/career-ops {JD} ↔ "Evaluate this JD with career-ops auto-pipeline: {JD or URL}" /career-ops scan ↔ "Run the career-ops scan mode and summarize new matches." /career-ops pipeline ↔ "Run the career-ops pipeline mode for data/pipeline.md." /career-ops pdf ↔ "Run the career-ops pdf mode for the latest evaluated role." /career-ops email ↔ "Run the career-ops email mode for the latest evaluated role." /career-ops tracker ↔ "Run the career-ops tracker mode and summarize the current statuses."
Show this menu:
career-ops -- Command Center
Available commands:
/career-ops {JD} → AUTO-PIPELINE: evaluate + report + PDF + tracker (paste text or URL)
/career-ops pipeline → Process pending URLs from inbox (data/pipeline.md)
/career-ops oferta → Evaluation only A-F (no auto PDF)
/career-ops ofertas → Compare and rank multiple offers
/career-ops contacto → LinkedIn power move: find contacts + draft message
/career-ops deep → Deep research prompt about company
/career-ops interview-prep → Generate company-specific interview prep doc
/career-ops interview → Interactive profile/CV onboarding interview
/career-ops eu-swe → Calibrate a European SWE application before CV/apply/interview
/career-ops eu-fintech → Scan 21 EU fintech portals for Product Manager roles (zero-token)
/career-ops interview/plan → Time-blocked prep plan for an upcoming interview
/career-ops interview/practice → Practice interview, one question at a time with feedback
/career-ops interview/debrief → Post-interview debrief: close gaps, predict next round
/career-ops pdf → PDF only, ATS-optimized CV
/career-ops latex → Export CV as LaTeX/Overleaf .tex
/career-ops latex-tex → Tailor your own resume.tex in place (opt-in; cv.md stays default)
/career-ops cover → Cover letter: standalone JD paste or /career-ops cover {slug}
/career-ops email → Formal application email draft (draft-only; never sends, submits, or clicks)
/career-ops add → Add a project/paper/role to your CV (fetch + preview + confirm)
/career-ops expand → Auto-discover and add missing competencies from profile links
/career-ops training → Evaluate course/cert against North Star
/career-ops project → Evaluate portfolio project idea
/career-ops tracker → Application status overview
/career-ops agent-inbox → Queue/drain requests for the next session (data/agent-inbox.md)
/career-ops apply → Live application assistant (reads form + generates answers)
/career-ops scan → Scan portals and discover new offers
/career-ops discover → Resolve a company list to scannable ATS boards + append to portals.yml (zero-token)
/career-ops batch → Batch processing with parallel workers
/career-ops patterns → Analyze rejection patterns and improve targeting
/career-ops offer-prep → Read a received offer/contract with the candidate: clause walk + lawyer questions (not legal advice)
/career-ops titles → Suggest adjacent job titles from your CV to broaden the search
/career-ops upskill → Aggregate skill-gap analysis from your evaluated reports
/career-ops followup → Follow-up cadence tracker: flag overdue, generate drafts
/career-ops outcome → Record application outcome & archive artifacts
/career-ops update → Update career-ops system files with diff preview + compat check
Inbox: add URLs to data/pipeline.md → /career-ops pipeline
Or paste a JD directly to run the full pipeline.After determining the mode, load the necessary files before executing:
If modes/_custom.md exists, read it after modes/_profile.md and before the selected mode file. It contains user house rules and procedural preferences. It may override workflow/style defaults, but it never adds factual claims about the candidate.
_shared.md + their mode fileRead modes/_shared.md + modes/_profile.md (if exists) + modes/_custom.md (if exists) + modes/{mode}.md
Applies to: auto-pipeline, oferta, ofertas, pdf, contacto, apply, pipeline, scan, batch
Read modes/_profile.md (if exists) + modes/_custom.md (if exists) + modes/{mode}.md
Applies to: tracker, agent-inbox, deep, interview-prep, interview, regional/eu-swe, interview/plan, interview/practice, interview/debrief, latex, latex-tex, training, project, patterns, titles, upskill, followup, reply-watch, outcome, cover, email, add, offer-prep, discover
For scan, apply (with Playwright), and pipeline (3+ URLs): launch as a worker/subagent with the content of _shared.md + _profile.md (if exists) + _custom.md (if exists) + modes/{mode}.md injected into the worker prompt. If your CLI exposes an Agent(...) primitive, the call looks like this:
pythonAgent( subagent_type="general-purpose", prompt="[output language directive]\n\n[content of modes/_shared.md]\n\n[content of modes/_profile.md if exists]\n\n[content of modes/_custom.md if exists]\n\n[content of modes/{mode}.md]\n\n[invocation-specific data]", description="career-ops {mode}" )
Execute the instructions from the loaded mode file.
Other measured skills in the registry, with their headline benchmark lift.