Token导航 LogoToken导航

Agent Skill · 研究检索

career-ops-job-search(职业运营职位搜索)

career-ops-job-search 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

career-ops-job-search 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有未通过项,按安装量在研究检索类的 73,675 个 Skill 里排第 13,405。

总安装 9,408周安装 387GitHub Stars 39下载 3,296核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:career-ops-job-search(职业运营职位搜索)
来源仓库:https://github.com/aradotso/trending-skills
仓库路径:skills/career-ops-job-search
安装命令:
npx skills add https://github.com/aradotso/trending-skills --skill career-ops-job-search
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/aradotso/trending-skills --skill career-ops-job-search

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

将 Claude Code 转变为完整的求职搜索指挥中心,实现 Offer 评估、PDF 生成与公司扫描一体化。提供 A-F 评分系统、ATS 优化简历生成、45+ 公司门户扫描与统一追踪看板。适用于系统化推进求职进程、对比 Offer 优劣与监控招聘动态的需求场景。

使用前需克隆仓库、安装 Node 依赖并配置个人 profile 与 API token 认证信息。career-ops-job-search 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/career-ops-job-search

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/aradotso/trending-skills --skill career-ops-jo…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

career-ops-job-search 怎么安装?

在终端执行 npx skills add https://github.com/aradotso/trending-skills --skill career-ops-job-search。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

career-ops-job-search 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

career-ops-job-search 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

career-ops-job-search 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

career-ops-job-search 用的人多吗?

公开数据是累计安装 9,408 次,近一周安装 387 次,下载 3,296 次,GitHub 39 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

career-ops-job-search 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
career-ops-job-search

职业运营职位搜索 · 本页

9,40839接触敏感数据未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Career-Ops Job Search Pipeline

Skill by ara.so — Daily 2026 Skills collection.

Career-Ops turns Claude Code into a full job search command center. It evaluates offers with A-F scoring, generates ATS-optimized PDFs, scans 45+ company portals, and tracks everything in a single source of truth — all powered by Claude AI agents.


Installation

# 1. Clone the repo
git clone https://github.com/santifer/career-ops.git
cd career-ops

# 2. Install Node dependencies (for PDF generation via Playwright)
npm install
npx playwright install chromium

# 3. Configure your profile
cp config/profile.example.yml config/profile.yml
# Edit config/profile.yml with your name, target roles, location, comp range, etc.

# 4. Configure portal scanner
cp templates/portals.example.yml portals.yml
# Add/remove companies you want to track

# 5. Add your CV in Markdown
# Create cv.md in project root — this is what the AI reads to evaluate fit
cat > cv.md << 'EOF'
# Your Name

## Experience
...your CV content in markdown...
EOF

# 6. Build the Go dashboard (optional but recommended)
cd dashboard
go build -o career-dashboard .
cd ..

Prerequisites

  • Node.js 18+ (for Playwright/PDF)
  • Go 1.21+ (for dashboard TUI)
  • Claude Code (claude CLI) with an active Anthropic API key
# Verify Claude Code is installed
claude --version

# Open career-ops in Claude Code
claude   # run from the career-ops directory

Core Commands

All commands run inside Claude Code as slash commands. Paste into the Claude Code session:

/career-ops                     → Show all available modes
/career-ops {job URL or JD}     → Full auto-pipeline: evaluate + PDF + tracker entry
/career-ops scan                → Scan pre-configured portals for new offers
/career-ops pdf                 → Generate ATS-optimized CV for last evaluated offer
/career-ops batch               → Batch evaluate multiple offers in parallel
/career-ops tracker             → View application pipeline status
/career-ops apply               → AI-assisted application form filling
/career-ops pipeline            → Process all pending URLs in queue
/career-ops contacto            → Generate LinkedIn outreach message
/career-ops deep                → Deep company research report
/career-ops training            → Evaluate a course or certification
/career-ops project             → Evaluate a portfolio project fit

Auto-detection shortcut

Just paste a raw job URL or job description text — career-ops detects it and runs the full pipeline automatically:

https://boards.greenhouse.io/anthropic/jobs/12345

# Or paste the full JD text — Claude auto-routes it

Configuration Files

config/profile.yml

This is your candidate profile. Claude reads this for every evaluation.

# config/profile.yml
name: "Your Name"
title: "Head of Applied AI"
location: "Madrid, Spain"
timezone: "CET"
remote_preference: "remote-first"

target_roles:
  - "Head of AI"
  - "AI Engineer"
  - "LLMOps Engineer"
  - "Solutions Architect (AI)"

compensation:
  currency: "EUR"
  minimum: 120000
  target: 150000
  equity: true

languages:
  - "English (C2)"
  - "Spanish (Native)"

