resume

Solid

Resume a paused JobPilot campaign by id. Re-flips the campaign to in_progress and replays the apply loop on any remaining approved jobs without re-asking for fit confirmation.

AI & Automation 38 stars 11 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 86/100

Stars 20%
53
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Resume - 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. Check the web app is up: ```bash JOBPILOT_API="${JOBPILOT_API:-https://jobpilot.suxrobgm.net}" curl -fsS -H "authorization: Bearer $JOBPILOT_API_TOKEN" "$JOBPILOT_API/api/health" >/dev/null || { echo "JobPilot web is down. Start it with 'bun run dev'."; exit 1; } ``` ## Phase 0: Resolve Campaign Argument is `<campaign-id>`. If missing, list candidates and ask: ```bash curl -fsS -H "authorization: Bearer $JOBPILOT_API_TOKEN" "$JOBPILOT_API/api/campaigns" \ | jq -r '.items[] | select(.status=="paused") | "\(.campaignId)\t\(.status)\t\(.source)\t\(.query)"' ``` Fetch the campaign + jobs: ```bash CAMPAIGN_ID="<campaign-id>" CAMPAIGN=$(curl -fsS -H "authorization: Bearer $JOBPILOT_API_TOKEN" "$JOBPILOT_API/api/campaigns/$CAMPAIGN_ID") JOBS=$(curl -fsS -H "authorization: Bearer $JOBPILOT_API_TOKEN" "$JOBPILOT_API/api/campaigns/$CAMPAIGN_ID/jobs?page=1&limit=100") ``` Verify status is `paused`. If `completed` or `failed`, stop: **"Campaign <id> is already <status>. Nothing to resume."** If `in_progress`, stop: **"Campaign <id> is still in progress. Stop the campaign f...

Details

Author
suxrobGM
Repository
suxrobGM/jobpilot
Created
4 months ago
Last Updated
yesterday
Language
TypeScript
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category