branding-assessmentAudit the user's public brand surfaces — personal site, GitHub, Hugging Face, LinkedIn — against ground-truth direction. Surfaces drift (site says X, ground-truth says Y) and gaps (no project shipped in domain Z). Produces an actionable update list.
brief-company-financialsProduce a Company Financials research brief — funding rounds, valuation, revenue (if disclosed), burn / runway, profitability signal, public-market metrics. Use when the user needs a numbers-only read for negotiation, due-diligence, or to gauge runway risk. Reads templates/research-briefs/company-fi
brief-company-overviewProduce a Company Overview research brief for a target company — name, locations, headcount, funding rounds at a glance, founder story, competitive landscape, vision, differentiators. Use when the user wants a top-level read on a potential employer or consulting client. Reads the template at templat
brief-cultural-fitProduce a Cultural Fit research brief — pairs the user's stated operating style and constraints (read from ground-truth.md) against the company's apparent operating mode (from public signals). Output is a match-map plus blunt friction list. Use after the other briefs are in hand. Requires populated
brief-glassdoor-signalProduce a Glassdoor / employee-sentiment research brief — overall ratings, sub-ratings, tenure data with red-flag detection scoped to the relevant team, compensation data, theme analysis of top complaints and positives, recent direction inflections. Aggregate sentiment, not a recap of individual rev
brief-recruitment-profileProduce a Recruitment Profile research brief — careers page, open roles (filtered by target function if provided), LinkedIn presence, headcount trend, hiring signals, recruiter activity, and known interview-process patterns from public sources. Use when the user wants to assess whether a company is
brief-remote-friendlinessProduce an honest Remote Friendliness research brief — does the company actually hire from the user's location, or is the "remote-first" claim marketing? Cross-references stated policy against live job postings, time-zone requirements, hiring entities, and existing employees in the user's region. Cr
bulk-verify-crmSweep all (or a filtered subset of) email addresses in the workspace CRM and re-verify them via the Hunter email-verifier API. Use periodically — people change jobs, addresses go stale, accept-all status changes. Updates the `verified` and `last-verified` columns in `crm/contacts.md` and prints a su
chunked-discoveryFor broad domains ("AI", "fintech", "climate"), segment into sub-niches first, then drill down per segment using discover-by-domain. Writes a parent index plus per-segment notes. Use when discover-by-domain bails out.
companies-like-xGiven one seed company, find peers along an explicit similarity axis (product, customer, tech stack, business model, culture). Writes to <WORKING_FOLDER>/domain-notes/like-<seed-slug>.md. Reads outreach.md to mark contact status. Use when the user has a known reference point and wants more of the sa
crm-adapter-airtableTwo-way sync between markdown CRM (crm/companies.md, crm/opportunities.md, crm/outreach.md) and Airtable. Reads CRM_ADAPTER=airtable. Markdown stays the source of truth — Airtable is a mirror with a diff back. Conflicts surfaced for user resolution, never auto-merged.
crm-adapter-attioTwo-way sync between markdown CRM and Attio. Same shape as crm-adapter-airtable but mapped to Attio's object model (Companies, People, Deals, Notes). Markdown stays canonical; Attio is a working surface. Conflicts surfaced, never auto-merged.
crm-migrateOne-shot migration between CRM backends. Markdown → Airtable, markdown → Attio, Airtable → markdown, Attio → markdown, or Airtable ↔ Attio. Use when first adopting an external CRM, when leaving one, or when swapping providers. Snapshot-style, not incremental.
detect-mcpsScan the user's existing Claude Code plugins and MCP servers to detect capabilities the career plugin needs (email send, transcription, calendar/tasks, semantic store, CRM). For each capability, decide whether to reuse an already-installed plugin/MCP, install a recommended companion plugin, or add a
discover-by-domainEnumerate the main companies in a defined niche (e.g. "agentic AI for policy simulation", "open-source LLM tooling"). Writes to <WORKING_FOLDER>/domain-notes/<domain-slug>.md. Reads outreach.md to flag already-contacted companies. Use as the first step before /career:suggest companies — populate the
discover-by-geographyEnumerate companies in a domain operating in or hiring within a specific geography (city, country, region). Writes to <WORKING_FOLDER>/domain-notes/geo-<geo-slug>-<domain-slug>.md. Reads outreach.md to mark contact status.
discover-remote-friendlyEnumerate companies in a domain that are genuinely remote-friendly to USER_LOCATION (not just "remote-OK" with US-only fine print). Writes to <WORKING_FOLDER>/domain-notes/remote-<domain-slug>.md. Honest negatives over hopeful positives.
draft-outreachGenerate an outreach email draft grounded in ground-truth.md, the company research brief, the target contact, and a chosen template (cold-pitch / warm-followup / consulting-pitch / job-followup / interview-followup). Always saves to drafts/ and presents to the user for review. Never sends. send-outr
enrich-contactEnrich an existing CRM contact with Hunter combined enrichment — pulls role, seniority, department, social handles, and the contact's company facts in one call. Use to flesh out a thinly-populated CRM row before drafting outreach or prepping for a meeting. Operates on an email address from the CRM;
find-communitiesEnumerate communities (LinkedIn groups, Slack channels, Discords, professional orgs, mailing lists) for a domain. Each entry includes activity-level signal and alignment to ground-truth. Writes to <WORKING_FOLDER>/domain-notes/<domain-slug>/communities.md.
find-conferencesEnumerate conferences and events at the intersection of a domain, geography, and date range. Reads ground-truth for goals/travel constraints. Writes to <WORKING_FOLDER>/domain-notes/<domain-slug>/conferences.md. Surfaces CFP windows separately so the user can submit, not just attend.
find-contactFind the right person to contact at a target company using Hunter.io. Use when the user needs decision-maker / hiring-manager / founder contact details before drafting an outreach. Returns ranked candidates with confidence scores; optionally appends to the workspace CRM. Calls the Hunter REST API di
find-email-by-nameGiven a person's name and their company (name or domain), return Hunter's best guess at their email address with a confidence score. Use when the user already knows who they want to reach and just needs the address. Differs from find-contact (which lists candidates at a company) — this is targeted a
find-hackathonsEnumerate hackathons relevant to a domain. Per spec, hackathons are often a direct line to founders — surface ones that double as outreach surface, not just coding events. Writes to <WORKING_FOLDER>/domain-notes/<domain-slug>/hackathons.md.
find-jobs-boardsEnumerate specialist job boards relevant to a domain (and optionally the user's location/remote preference). Filters out generic boards (LinkedIn, Indeed) by default — surfaces only niche-aligned sources. Writes to <WORKING_FOLDER>/domain-notes/<domain-slug>/jobs-boards.md.
ground-truthRead or edit the workspace's ground-truth.md — the source-of-truth profile every Career-OS skill reads first. Use when the user says "update my profile", "I changed roles", "I'm looking for X now", or after a major life/career change. Idempotent and diff-friendly. Never silently overwrites.
import-linkedin-historyParse a LinkedIn data export ZIP — positions, connections, messages, profile — and land structured markdown/CSV in <WORKING_FOLDER>/linkedin/. Surfaces follow-up candidates (recent connections + recent message threads) for the user to consider routing to outreach.
install-companion-pluginsOffer to install Claude Code plugins that complement the career plugin. Use during /career:onboard, or whenever the user wants to enable a downstream capability (transcription for voice ingest, schedule-manager for calendar/tasks, email-skills for outreach send, social-feedback for company sentiment
log-outreachManually log an outreach that was sent outside the plugin (e.g. a LinkedIn message, an in-person conversation, an email sent from a phone). Appends a row to crm/outreach.md without invoking any send. Use this to keep the outreach log honest as the spine of the recommendation engine.
map-investorsMap VCs and angels active in a domain. Output is usable as introducer surface — for each investor, surface portfolio companies that overlap with the user's target list. Writes to <WORKING_FOLDER>/domain-notes/<domain-slug>/investors.md.
meeting-prepProduce a one-page pre-call brief — 5 talking points in user's voice, 3 questions to ask, 1 "if cornered" framing, 1 "what success looks like" line. Reads ground-truth + any existing research briefs. Saves to <WORKING_FOLDER>/meetings/<YYYY-MM-DD>-<company>-prep.md.
memory-syncIncremental sync of working-folder/ into a namespace of the `memory` upstream on the MCP gateway (tools mcp__gateway__memory__*) for semantic recall. Stores only changed files (content hash), forgets chunks of changed or deleted files. Namespace name from config. Idempotent.
new-workspaceProvision a new career workspace on disk. Use when the user wants to start a new career-os, career-planning, job-search, or salary-research project. Accepts a workspace name and a variant (career-os | career-planning | job-search | salary-research). Default variant is `career-os` — the unified emplo
quick-captureLightweight capture for inline text or short voice notes — same classification + routing pipeline as voice-ingest, but optimized for "one thought, drop it in" rather than full memos. Voice routes through the transcription companion; text skips straight to classify + propose route.
research-routerCost-routing helper. Reads RESEARCH_MODEL from config and decides whether a bulk-research call should run on Claude or be delegated to a cheaper model (DeepSeek Pro/Flash via OpenRouter). Reserves Claude for ground-truth, meeting-prep, draft-outreach, recommendation engine. Skills that produce many
route-captureGiven a classified inbox entry (from voice-ingest or text input), execute the proposed route — create tasks, update CRM rows, draft follow-ups, propose ground-truth edits. Always confirms each side-effect before committing. Marks the inbox entry routed when done.
salary-researchWhite-hat salary benchmarking for a (geography, role) pair. Cached at cache/salary-<geo>-<role>.md so repeat calls don't re-fetch. Public sources only — postings, Levels.fyi, Glassdoor, Payscale, BLS/Eurostat, SEC, Blind/Fishbowl as signal. Confidence-tagged per data point.
self-healing-contextReconciliation pass. Reads ground-truth.md + crm/companies.md + crm/opportunities.md + crm/outreach.md and surfaces discrepancies. Never silently overwrites — every finding is a proposed delta the user reviews. Writes to <WORKING_FOLDER>/reconcile/<YYYY-MM-DD>-findings.md.
semantic-recallQuery the `memory` upstream on the MCP gateway (tools mcp__gateway__memory__*), or fall back to grep-over-markdown, for context relevant to a task. Returns ranked snippets with cited paths. Used by suggest-companies, meeting-prep, weekly-plan, self-healing-context when CONTEXT_STORE=memory. Caller d
send-outreachSend a previously-drafted outreach email. Reads a draft file from drafts/, presents it one final time to the user, requires explicit "yes, send" confirmation, then delegates to the email-skills companion plugin (personal or business sender per draft frontmatter). On send, updates the draft frontmatt
skill-gap-analysisDiff current skill inventory against target-role/domain profile. Categorises gaps as critical/material/met. Carries plan notes forward across refreshes. Writes skills/gaps.md. Different shape from suggest-skills (which is forward-looking against a horizon) — this is the inventory delta.
suggest-companiesRank companies from a domain note (or set of notes) for the user, applying anti-loop logic against outreach.md. Hard-excludes recently-contacted; rank-downs stalled; surfaces freshness so the logic is visible. Writes to <WORKING_FOLDER>/recommendations/companies-<date>.md.
suggest-consulting-packagesFor users with a freelance-brand in ground-truth, propose narrow consulting offers (problem framed, scope outlined, rough investment indicated) targeted at a domain or company. Writes to <WORKING_FOLDER>/recommendations/consulting-packages-<date>.md.
suggest-projectsSuggest concrete projects (build / write / contribute) the user could ship to close a skill gap, demonstrate a capability, or create a hook for outreach to a target company. Writes to <WORKING_FOLDER>/recommendations/projects-<date>.md.
suggest-rolesGiven ground-truth and (optionally) a target company or domain, suggest role titles/shapes to target. Distinguishes "roles that exist on the market" from "roles I should pitch creating". Writes to <WORKING_FOLDER>/recommendations/roles-<date>.md.
suggest-skillsIdentify skill gaps between ground-truth and target roles/companies/domain. Distinguishes "must close to be considered" from "would round out the profile". Writes to <WORKING_FOLDER>/recommendations/skills-<date>.md.
tailor-resumeProduce a resume variant tailored to a specific role/JD. Reads master resume + ground-truth + JD; rewrites bullets to surface relevant experience and mirror JD phrasing where truthful. Never invents experience. Writes to resume/variants/<company>-<role>.md with a tailoring summary.
track-statusUpdate the status of an existing outreach log row. Use when a contact replies, books a meeting, the meeting happens, the conversation stalls, or the opportunity closes. Records state-change date without rewriting history. The recommendation engine reads these statuses to enforce anti-loop discovery.
vector-conflict-checkFor CONTEXT_STORE=memory — verify the workspace namespace(s) on the gateway `memory` server (tools mcp__gateway__memory__*) against the local workspace. Flags memories whose source file was deleted, renamed, or content-changed (hash mismatch), and surfaces memories whose content contradicts current
vector-init-applicationsFirst-run scaffold of a memory namespace dedicated to application/outreach tracking. Creates a `<MEMORY_NAMESPACE>-applications` namespace on the gateway `memory` server (tools mcp__gateway__memory__*), sets the tag schema (company, role, status, applied_date, last_touch, source_path, stage), seeds
verify-emailValidate a single email address via the Hunter email-verifier API. Use when the user has an address (handed to them, scraped, guessed) and wants a deliverability + confidence read before sending outreach. Returns Hunter's verdict (deliverable / risky / undeliverable / unknown), score, and the dispos
voice-ingestweekly-logweekly-planworkspace-organize