-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopencode.json
More file actions
13 lines (13 loc) · 2.15 KB
/
Copy pathopencode.json
File metadata and controls
13 lines (13 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"$schema": "https://opencode.ai/config.json",
"command": {
"full-run": {
"description": "Full pipeline: scrape job listings, then match CVs against jobs",
"template": "Execute the full projectMunin2 pipeline:\n\n1. Run `npm start` to scrape job listings for each keyword in config.json. The scraper uses puppeteer with a non-headless Chromium browser. It saves new job JSON files into results/{Keyword}/ directories and updates watched-jobs.json with new URLs.\n\n2. Wait for scraping to complete. Then run the `/match` command to perform CV-to-job matching.\n\n3. Print a final summary showing all matches."
},
"match": {
"description": "Match CVs against scraped jobs and save results",
"template": "You are the CV-to-job matcher.\n\n## Step 1: Collect data\n\n1. Read all `.txt` files from `cvs/` directory. Extract the full text of each CV.\n2. Read all `.json` files from `results/**/*.json` recursively. Extract title, company, description, summary, salary, location, url, and keyword for each job.\n3. Read `config.json` to get the `minScore` threshold (default 7.5).\n\n## Step 2: Score each CV against each job\n\nFor each CV, semantically compare it against every job listing. Score 1-10 based on:\n- **Skill overlap**: Languages, frameworks, tools, platforms the candidate knows vs. what the job requires\n- **Experience level**: junior/mid/senior alignment\n- **Industry/domain**: finance, fintech, healthcare, etc. alignment\n- **Role responsibility fit**: Does the candidate's past work match what the job asks for?\n- **Tech stack match**: Specific technologies mentioned in both CV and job\n\nWrite a 1-2 sentence justification for each score.\n\n## Step 3: Filter and save\n\n**Only include matches scoring >= minScore** (from config.json). Discard all others.\n\nSave qualifying matches to `match-results.json` in this format:\n```json\n[\n {\n \"cv\": \"CV filename\",\n \"jobTitle\": \"...\",\n \"company\": \"...\",\n \"keyword\": \"...\",\n \"score\": 8.5,\n \"justification\": \"...\",\n \"jobUrl\": \"...\"\n }\n]\n```\n\n## Step 4: Summary\n\nPrint a summary table of all matches ranked by score.",
}
}
}