archetypes:
  - "LLMOps"
  - "Agentic"
  - "PM-AI"
  - "Solutions Architect"

portals.yml

Configure which company job boards to scan:

# portals.yml (copied from templates/portals.example.yml)
companies:
  - name: "Anthropic"
    url: "https://www.anthropic.com/careers"
    board: "greenhouse"

  - name: "ElevenLabs"
    url: "https://elevenlabs.io/careers"
    board: "ashby"

  - name: "n8n"
    url: "https://n8n.io/careers"
    board: "custom"

job_boards:
  ashby:
    base_url: "https://jobs.ashbyhq.com"
  greenhouse:
    base_url: "https://boards.greenhouse.io"
  lever:
    base_url: "https://jobs.lever.co"

search_queries:
  - "AI engineer remote"
  - "LLMOps"
  - "Head of AI Europe"

templates/states.yml

Canonical pipeline statuses (edit to match your workflow):

# templates/states.yml
statuses:
  - id: "pending"
    label: "Pending Review"
  - id: "evaluating"
    label: "Under Evaluation"
  - id: "applied"
    label: "Applied"
  - id: "screening"
    label: "HR Screening"
  - id: "interview"
    label: "Interviewing"
  - id: "offer"
    label: "Offer Received"
  - id: "rejected"
    label: "Rejected"
  - id: "withdrawn"
    label: "Withdrawn"

Modes Directory

Each file in modes/ is a Claude skill that defines behavior for one command:

modes/
├── _shared.md      # Shared context injected into every mode — customize this first
├── oferta.md       # /career-ops {JD} — full evaluation pipeline
├── pdf.md          # /career-ops pdf — PDF CV generation
├── scan.md         # /career-ops scan — portal scanner
├── batch.md        # /career-ops batch — parallel evaluation
├── tracker.md      # /career-ops tracker — pipeline viewer
├── apply.md        # /career-ops apply — form filling
├── pipeline.md     # /career-ops pipeline — process queue
├── contacto.md     # /career-ops contacto — LinkedIn outreach
├── deep.md         # /career-ops deep — company research
├── training.md     # /career-ops training — cert evaluation
└── project.md      # /career-ops project — portfolio project fit

Customizing modes via Claude

Ask Claude to modify the system from within Claude Code:

# In your Claude Code session:
"Change the archetypes in _shared.md to focus on backend engineering roles"
"Translate all modes to English"
"Add Mistral and Cohere to portals.yml"
"Update the scoring weights in oferta.md to weight compensation at 20%"
"Add a new mode called 'referral' for tracking employee referrals"

Go Dashboard TUI

The terminal dashboard provides a visual pipeline browser with filtering and sorting.

Building and running

cd dashboard
go build -o career-dashboard .
./career-dashboard

Dashboard features

  • 6 filter tabs: All, Pending, Applied, Interviewing, Offer, Rejected
  • 4 sort modes: Date, Score, Company, Status
  • Grouped/flat view: Toggle between company groups and flat list
  • Lazy-loaded previews: Press Enter to read the full evaluation report
  • Inline status changes: Update status without leaving the TUI

Go module structure

// dashboard/main.go — entry point
package main

import (
    tea "github.com/charmbracelet/bubbletea"
    "github.com/charmbracelet/lipgloss"
)

func main() {
    p := tea.NewProgram(initialModel(), tea.WithAltScreen())
    if _, err := p.Run(); err != nil {
        log.Fatal(err)
    }
}
// dashboard/model.go — core data model
package main

import "time"

type Application struct {
    ID          string    `json:"id"`
    Company     string    `json:"company"`
    Role        string    `json:"role"`
    Score       string    `json:"score"` // A, B+, B, C, D, F
    Status      string    `json:"status"`
    URL         string    `json:"url"`
    ReportPath  string    `json:"report_path"`
    PDFPath     string    `json:"pdf_path"`
    CreatedAt   time.Time `json:"created_at"`
    UpdatedAt   time.Time `json:"updated_at"`
    Archetype   string    `json:"archetype"` // LLMOps, Agentic, PM, SA...
    CompRange   string    `json:"comp_range"`
    Notes       string    `json:"notes"`
}

type Model struct {
    applications []Application
    filtered     []Application
    cursor       int
    activeTab    int
    sortMode     int
    grouped      bool
    preview      string
    showPreview  bool
    width        int
    height       int
}

Reading pipeline data from TSV

// dashboard/data.go
package main

import (
    "encoding/csv"
    "os"
    "path/filepath"
)

