npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@playerplanet/opencode-career-ops

v1.0.0

Published

Career-Ops job search automation for OpenCode - AI-powered offer evaluation, CV generation, and application tracking

Readme

Career-Ops for OpenCode

AI-powered job search automation ported from Claude Code to OpenCode

npm version License: MIT

Career-Ops turns OpenCode into a full job search command center with 8 specialized AI skills:

  • 🎯 Evaluate - A-F scoring for job offers with archetype detection
  • 📄 PDF - ATS-optimized CV generation tailored to each role
  • 🔍 Scan - Automated portal scanning for new opportunities
  • 📊 Tracker - Application status and pipeline management
  • 🔬 Research - Deep company research and LinkedIn outreach
  • 📝 Apply - Application form assistance
  • 🎓 Training - Course/certification evaluation
  • 💼 Projects - Portfolio project evaluation

Installation

1. Install the Plugin

npm install -g @playerplanet/opencode-career-ops

2. Install Skills into OpenCode

career-ops-setup

Or manually:

npx @playerplanet/opencode-career-ops setup

3. Initialize a New Project

cd ~/your-projects
mkdir my-job-search
cd my-job-search
career-ops-init

This creates:

  • config/profile.yml - Your profile and targets
  • portals.yml - Job portal configuration
  • modes/_profile.md - Your archetypes and negotiation scripts
  • data/applications.md - Application tracker
  • data/pipeline.md - URL inbox
  • .gitignore - Proper git exclusions

4. Create Your CV

Create cv.md in your project root with your CV in markdown format.

Usage

Once set up, just ask OpenCode naturally:

"Evaluate this job: https://company.com/careers/job-123"
→ Full A-F evaluation with score, report, and tracker entry

"Generate a CV for this Senior Backend role"
→ ATS-optimized PDF tailored to the role

"Scan for new opportunities"
→ Scans 45+ pre-configured companies

"Show my application tracker"
→ Displays current pipeline status

"Research Anthropic for my interview"
→ Deep company research with talking points

Skills Reference

career-ops-evaluate

Triggers: evaluate, assess, analyze job, compare offers, job URLs
What it does: Reads your CV, evaluates job fit across 6 dimensions (A-F blocks), generates report, updates tracker
Outputs: reports/{###}-{company}-{date}.md, tracker entry

career-ops-pdf

Triggers: generate CV, create resume, tailor CV, ATS optimize
What it does: Injects job description keywords into your CV, generates PDF
Outputs: output/tailored-cv.pdf, optional cover letter

career-ops-scan

Triggers: scan jobs, find opportunities, search portals
What it does: 3-level discovery (Playwright → API → WebSearch) across configured portals
Outputs: New URLs in data/pipeline.md

career-ops-tracker

Triggers: tracker, applications, pipeline, update status
What it does: Manages application tracker, processes pending URLs
Outputs: Updated data/applications.md

career-ops-research

Triggers: research company, LinkedIn outreach, deep dive
What it does: Company research, finds hiring managers, generates outreach messages
Outputs: Research notes, 3-phrase connection messages

career-ops-apply

Triggers: fill application, apply to job
What it does: Generates personalized form answers based on evaluation
Note: Never submits without your review

career-ops-training

Triggers: evaluate course, certification worth it
What it does: 6-dimension scoring for learning investments
Outputs: Evaluation report with HACER/NO HACER verdict

career-ops-project

Triggers: evaluate project, portfolio idea, build MVP
What it does: Scores portfolio projects on demoability and STAR potential
Outputs: Evaluation with actionable recommendations

Configuration

Profile (config/profile.yml)

name:
  full: "Your Name"

contact:
  email: "[email protected]"
  linkedin: "linkedin.com/in/you"

target:
  roles:
    - "Senior Backend Engineer"
  compensation:
    target_base: 180000
    currency: "USD"

# ... see templates/profile.example.yml for full structure

Portals (portals.yml)

Configure companies to scan:

companies:
  - name: "Anthropic"
    careers_url: "https://www.anthropic.com/careers"
    greenhouse_board: "anthropic"

title_filter:
  positive:
    - "Senior"
    - "Staff"
  negative:
    - "Intern"
    - "Junior"

User Archetypes (modes/_profile.md)

Customize archetypes, negotiation scripts, and scoring weights to match your career.

Architecture

┌─────────────────────────────────────────────────────────┐
│                    OpenCode Agent                        │
├─────────────────────────────────────────────────────────┤
│  career-ops-evaluate  ←──reads──  cv.md                 │
│       │                          config/profile.yml     │
│       ↓                                                 │
│  career-ops-pdf  ←──generates──  output/*.pdf           │
│       │                                                 │
│       ↓                                                 │
│  career-ops-tracker  ←──updates──  data/applications.md │
│       ↑                                                 │
│  career-ops-scan  ←──discovers──  portals.yml           │
└─────────────────────────────────────────────────────────┘

Data Contract

User Layer (NEVER auto-updated):

  • cv.md - Your CV
  • config/profile.yml - Your profile
  • modes/_profile.md - Your customizations
  • data/* - Your tracking data
  • portals.yml - Your portal config

System Layer (skills read these):

  • modes/_shared.md - Scoring rules
  • templates/* - CV templates
  • scripts/*.mjs - Utilities

Requirements

  • Node.js 18+ (for PDF generation)
  • OpenCode 1.0+
  • Playwright (bundled with plugin)

Differences from Claude Code Original

| Feature | Claude Code | OpenCode Plugin | |---------|-------------|-----------------| | Entry | /career-ops command | Natural language triggers | | Architecture | Monolithic CLAUDE.md | 8 modular skills | | Activation | Explicit | Intent detection | | Distribution | Git clone | npm install | | Setup | Manual | career-ops-init CLI |

Contributing

Issues and PRs welcome! See CONTRIBUTING.md

Credits

  • Original: santifer/career-ops
  • Port: OpenCode dev-team with parallel builder agents
  • License: MIT (same as original)

Roadmap

  • [ ] Batch processing with subagent workers
  • [ ] Dashboard TUI binary distribution
  • [ ] German language modes
  • [ ] Integration with job board APIs
  • [ ] Auto-application (opt-in)