From career-navigator
Provides honest, scenario-aware evaluation of a job offer (employed vs unemployed context), including role fit, utilization analysis, compensation fairness using market benchmarks, and negotiation-readiness leverage points. Persists OfferContext for downstream negotiation/comparison.
npx claudepluginhub tmargolis/career-navigator --plugin career-navigatorThis skill uses the workspace's default tool permissions.
Run `evaluate-offer` to produce an honest OfferEvaluationReport and persist an
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Builds scalable data pipelines, modern data warehouses, and real-time streaming architectures using Spark, dbt, Airflow, Kafka, and cloud platforms like Snowflake, BigQuery.
Builds production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. For data pipelines, workflow orchestration, and batch job scheduling.
Run evaluate-offer to produce an honest OfferEvaluationReport and persist an
OfferContext JSON file to:
{user_dir}/CareerNavigator/offer-context-{application_id}.json
so negotiate-offer and compare-offers can consume it later.
If the host UI asks you for a directory to share with an agent during this
skill's run, share only your {user_dir} job-search folder (the one
containing CareerNavigator/).
This skill reads/writes:
{user_dir}/CareerNavigator/profile.md{user_dir}/CareerNavigator/ExperienceLibrary.json{user_dir}/CareerNavigator/tracker.json{user_dir}/CareerNavigator/offer-context-{application_id}.jsonDo not share the whole workspace or unrelated folders.
Read:
{user_dir}/CareerNavigator/profile.md{user_dir}/CareerNavigator/ExperienceLibrary.json{user_dir}/CareerNavigator/tracker.jsonIf missing required files, output:
Offer evaluation skipped: run
/career-navigator:launchto initializeCareerNavigator/.
From {user_dir}/CareerNavigator/tracker.json, find applications where:
status is "offer"Cases:
application_id./career-navigator:track-application.Actively classify one of these scenarios:
Heuristics:
## Employment Context section:
Collect offer fields from either:
tracker.json offer fields for this application_id (if present)Fields to extract when available:
offer.deadline) and any decision timingIf you cannot determine critical details (e.g., deadline or comp at all), ask for just those missing items.
Hand off to market-researcher with a request for a compensation benchmark for:
Instruction for the agent: if live compensation tooling is not available in this host, produce a conservative, locally-grounded benchmark and label confidence.
Additionally, if the benchmark comes back with any unknown/missing range values
or confidence is not High, you must explicitly offer the user next step to
fetch it via /career-navigator:salary-research (and mention that it may
require the Apify connector in Claude Desktop) using the extracted role and
location.
Hand off to honest-advisor to produce an OfferEvaluationReport covering:
The report must include explicit leverage points (credentials, accomplishments, ExperienceLibrary units) that justify above-median asks.
Instruct honest-advisor to:
/career-navigator:salary-research (role + location)/career-navigator:market-brief (for demand/AI outlook)OfferContext JSONWrite to:
{user_dir}/CareerNavigator/offer-context-{application_id}.json
Schema requirement (minimum fields; include more if helpful):
{
"schema": "offer_context_v1",
"as_of": "{YYYY-MM-DD}",
"application_id": "{application_id}",
"company": "{company}",
"role": "{role}",
"scenario": "A|B|C",
"offer_details": {
"base": "...",
"bonus": "...",
"equity": "...",
"benefits_notes": "...",
"deadline": "YYYY-MM-DD|null"
},
"compensation_benchmark": {
"currency": "USD|...",
"percentile_or_range": "...",
"market_range": { "low": "...", "median": "...", "high": "..." },
"confidence": "Preliminary|Directional|Moderate|High",
"notes": "..."
},
"leverage_points": [
{ "rank": 1, "claim": "...", "evidence": "ExperienceLibrary/profile references" }
],
"evaluation_summary": "short 3–6 lines",
"fairness_verdict": "below_market|at_market|above_market|borderline",
"recommendation": "accept|decline|negotiate|continue_searching"
}
If write-to-disk fails:
If the report indicates negotiation is appropriate, prompt the user:
Run
/career-navigator:negotiateto draft a send-ready negotiation message.
If the compensation benchmark was missing/incomplete, also prompt:
If you want tighter numbers, run
/career-navigator:salary-researchfor this role + location and I can re-run the evaluation with the fetched benchmarks.
If multiple active offer-stage applications exist, also prompt:
Run
/career-navigator:compare-offersfor side-by-side evaluation.
Present the conversational OfferEvaluationReport and confirm:
Saved OfferContext to
{user_dir}/CareerNavigator/offer-context-{application_id}.json.