func loadApplications(dataDir string) ([]Application, error) {
    tsvPath := filepath.Join(dataDir, "pipeline.tsv")
    f, err := os.Open(tsvPath)
    if err != nil {
        return nil, err
    }
    defer f.Close()

    r := csv.NewReader(f)
    r.Comma = '\t'
    r.LazyQuotes = true

    records, err := r.ReadAll()
    if err != nil {
        return nil, err
    }

    var apps []Application
    for _, record := range records[1:] { // skip header
        if len(record) < 8 {
            continue
        }
        apps = append(apps, Application{
            ID:      record[0],
            Company: record[1],
            Role:    record[2],
            Score:   record[3],
            Status:  record[4],
            URL:     record[5],
        })
    }
    return apps, nil
}

Batch Processing

Batch mode evaluates multiple offers in parallel using claude -p sub-agents.

Setup batch queue

# Create a batch input file — one URL per line
cat > batch/queue.txt << 'EOF'
https://boards.greenhouse.io/company/jobs/123
https://jobs.lever.co/company/456
https://jobs.ashbyhq.com/company/789
EOF

Run batch evaluation

# From Claude Code session:
/career-ops batch

# Or directly from terminal using the runner script:
cd batch
./batch-runner.sh queue.txt

batch/batch-runner.sh

#!/usr/bin/env bash
# batch-runner.sh — orchestrates parallel claude -p workers

QUEUE_FILE="${1:-queue.txt}"
MAX_PARALLEL=4
PROMPT_FILE="batch-prompt.md"

