career-ops – Job Search Command Center
Turn any AI coding CLI into a full job search hub: evaluate offers, generate CVs, scan portals, and track applications.
The SKILL.md explicitly requires reading profile.yml and mode confirmation, and many modes (e.g., email) are draft-only, not sending, reflecting human-in-the-loop and least privilege. However, permission and confirmation details are incomplete: some modes (e.g., scan, apply) involve automated browser actions and data fetching, but user confirmation for each external access is not clearly required; dependencies like Playwright and multiple third-party services are used without dependency security audit or vulnerability handling details. Data flow is not transparent: storage locations (data/, reports/) and external transmission (e.g., to AI providers) are not fully disclosed. Therefore, deductions apply, not full marks.
SKILL.md provides detailed mode routing and context loading logic, clear and with entry logic. But key paths are not reproduced, error handling and feedback are insufficient: relies on external tools (Playwright, Node.js) and services without test coverage for key paths; for abnormal inputs (e.g., unknown modes, network failures), there is no clear error feedback mechanism. Therefore, deductions apply, only partially viable.
The skill clearly targets AI job search scenarios with clear audience and use cases (evaluation, CV generation, portal scanning, etc.), with clear modes and trigger conditions (e.g., auto-pipeline detection). However, environment fit is limited: mainly supports overseas services (e.g., Greenhouse, Ashby, etc.), insufficient for mainland-China network reachability and Chinese support, without explicitly stating limitations due to overseas dependencies. Therefore, deductions apply.
Documentation structure is clear with main menu and mode descriptions, good information layering, FAQ and disclaimer exist. But versioning and maintenance responsibility are incomplete: SKILL.md itself has no version or changelog, relies on repository-level info; known limitations are not fully disclosed (e.g., first evaluations imperfect). Therefore, deductions apply.
Static assessment cannot verify result correctness and completeness; unclear if outputs are directly usable. Claims of generating ATS-optimized PDFs and evaluation reports without example outputs or verification evidence; no evidence of marginal value or cost-benefit. Therefore, low score.
Only author claims and marketing language, no third-party execution evidence, no test coverage for key paths. CI workflows exist but do not cover skill key paths; no reproducible test results. Therefore, low score.
- Core functions depend on overseas services (e.g., Greenhouse, Ashby), which may be inaccessible or have poor experience in mainland-China networks; be cautious.
What does this skill do, and when should you use it?
career-ops is an open-source job search command center that extends any AI coding CLI (Claude Code, Gemini, Codex, OpenCode, etc.) into a complete pipeline for job hunting. It's not a spray-and-pray auto-applier; it's a filter that uses a structured A-F evaluation (five dimensions weighted into a holistic 1.0-5.0 score) to help you focus on the few worthwhile offers out of hundreds. It generates ATS-optimized PDF CVs, scans major job portals (Greenhouse, Ashby, Lever, etc.), processes many offers in parallel via subagents, and tracks all applications in a single source of truth. The human-in-the-loop design means the AI evaluates and recommends, while you make the final call on submissions. It's MIT-licensed and runs on free or local models.
Reads your CV (cv.md) and profile (config/profile.yml); performs an A-F evaluation of a job description or URL based on a five-dimension scoring model; generates an ATS-optimized PDF CV (HTML template + Playwright); drafts cover letters and formal application emails (never sends); scans job portals like Greenhouse, Ashby, Lever, and company career pages using Playwright (45+ pre-configured companies); batch evaluates multiple offers in parallel with headless CLI workers; writes evaluations, PDFs, and tracker data to data/, reports/, and output/ directories; provides a terminal dashboard (Go + Bubble Tea) to browse the pipeline; manages a queue of pending URLs in data/pipeline.md.
- A job seeker with a pile of job URLs wants to quickly know which are worth pursuing – paste a URL into the CLI and get a full evaluation, PDF, and tracker entry via the auto-pipeline.
- A job seeker wants to evaluate a dozen job descriptions in bulk – run /career-ops batch to process them in parallel with subagents.
- A job seeker wants to network strategically – use /career-ops contacto to find the hiring manager, recruiter, or peer and draft a ≤300-character LinkedIn message.
- A job seeker preparing for an interview – use /career-ops interview-prep to generate a company-specific prep doc, or /career-ops interview/practice for mock interviews with feedback.
- A job seeker wants a tailored CV for a specific role – use /career-ops pdf to generate an ATS-friendly PDF, or /career-ops latex to export a LaTeX version.
- A job seeker with a narrow search – use /career-ops titles to get related job titles from your CV, or /career-ops discover to resolve a company list into scannable ATS boards.
What are this skill's strengths and limitations?
- Free and open source (MIT), with a stated commitment to remain free for job seekers forever.
- CLI-agnostic: supports Claude Code, Codex, Gemini/Antigravity, OpenCode, Grok, Qwen, and more.
- End-to-end feature set: evaluation, CV, PDF, cover letter, email drafts, portal scanning, tracking, batch processing.
- Designed as a filter rather than an auto-applier, emphasizing human-in-the-loop final decisions and avoiding spam.
- Strong documentation and community (Discord), plus the author's own success story.
- Can run on free or local models (e.g., OpenRouter free models, Ollama) to keep costs low.
- Initial evaluations may be poor until you feed it your context (CV, career story, preferences) – significant onboarding effort.
- Primarily tuned for English-language technical roles (LLMOps, agentic, PM); limited support for non-English markets or non-tech domains (although regional modes like eu-swe exist for Europe).
- Author's claims (740+ offers evaluated, 100+ CVs generated) are based on personal use, not independently verified; no visible test suite in the repo.
- Certain features (e.g., Playwright verification) depend on external services and may not work in restricted network environments.
- Portal scanning covers Greenhouse, Ashby, Lever, etc., but other ATS (like Workday) may require extra configuration.
How do you install this skill?
Fastest: run npx @santifer/career-ops init in your terminal (clones the latest release into ./career-ops and installs dependencies). Then cd career-ops && claude (or any supported CLI). Manual: git clone the repo, run npm install, then npx playwright install chromium if you need PDF generation, npm run doctor to validate setup, copy config/profile.example.yml to config/profile.yml and edit, and create a cv.md in the project root.
How do you use this skill?
Open your AI coding CLI (e.g., claude or codex) in the career-ops directory. On first launch, it walks you through setup conversationally (CV, profile, target roles). Then simply paste a job URL or JD text to trigger the auto-pipeline; if your CLI supports slash commands, use /career-ops with a mode, e.g., /career-ops scan to scan portals, /career-ops pdf to generate a CV, /career-ops tracker to view status. For CLIs like Codex without slash commands, use natural language prompts such as "Run the career-ops scan mode and summarize new matches."
How does this skill compare with similar options?
The repository does not explicitly name competitors, but positions itself as a 'filter' rather than a 'spray-and-pray' auto-applier, contrasting with keyword-matching tools; it also runs fully locally, unlike cloud-based SaaS job search platforms (e.g., LinkedIn's paid tools).