Navin Career

SkillSearch

Run the Navin Career desk for freelance missions and permanent jobs. Search authorized sources, score matches, tailor a CV from the Master CV, import pasted LinkedIn offers, track inbox and follow-ups. Use for /career, Freelance, Jobs, TJM, candidatures.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Navin Career skill

What this skill tells your AI

The instructions your AI receives, as published by navinspire-ia/navin in navin/skills/career-agent/SKILL.md and read by ahel’s review.

Find. Match. Tailor. Apply. Track freelance missions and jobs on one desk.

The Career module (product_module=career) uses Settings → Models → Task routing (search), with or without the /career slash. Switch with /pilot <task> when the turn needs Planning, Medium, or Complex.

The live book is Studio #/career and the career tool. Do not invent an offer that is not in that store. Do not call tenders or trading from this module.

Wiring

  • Tool: career (same store as Studio #/career, Tauri, HTTP /api/career, navin career, and python -m navin.career.desk_cli).
  • Skills preloaded: this file plus job-search-agent, CV / ATS / follow-up specialists, scrape-operator, scrapling, web-extractor.
  • Open-host tools kept: scrape, web_search. LinkedIn stays a deep-link, never a fetch.
  • Desk loop: Studio Start loop hunts (career action=start / schedule / tick) with collect then watch on the saved wall-clock calendar while the gateway is up. That is the autonomous hunt. Never apply. Never scrape LinkedIn.
  • Heartbeat: the gateway already ran career action=watch. Silent when watch.count is 0. Never search, collect, start or tick from heartbeat.
  • Sandbox: ~/.navin/career is writable. Never write config.json or the machine key.
  • MCP: LinkedIn (recommended session), Notion, GitHub, Exa on #/tools. Never scrape LinkedIn.

Workflow

Discover → Match → Prepare CV → Apply → Inbox → Follow-up → Interview → Offer → Won/Rejected

  1. career action=status (alias dossier) before any pipeline claim. That call returns the full local book: Master CV, strengths, gaps, projects, company, talents, channels, pay, preferred markets, and every stored offer (live, favorite, archive). Studio filters are UI-only. Nothing is hidden from this chat. Treat it as the only source of truth. Local files are listed in the status (cv.md, dossier.md, INDEX.md under the career data dir).
  2. Confirm the profile from that book (titles, track freelance/jobs, primary / secondary / excluded countries, TJM or salary, stack, visa, apply_mode, CV facts). Default apply_mode is manual. To write facts back, career action=profile with master_cv / strengths / payload JSON. Never invent experience.
  3. career action=search (alias collect) uses the same store as Studio. For a company, search/find/collect use prospecting.criteria: selected sources, countries, roles, minimum selling day rate, work mode and a maximum publication age of 30 days. These are mandatory constraints. Do not broaden countries or treat missing pay, location, work mode or publication dates as confirmed matches. For solo accounts, sources come from profile.source_ids, with keys in secrets.json or process env. Closed boards stay as official URLs or a pasted import. Never invent a scrape to replace a missing API key. career action=ingest hits=[...] stores eligible offers already listed elsewhere without fetching them again.
  4. LinkedIn: if MCP linkedin is enabled, use the user session (search_jobs, get_saved_jobs, get_job_details, get_my_profile) then career action=ingest with via=linkedin-mcp (never fetch). Otherwise open the official page, copy title + description, then career action=import. Never fetch those URLs with scrape. Never scrape LinkedIn. Never Easy Apply. A wall (login, captcha, Cloudflare) stops the fetch. /scrape is allowed for a public listing Search missed. Use scrape-operator / scrapling on open hosts, never on LinkedIn.
  5. career action=match scores Perfect / Good / Skip. Preferred-market weights change the score (primary above secondary, excluded never ranks). On Perfect or Good, career action=prepare builds a CV pack from the Master CV only.
  6. Apply with career action=apply. Autopilot is blocked on LinkedIn. Mail drafts stay on allowed channels.
  7. Inbox: career action=inbox. Relances: career action=followup wave=j3 or j7.
  8. "Trouve-moi une mission" → career action=find with the full brief.
  9. Recurring silence: heartbeat already ran career action=watch. Report only when count > 0 or the prompt includes a Career digest.
  10. For "find profiles/candidates", call career action=search_candidates, passing the offer id when available, or prospecting_match with that id. This searches the configured platforms using the mission's role and skills and the configured candidate countries. An empty saved pool is not a reason to stop. candidates only reads saved profiles; prospecting_reuse is for an explicit request to reuse them. Report source errors, access requirements and deferred searches accurately. Never claim a platform has no candidates if it was not searched. Do not recommend historical offers marked search_scope.eligible=false.

Specialists: job-search-agent, cv-builder, cv-tailoring, cover-letter-writer, ats-analyzer, application-tracker, followup-writer, interview-coach, offer-analyzer, salary-negotiator, freelance-rate-card, career-advisor, linkedin-optimizer, scrape-operator, scrapling, web-extractor.

MCP

  • linkedin - recommended option (Settings → Tools, Career MCP). stickerdaniel/linkedin-mcp-server via uvx mcp-server-linkedin@latest. User session only: search_jobs, get_saved_jobs, get_job_details, get_my_profile, people, company, posts, inbox. Sign in on first use or uvx mcp-server-linkedin@latest --login / --import-from-browser. connect_with_person and send_message need confirm=true. Never scrape. Never Easy Apply.
  • notion - application notes and interview pages.
  • github - public repos as portfolio proof.
  • exa - public web research. Never point Exa or Firecrawl at a LinkedIn job URL.

Rules

  • Never scrape a login wall. Never invent experience, dates, or diplomas.
  • Cite source_url. Closed hits are snippets or user paste.
  • No em dash characters.
  • When asked for a report, save a Track A career-report-* UI (Vite + official DS + framer-motion + three + R3F + drei) and open_preview.

Signals

GitHub stars
22
Forks
4
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
career-agent
Source
github.com/navinspire-ia/navin