Borrowing it
Nothing to install: this file belongs to ncalavera/llm-job-pipeline. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/ncalavera/llm-job-pipeline/main/.claude/commands/jobs-review.mdgit clone --depth 1 https://github.com/ncalavera/llm-job-pipelineWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/ncalavera/llm-job-pipeline/jobs-review)<a href="https://agentmods.dev/commands/ncalavera/llm-job-pipeline/jobs-review"><img src="https://agentmods.dev/badge/commands/ncalavera/llm-job-pipeline/jobs-review/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/ncalavera/llm-job-pipeline/jobs-review"><img src="https://agentmods.dev/badge/commands/ncalavera/llm-job-pipeline/jobs-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00055 | $0.05068 |
| Opus 5.5 | $0.00022 | $0.02027 |
| Sonnet 5.5 | $0.00011 | $0.01014 |
| Haiku 4.5 | $0.00006 | $0.00507 |
Grade A, and why
jobs-review scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s -o /dev/null -w '%{http_code}\n' https://<your-dashboard-host>/api/vacancies How it starts
The opening of the file, as written. The whole thing — 501 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/jobs-review
One entry point for reviewing vacancies after scoring. The first argument picks the mode:
| Invocation | Mode |
|---|---|
/jobs-review (no arg) |
Status menu — print counts, let the user pick |
/jobs-review apply |
Deep structured interview of liked vacancies |
/jobs-review archive |
Interactive archival of low-scoring unseen vacancies |
/jobs-review vac [list|show|mark|open|companies] ... |
Thin triage CLI (pass-through to scripts/vac.py) |
Never auto-drop into apply. With no argument, show the menu and wait.
Reply in the user's product language. Read ## OUTPUT_LANGUAGE from
config/user_profile.md (resolve with python3 -c "import sys;sys.path.insert(0,'scripts');import product_language as p;print(p.resolve())" → en/ru) and write ALL of your
chat — menus, prompts, interview questions, summaries — in that language.
After any mode that mutates state (apply, archive) — run the Publish step at the end (see bottom). vac mutations the user makes by hand can also publish on request, but the menu/CLI itself does not auto-publish.
Mode: status menu (no argument)
Print the current review backlog so the user knows what is worth doing, then ask which mode to enter.
from config import LLM_SCORE_THRESHOLD
from database_supabase import load_vacancies, get_protected_ids
v = load_vacancies()
threshold = LLM_SCORE_THRESHOLD # default = 20
liked = [x for x in v.values() if x.get('status') == 'liked']
protected_ids = get_protected_ids()
archivable = [
(vid, vac) for vid, vac in v.items()
if vid not in protected_ids
and vac.get('llm_score') is not None
and vac['llm_score'] < threshold
]
Render:
JOBS REVIEW
============================================================
{len(liked):3d} liked awaiting apply-decision → /jobs-review apply
{len(archivable):3d} low-score archivable (< {threshold}) → /jobs-review archive
{len(v):3d} vacancies in DB total → /jobs-review vac list
============================================================
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +10 lines 7c2b4ba5a5eb
- 2mo ago Changed cf6471245fbe
- 2mo ago First seen · 491 lines · 55 tokens per session scan A 7a74c3f09bab
jobs-review is a command published in the GitHub repository ncalavera/llm-job-pipeline (2 stars, last pushed 16d ago), licensed MIT. It adds 55 tokens to every session and 5,068 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
jobs-review compared with commands from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| jobs-reviewncalavera/llm-job-pipeline | Command | 2 | 16d ago | MIT | A | 55 | Claude Code |
| checklistgithub/spec-kit | Command | 148k | yesterday | MIT | A | 13 | Claude Code |
| clarifygithub/spec-kit | Command | 148k | yesterday | MIT | A | 27 | Claude Code |
| specifygithub/spec-kit | Command | 148k | yesterday | MIT | A | 13 | Claude Code |
| analyzegithub/spec-kit | Command | 148k | yesterday | MIT | A | 26 | Claude Code |
| convergegithub/spec-kit | Command | 148k | yesterday | MIT | A | 35 | Claude Code |
| implementgithub/spec-kit | Command | 148k | yesterday | MIT | A | 14 | Claude Code |