Skip to content
Back to skills

Jobgru

ASecurity

Jobgru global router — setup, help, check, filter, delete, mcp, and job-search pipeline. Use when the user says /jobgru, Jobgru setup, Jobgru help, Jobgru check, Jobgru filter, Jobgru delete, Jobgru mcp, or asks for a job search. All engine commands run from JOBGRU_HOME (~/.jobgru), not the current workspace.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
ai-agentspythongoshellbashnode

Works with

  • claude code
  • cursor
  • cli
  • mcp

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add ashujha301/jobgru --skill jobgru --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Jobgru?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Jobgru
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashujha301-jobgru-jobgru/badge)](https://www.skillsdirectory.com/skills/ashujha301-jobgru-jobgru)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: jobgru
description: Jobgru global router — setup, help, check, filter, delete, mcp, and job-search pipeline. Use when the user says /jobgru, Jobgru setup, Jobgru help, Jobgru check, Jobgru filter, Jobgru delete, Jobgru mcp, or asks for a job search. All engine commands run from JOBGRU_HOME (~/.jobgru), not the current workspace.
---

# Jobgru (global router)

**JOBGRU_HOME:** `~/.jobgru` (set by installer). If missing, fall back to repo root when opened as a project.

All shell commands use `$JOBGRU_HOME/.venv/bin/python $JOBGRU_HOME/scripts/...` with `cwd=$JOBGRU_HOME`.

## Route by intent

| User says | Read and follow |
| --- | --- |
| setup, first time, sheet URL, add resume | `$JOBGRU_HOME/.cursor/skills/jobgru-setup/SKILL.md` → **setup** |
| help | Run `$JOBGRU_HOME/.venv/bin/python $JOBGRU_HOME/scripts/jobgru_help.py` |
| check | Run `$JOBGRU_HOME/.venv/bin/python $JOBGRU_HOME/scripts/jobgru_check.py --json` |
| mcp, browser setup, playwright | Run `$JOBGRU_HOME/.venv/bin/python $JOBGRU_HOME/scripts/jobgru_mcp.py status` or `jobgru mcp install` |
| filter, saved filters, job search filters | `$JOBGRU_HOME/.cursor/skills/jobgru-setup/SKILL.md` → **filter** |
| prompts, example prompt, job search prompt | Run `$JOBGRU_HOME/.venv/bin/python $JOBGRU_HOME/scripts/jobgru_prompts.py` or `jobgru prompts` |
| delete rows, remove jobs from sheet | `$JOBGRU_HOME/.cursor/skills/jobgru-setup/SKILL.md` → **delete** |
| job search, find jobs, pipeline | `$JOBGRU_HOME/.cursor/skills/jobgru/SKILL.md` (+ leadgru, atsscore after Phase 1) |
| send add notes, SendGru, send connection notes + row range | `$JOBGRU_HOME/.cursor/skills/sendgru/SKILL.md` (**on-demand only — not in pipeline**) |

Resolve `JOBGRU_HOME`:
```bash
test -d ~/.jobgru/scripts && echo ~/.jobgru || pwd
```

## Browser contract

| Agent | Browser tools |
| --- | --- |
| **Cursor** | Cursor Browser (browser_navigate, browser_snapshot, browser_click, …) |
| **Claude Code / Codex** | **Playwright MCP tools only** (`playwright.browser_navigate`, `browser_snapshot`, `browser_click`) — install once: `jobgru mcp install` |
| **No browser tools** | Run sheet writes + ATS only; report that LeadGru/job-board phases were skipped |

**Codex:** for LinkedIn/job-board browsing, call the **`playwright` MCP server tools directly** (`playwright.browser_navigate` etc.). Do NOT use the bundled browser-control skill / `node_repl` browser runtime — it is a different browser with no LinkedIn session. If `playwright` tools are not listed, tell the user to run `jobgru mcp install` and restart the Codex session.

The Playwright profile lives at `~/.jobgru/browser-profile` — LinkedIn login persists between sessions. Sign in once, reuse forever.

User completes MFA/CAPTCHA manually in the visible browser window.

**LinkedIn pacing is always on** (Jobgru LinkedIn Jobs + LeadGru). Read it in `$JOBGRU_HOME/.cursor/skills/jobgru/SKILL.md` and `leadgru/SKILL.md`. Default: **40s sleep before every LinkedIn navigate** except the first after lock; one LinkedIn tab; stop on CAPTCHA/rate-limit with no retries. LinkedIn has **no job-count cap**; LeadGru writes **at most 5 people + company people page**. Do not skip pacing because the user omitted “go slow”.

**SendGru** (connection + add note send) is **on-demand only** — see `sendgru/SKILL.md`. Sends **2 people per applied row**; **appends** `Sent add note` to column H (does not replace the note). **Never** runs in the pipeline.

## Quick commands

```bash
jobgru help
jobgru check
jobgru mcp install
jobgru filter
jobgru prompts
jobgru delete --rows 42-44
```

## Manual user steps (never automate)

1. Copy Google Sheet template → File → Make a copy (tab: `Job Applications`)
2. `gcloud auth login --enable-gdrive-access --update-adc`
3. Copy resume PDF to `$JOBGRU_HOME/data/resumes/` (global install does not copy PDFs automatically)

Template: https://docs.google.com/spreadsheets/d/18TQRl1dh0Ivdk8YbxkdiWb6__XkpHM32T1ohPTuMJ_4/edit

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.