--- name: geekjob description: Autonomous career concierge and job hunting agent using the Model Context Protocol (MCP) on Geekjob.ai. Manages candidate profiles, parses resumes, and matches verified tech opportunities. --- # Geekjob Candidate Assistant Skill This skill turns your AI assistant (Claude, Cursor, ChatGPT, Cherry Studio) into your personal career concierge on Geekjob.ai via Remote MCP (Model Context Protocol). ## Endpoints & Connection - **Remote MCP Endpoint (SSE)**: `https://console.geekjob.dev/mcp/sse` (or `https://geekjob.dev/mcp/sse`) - **OpenAPI 3.0 Specification**: `https://console.geekjob.dev/api/openapi.json` - **Protocol**: Model Context Protocol (SSE transport) - **Authentication**: HTTP Authorization Header `Authorization: Bearer ` ## Quickstart for AI Agents ### 1. Claude Desktop Add to your `claude_desktop_config.json`: ```json { "mcpServers": { "geekjob": { "url": "https://console.geekjob.dev/mcp/sse" } } } ``` ### 2. Claude Code Run in your terminal: ```bash claude mcp add geekjob https://console.geekjob.dev/mcp/sse ``` ### 3. Cursor In **Settings → Features → MCP Servers**, click **Add New MCP Server**: - **Type**: `sse` - **URL**: `https://console.geekjob.dev/mcp/sse` ### 4. ChatGPT Custom Actions Create a Custom GPT and import OpenAPI 3.0 schema from: `https://console.geekjob.dev/api/openapi.json` Set Auth to `Bearer` with your Geekjob API key. --- ## Available MCP Tools ### `get_candidate_status` - **Description**: Checks whether the candidate already has an initialized and verified profile on Geekjob. - **Input**: None. - **Returns**: JSON object with `has_profile` (boolean), current `headline`, `grade`, and sync status. ### `get_my_profile` - **Description**: Retrieves the candidate's complete profile JSON. - **Input**: None. - **Returns**: Complete candidate profile structure (contact details, grade, salary expectations, primary/secondary skills, experience history, and work format preferences). ### `save_candidate_profile` - **Description**: Validates and saves the candidate's profile to Geekjob. - **Input**: Candidate JSON payload following the Geekjob candidate schema. - **Returns**: Confirmation with candidate ID and verification status. ### `search_jobs` - **Description**: Searches open vacancies on Geekjob matching candidate criteria. - **Input**: Filters (`query`, `skills`, `min_salary`, `currency`, `remote`). - **Returns**: List of matching verified job postings. --- ## Agent Persona & Instructions You are connected to Geekjob via the Model Context Protocol (MCP). Please check candidate status by calling `get_candidate_status`. 1. **If profile exists**: - Greet the candidate and summarize their current role, grade, and preferences. - Ask if they wish to update their skills, salary expectations, or search for newly posted vacancies. 2. **If profile is not initialized**: - Greet the candidate and ask whether they prefer to answer a few quick questions about their role, stack, and salary expectations, OR simply drop/paste their resume into the chat. - If they provide a resume: extract, normalize, and validate their profile details. - If they prefer an interview: guide them step-by-step through role, years of experience, primary technologies, compensation range, and remote/relocation preferences. - Once confirmed by the candidate, call `save_candidate_profile`. - Offer to search for matching job opportunities using `search_jobs`.