while IFS= read -r url; do
    [[ -z "$url" || "$url" == \#* ]] && continue

    # Launch sub-agent for each URL
    claude -p "$(cat $PROMPT_FILE)\n\nEvaluate this offer: $url" \
        --output-format json \
        >> ../data/batch-results.jsonl &

    # Throttle parallelism
    while [[ $(jobs -r | wc -l) -ge $MAX_PARALLEL ]]; do
        sleep 2
    done
done < "$QUEUE_FILE"

wait
echo "Batch complete. Results in data/batch-results.jsonl"

PDF Generation

PDFs are generated via Playwright rendering an HTML template with injected keywords.

Triggering PDF generation

# In Claude Code — after an evaluation:
/career-ops pdf

# Claude will:
# 1. Read the last evaluation report
# 2. Extract keywords from the job description
# 3. Inject them into templates/cv-template.html
# 4. Render with Playwright to output/{company}-{role}.pdf

Manual Playwright PDF render (Node.js)

// scripts/generate-pdf.js
const { chromium } = require('playwright');
const fs = require('fs');
const path = require('path');

async function generatePDF(htmlContent, outputPath) {
  const browser = await chromium.launch();
  const page = await browser.newPage();

  await page.setContent(htmlContent, { waitUntil: 'networkidle' });

  await page.pdf({
    path: outputPath,
    format: 'A4',
    margin: { top: '20mm', bottom: '20mm', left: '15mm', right: '15mm' },
    printBackground: true,
  });

  await browser.close();
  console.log(`PDF generated: ${outputPath}`);
}

// Usage
const template = fs.readFileSync('templates/cv-template.html', 'utf8');
const company = process.argv[2] || 'company';
const role = process.argv[3] || 'role';
const outputPath = path.join('output', `${company}-${role}.pdf`);

generatePDF(template, outputPath);

Pipeline Data Structure

Career-ops stores data in data/ (gitignored):

data/
├── pipeline.tsv          # Main tracker — all applications
├── batch-results.jsonl   # Batch evaluation outputs
└── urls-pending.txt      # Queue for /career-ops pipeline

reports/
└── {company}-{role}-{date}.md   # Full evaluation reports

output/
└── {company}-{role}.pdf         # Generated CVs

Pipeline TSV format

id	company	role	score	status	url	archetype	comp_range	created_at	updated_at	report_path	pdf_path
abc123	Anthropic	AI Engineer	A	applied	https://...	LLMOps	$150k-$200k	2026-04-05	2026-04-05	reports/anthropic-ai-engineer.md	output/anthropic-ai-engineer.pdf

Evaluation Scoring System

Career-ops scores offers on 10 weighted dimensions producing an A-F grade:

DimensionWeightWhat it measures
Role fit20%Match between JD requirements and your CV
Level alignment15%Seniority match
Compensation15%Comp vs your target range
Tech stack15%Stack overlap with your skills
Company stage10%Startup/scale-up/enterprise fit
Remote policy10%Location/remote match
Growth potential5%Career trajectory opportunity
Mission alignment5%Personal interest in the domain
Interview signals3%Glassdoor/process quality signals
Recruiter quality2%JD quality, clarity, red flags

Grade thresholds: A ≥ 85, B+ ≥ 75, B ≥ 65, C ≥ 50, D ≥ 35, F < 35


Common Patterns

Evaluate a single offer end-to-end

# In Claude Code session (claude command in project root):
/career-ops https://boards.greenhouse.io/anthropic/jobs/4567890

# Claude will:
# 1. Scrape the job description
# 2. Detect archetype (LLMOps, Agentic, PM-AI, etc.)
# 3. Score against your cv.md and profile.yml
# 4. Generate 6-block evaluation report → reports/
# 5. Create ATS-optimized PDF → output/
# 6. Add entry to data/pipeline.tsv

Add a company to the scanner

# In portals.yml, add under companies:
  - name: "Langfuse"
    url: "https://langfuse.com/careers"
    board: "ashby"
    filter_keywords:
      - "AI"
      - "engineer"
      - "remote"
# Then run:
/career-ops scan

Build interview story bank

The STAR+R system accumulates stories across evaluations:

# After several evaluations, run:
/career-ops tracker

# Claude surfaces your strongest STAR stories and maps them
# to common behavioral questions. Stories accumulate in:
# reports/_story-bank.md

Salary negotiation script generation

# After receiving an offer:
/career-ops {paste the offer details}

# Claude generates:
# - Counter-offer script with specific numbers
# - Geographic discount pushback if applicable
# - Competing offer leverage language
# - Email templates for each scenario

Troubleshooting

Playwright/PDF issues

# Chromium not found
npx playwright install chromium

# PDF generation fails silently
node scripts/generate-pdf.js 2>&1 | head -50

# Font not loading in PDF (Space Grotesk / DM Sans)
# Ensure fonts/ directory has the .woff2 files
ls fonts/
# SpaceGrotesk-*.woff2  DMSans-*.woff2

Go dashboard won't build

cd dashboard
go mod tidy
go build -o career-dashboard .

# Missing Bubble Tea dependency
go get github.com/charmbracelet/bubbletea
go get github.com/charmbracelet/lipgloss
go get github.com/charmbracelet/bubbles

TSV parsing errors

# Check pipeline.tsv for malformed rows
awk -F'\t' 'NF != 12 {print NR": "NF" fields: "$0}' data/pipeline.tsv

# Re-run integrity check via Claude:
# "Run pipeline integrity check and fix any malformed rows in pipeline.tsv"

Claude Code not finding modes

# Verify CLAUDE.md is in project root
ls CLAUDE.md  # Must exist

# Verify modes directory
ls modes/     # Should show *.md files

# If Claude doesn't recognize /career-ops, re-open from project root:
cd /path/to/career-ops
claude

Scanner blocked by bot detection

# In portals.yml, add delays for rate-limited sites:
  - name: "CompanyName"
    url: "https://company.com/careers"
    board: "greenhouse"
    scrape_delay_ms: 3000
    user_agent: "Mozilla/5.0 (compatible)"

Project Structure Reference

career-ops/
├── CLAUDE.md                    # Agent instructions (read by Claude Code)
├── cv.md                        # YOUR CV in markdown — create this
├── article-digest.md            # Your proof points / portfolio (optional)
├── config/
│   └── profile.example.yml      # Copy to profile.yml and fill out
├── modes/                       # 14 Claude skill definitions
│   ├── _shared.md               # Shared context — customize first
│   └── *.md                     # One file per /career-ops command
├── templates/
│   ├── cv-template.html         # ATS CV template (Space Grotesk + DM Sans)
│   ├── portals.example.yml      # Copy to portals.yml
│   └── states.yml               # Pipeline status definitions
├── batch/
│   ├── batch-prompt.md          # Self-contained worker prompt for sub-agents
│   └── batch-runner.sh          # Parallel orchestrator
├── dashboard/                   # Go TUI (Bubble Tea + Lipgloss)
│   ├── main.go
│   ├── model.go
│   ├── data.go
│   └── go.mod
├── fonts/                       # Space Grotesk + DM Sans woff2 files
├── data/                        # Runtime data — gitignored
├── reports/                     # Evaluation reports — gitignored
├── output/                      # Generated PDFs — gitignored
├── docs/
│   ├── SETUP.md
│   ├── CUSTOMIZATION.md
│   └── ARCHITECTURE.md
└── examples/                    # Sample CV, report, proof points

Key Design Principles

  1. Quality over quantity — the scoring system is designed to filter *out* weak fits, not to maximize application volume
  2. Claude customizes Claude — ask Claude to edit the modes, weights, and archetypes; it knows the file structure
  3. Single source of truth — data/pipeline.tsv is the canonical record; all commands read/write it consistently
  4. Gitignore your data — data/, reports/, output/, and cv.md are gitignored by default; your personal info stays local

平台分布

Codex

34.8%
按下载量换算1,147

Claude

28.51%
按下载量换算940

Cursor

19.15%
按下载量换算631

Gemini CLI

9.39%
按下载量换算309

安全审计

Gen Agent Trust Hub

未通过

Socket

可疑

Snyk

可疑

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills