New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

careerops

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

careerops

Schema-driven, fact-traceable resume and cover-letter automation for Claude Code

latest
npmnpm
Version
2.0.7
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

CareerOps

 ██████╗ █████╗ ██████╗ ███████╗███████╗██████╗  ██████╗ ██████╗ ███████╗
██╔════╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔══██╗██╔═══██╗██╔══██╗██╔════╝
██║     ███████║██████╔╝█████╗  █████╗  ██████╔╝██║   ██║██████╔╝███████╗
██║     ██╔══██║██╔══██╗██╔══╝  ██╔══╝  ██╔══██╗██║   ██║██╔═══╝ ╚════██║
╚██████╗██║  ██║██║  ██║███████╗███████╗██║  ██║╚██████╔╝██║     ███████║
 ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚═╝     ╚══════╝
  Your career, recorded. Your resume, generated. Zero fabrication.
                                                        — by Kalhar Pandya

Your career, recorded. Your resume, generated. Zero fabrication.

npm version license Claude Code

CareerOps is a Claude Code plugin — a personal career knowledge base that turns your real history into tailored, ATS-ready resumes on demand, without fabricating a single word. Capture achievements as they happen. Generate targeted resumes in minutes. Own your data forever.

If this saves you time, star the repo — it helps others find it.

Sound Familiar?

"I just got promoted. How do I capture this properly so I remember it in two years?"

"I shipped something big last quarter. I know it was impressive — I just can't remember the exact numbers anymore."

"I won an award. Got a great performance review. Finished a project I'm proud of. Where do I put all of this?"

"I'm applying to ten jobs. My resume says the same thing for all of them. I know some of this experience is more relevant than others — I just don't know how to show that."

"It's been three years. I open a blank doc. I stare at it. I genuinely cannot remember everything I've done."

This is the problem CareerOps solves. Not just resume generation — career memory.

Most people have no system for recording what they do. Achievements get forgotten. Promotions don't make it into resumes with the right framing. Side projects disappear into GitHub. When a great opportunity appears, you're scrambling to reconstruct years of work from memory, Slack messages, and old PRs.

CareerOps is the system you never had. Capture once. Apply everywhere.

The Problem with AI Resumes

The other problem: every AI resume tool invents things. It dresses up your experience with metrics you never hit, skills you never used, and bullet points that sound impressive but aren't true. That works until the interview — then it fails badly.

CareerOps treats your resume as an output of your fact database, not a document generated from scratch. If you didn't capture it, it doesn't appear. Every bullet on every resume traces to something you actually did.

How It Works

Step 1 — Build your fact database once

You capture career achievements interactively. CareerOps stores each one as a structured fact: what you did, the metric, the context, the employer, the date. Locked in. Immutable.

Step 2 — Drop in a job description

CareerOps parses the JD and scores every fact in your database against it — relevance, keyword match, experience level.

Step 3 — Approve the plan, get the resume

CareerOps proposes which roles to expand, compress, or drop based on relevance. You approve the plan. It then writes bullets with full provenance (every bullet cites the fact it came from), renders a PDF via RenderCV/Typst, and runs an 8-gate validator before handing it to you.

Why CareerOps

Manual writingGeneric AI toolsCareerOps
Fabrication riskLowHighNone — validator enforces it
Tailored to each JDOnly if you rewriteYes, but genericYes, from your real facts
RepeatableNoNoYes — same facts, different weights
ProvenanceNoneNoneEvery bullet cites a fact ID
ATS-safe outputDependsUsuallyYes — validated, em-dash-free
You own your dataYesDependsYes — local YAML files, no cloud

Use Cases

You just shipped something big. Run /careerops:capturing-fact. CareerOps interviews you — what did you build, what was the impact, what's the metric. Stored, structured, permanently recorded. You'll have it word-for-word when you need it two years from now.

You got promoted or won an award. Same flow. Capture it now, while you remember the details. Your fact database grows with your career.

You're in a job search. Drop in a job description. CareerOps scores every fact in your database against it, surfaces the most relevant experience, proposes a presentation plan, and generates a tailored resume grounded entirely in your real history.

You're applying to 10 different roles. Not 10 different resumes written by hand. One database, 10 different fact weightings. Each resume is specific to its JD.

You have too much experience for one page. CareerOps knows what you've done. It decides what to expand, compress, or drop based on what the role actually asks for — and asks for your sign-off before writing a word.

You haven't updated your resume in three years. Import your old resume and seed your database from it. Then start capturing forward. You'll never start from a blank page again.

Prerequisites

  • Claude Code installed
  • Python 3.10+
  • pip install pyyaml rendercv

Install

npx careerops install

Restart Claude Code. Done — all commands are live under /careerops:.

npx careerops update     # pull the latest version
npx careerops uninstall  # remove cleanly

Getting Started

1. Create your career directory and open Claude

mkdir ~/my-career && cd ~/my-career
claude

2. Run the setup wizard

/careerops:setting-up

Scaffolds your folders, collects your name, email, and links. Takes two minutes.

3. Import your existing resume (optional but recommended)

/careerops:seeding-career-db raw_data/your-resume.tex

Supports .tex and .md. CareerOps extracts structured facts from it so you start with a populated database.

4. Capture new achievements as they happen

/careerops:capturing-fact

CareerOps interviews you and stores the result. Run this any time you ship something worth remembering.

5. Apply to a job

Drop the job description into inbox/, then:

/careerops:analyzing-jd
/careerops:generating-resume

Approve the plan, get the PDF.

Commands

Setup

CommandWhat it does
/careerops:setting-upFirst-run wizard — scaffold directories, collect your profile
/careerops:seeding-career-dbImport an existing resume into your knowledge base

Capture

CommandWhat it does
/careerops:capturing-factInterview to record a new career achievement
/careerops:capturing-evidenceAttach a URL, PR, or document to an existing fact

Apply

CommandWhat it does
/careerops:analyzing-jdParse a JD — scores all your facts by relevance
/careerops:generating-resumeFull pipeline: plan, compose, render PDF, validate, audit
/careerops:auditing-resumeRe-run the quality auditor on a generated resume
/careerops:humanizing-resumeClean up AI-marker patterns in bullets
/careerops:logging-outcomeRecord the result of an application

Health

CommandWhat it does
/careerops:linting-careerSchema, reference, and em-dash check on all your data
/careerops:getting-helpQuick-start guide — add full for the complete reference

Your Data

~/my-career/
├── career/
│   ├── experiences/        Your work history and facts
│   ├── applications/       One folder per application
│   ├── jd-analysis/        Parsed job descriptions
│   └── config/             Theme, rules
├── inbox/                  Drop JDs here
└── raw_data/               Source resumes for seeding

The plugin lives at ~/.claude/plugins/careerops/. Your data never touches it. No cloud sync, no accounts, no data leaving your machine.

Guarantees

  • No fabrication. Every bullet traces to a fact ID you captured. The 8-gate validator enforces this mechanically.
  • No em-dashes. Banned at every layer — Python scripts, hooks, and the semantic auditor all scan for them (ATS systems often choke on them).
  • Immutable facts. Dates and employers are schema-locked. The pipeline cannot change what you actually did.
  • You approve before render. CareerOps proposes a presentation plan and waits for your sign-off before writing a single bullet.

Tech

  • Renderer: RenderCV (Typst) — produces clean, ATS-safe PDFs
  • Data: Local YAML files with JSON Schema validation
  • JD analysis: Claude subagent with relevance scoring
  • Validation: Python (8 gates) + Claude semantic auditor

Contributing

Issues and PRs welcome. See CLAUDE.md for plugin architecture, conventions, and hard rules.

Star the repo if CareerOps saves you time.

License

MIT

Keywords

claude-code

FAQs

Package last updated on 13 May 2026

Related posts