Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add suxrobGM/jobpilot --skill resume-campaigngit clone --depth 1 https://github.com/suxrobGM/jobpilotWrote 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/skills/suxrobgm/jobpilot/resume-campaign)<a href="https://agentmods.dev/skills/suxrobgm/jobpilot/resume-campaign"><img src="https://agentmods.dev/badge/skills/suxrobgm/jobpilot/resume-campaign/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/skills/suxrobgm/jobpilot/resume-campaign"><img src="https://agentmods.dev/badge/skills/suxrobgm/jobpilot/resume-campaign.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Data Exfiltration · line 54 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 95 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
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.00040 | $0.01034 |
| Opus 5.5 | $0.00016 | $0.00414 |
| Sonnet 5.5 | $0.00008 | $0.00207 |
| Haiku 4.5 | $0.00004 | $0.00103 |
Grade A, and why
resume-campaign scanned grade A with 0 findings 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 today.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Resume Campaign - Continue a Paused Campaign
Resumes a paused Campaign by replaying the apply loop on jobs that
are still approved (or pending if approval was implicit). The user already
approved the fit when the campaign was first launched, so no re-confirmation gate.
Live view: $JOBPILOT_WEB/campaigns/<campaign-id>.
Setup
Follow ../_shared/setup.md to load profile, resume, credentials - its health check
aborts with the standard message if the backend is unreachable.
Phase 0: Resolve Campaign
Argument is <campaign-id>. If missing, list candidates and ask:
jobpilot-api GET /api/campaigns --query status=paused
Show each of .items as id, status, source, query.
Fetch the campaign + jobs:
CAMPAIGN_ID="<campaign-id>"
jobpilot-api GET "/api/campaigns/$CAMPAIGN_ID"
jobpilot-api GET "/api/campaigns/$CAMPAIGN_ID/jobs" --query page=1 --query limit=100
Verify status is paused. If completed or failed, stop:
"Campaign is already . Nothing to resume." If in_progress, stop:
"Campaign is still in progress. Stop the campaign from the UI first."
Refuse to resume if no job in .items is approved, pending, or applying: say "No
resumable jobs (approved/pending/applying). If none were ever added, start fresh with the
auto-apply skill." and stop.
Phase 1: Re-open the Campaign
Command status back to in_progress:
jobpilot-api POST "/api/campaigns/$CAMPAIGN_ID/status" --data '{"status":"in_progress","actor":"agent"}'
Keep the campaign's config.maxApplications as MAX_APPS (absent means no limit) for the stop
condition below.
Phase 2: Replay Apply Loop
For each job where status === "approved", "pending", or "applying", score-descending -
the same per-job flow as the apply skill's Apply Loop, delegated to the job-applier subagent
one at a time:
- Mark applying - PATCH the job to
applying. - Apply - delegate to
job-applierwith its input from../_shared/campaign-flow.md,briefomitted (the worker fetches it from the saved Job) andpreSubmitReview: <true when MAX_APPS === 1, else false>.
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.
- today Changed 329fe693ff64
- 23d ago Changed · +7 lines eb8eef4d769d
- 28d ago Changed · -13 lines be2c00bb8a46
- 1mo ago Changed 692f11c4947e
- 1mo ago First seen · 110 lines · 40 tokens per session scan A 235b51055674
resume-campaign is a skill published in the GitHub repository suxrobGM/jobpilot (102 stars, last pushed yesterday), licensed MIT. It adds 40 tokens to every session and 1,034 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
Cover Letter Generator
Create personalized, compelling cover letters from resume and job description.
resume-tailoring
Methodology for tailoring a resume to a job description honestly and effectively — fit analysis, gap handling, keyword mirroring, fast-learner framing, and primary-over-secondary emphasis. Use whenever curating or rewriting a resume for a specific role.
add-vacancy
Use whenever the user wants to ingest one or more job vacancies into Job Search HQ. Triggers: /add-vacancy, "add this vacancy", "add these jobs", pasting one or more job URLs, or pasting an aggregator/search URL and asking to expand it. Handles a single URL, a bulk list, or an aggregator page (DOU / Djinni /…
interview-prep
Use when the user wants to prepare for an interview tracked in Job Search HQ. Triggers: /interview-prep, "prep me for the X interview", "interview prep for ", "help me get ready for my final round", or accepting the prompt offered by /update-status when an interview is scheduled. Researches the company live and builds…
ingest-cv
Use when the user wants to import a CV/résumé into Job Search HQ so it can drive scoring and CV-tailoring. Triggers: /ingest-cv, "ingest my CV", "parse my resume", "import my CV", "read my CV in profile/cv". Parses PDF/DOCX/Markdown CV files in profile/cv/ (gitignored) into structured CV data linked from…
add-teams
Adds Microsoft Teams connector to a Power Apps code app. Use when sending Teams messages, posting to channels, or integrating with Teams chat.