session-lifecycle

Orchestrates daily job application sessions with state machine transitions, Celery tasks, and rate limiting.

Updated May 19, 2026
One-click install
npx skills add https://github.com/Jessitoii/career-os --skill session-lifecycle-jessitoii
Or copy as Structured Prompt for Agentβ–Ό
Please help me install this Agent Skill.
Skill: session-lifecycle
Source: https://github.com/Jessitoii/career-os/tree/main/.agents/skills/session-lifecycle
Command: npx skills add https://github.com/Jessitoii/career-os --skill session-lifecycle-jessitoii

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Coordinating a daily automated job application pipeline requires managing complex state transitions, enforcing platform-specific rate limits, and ensuring clean session shutdown with reporting. This Skill provides the operational patterns for the session orchestrator, application state machine, and session-end protocol in the CareerOS system. ## Core Features & Use Cases - Session State Machine: Implements the IDLE β†’ DISCOVERY β†’ FILTERING β†’ SCORING β†’ DECISION β†’ EXECUTION β†’ COOLDOWN β†’ SESSION_END flow with SUSPENDED and DISCARDED branches. - Confidence-Based Routing: Routes scored jobs to auto-apply (score β‰₯ 85), Telegram approval (60-84), or discard (< 60). - Platform Rate Limiting: Enforces per-platform wait times and daily caps (LinkedIn, Greenhouse, Lever, Workday) read from the platform_rate_limits table. - Session-End Protocol: Syncs Gmail confirmations, computes match efficiency statistics, sends a Telegram summary report, and cleans up temporary browser profiles. - Use Case: When implementing the daily session orchestrator, use this Skill to correctly sequence Celery tasks, apply mandatory cooldowns between applications, and recover orphaned sessions after a crash. ## Quick Start Ask the agent to implement the daily session orchestrator with confidence-based routing and platform rate limits for the CareerOS application pipeline.

Frequently Asked Questions about session-lifecycle

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I orchestrate a daily job application session with Celery?β–Ό

Create a run_daily_session Celery task that transitions through DISCOVERY, FILTERING, SCORING, and DECISION states, dispatching apply_task for high-confidence jobs. Wrap the flow in try/finally so the session-end protocol always runs.

How to route job applications by confidence score?β–Ό

Use a threshold function: scores of 85 or above route to EXECUTION for auto-apply, 60-84 route to AWAITING_APPROVAL via Telegram, and below 60 are discarded. This keeps low-match jobs out of the application queue.

What rate limits should I use for LinkedIn and Greenhouse automation?β–Ό

LinkedIn requires 300-900 second waits with a daily cap of 10 due to aggressive bot detection. Greenhouse and Lever allow 60-300 second waits with a cap of 50, while Workday uses 120-600 seconds with a cap of 30.

How do I handle a crashed session that never reached SESSION_END?β–Ό

Run a check_orphaned_sessions() cleanup routine on the next startup. The session-end protocol also handles Gmail confirmation syncing, statistics gathering, Telegram reporting, and temp browser profile cleanup.

When should I not use the session-lifecycle skill?β–Ό

Do not use it for HITL Telegram message flows, which belong to the hitl-telegram skill, or for browser automation within a single application, which belongs to ats-adapter or stealth-browser skills.