🎯 Openjobs People Match
Evaluate how well candidates fit a job description using the OpenJobs AI grading model.
When to use
Use this skill when the user needs to:
- - Score a single candidate CV against a job description
- Bulk-grade multiple candidates against one job description and rank them by fit
Version Check
At the start of every session, check whether this skill is up to date:
- 1. Call the version endpoint:
curl -s https://mira-api.openjobs-ai.com/v1/version
- 2. Compare the returned
version with this skill's frontmatter version: 1.0.1. - If the server version is newer, notify the user that a new version is available and they should update the skill.
If the versions match, proceed normally without notifying the user.
First-time Setup
Before using any feature, check whether an API key is already available:
- 1. Check the
MIRA_KEY environment variable: INLINECODE3
If no key is found, ask the user:
"Do you have a Mira API key?"
- - Yes — ask them to provide it, then set it as an environment variable:
export MIRA_KEY="mira_your_key_here"
- - No — prompt them to register:
"You can get your API key by signing up at https://platform.openjobs-ai.com/"
Do not proceed with any API call until a valid key is available.
API Basics
All requests need:
CODEBLOCK2
Unified response format:
{ "code": 200, "message": "ok", "data": { ... } }
Errors return: INLINECODE4
Common Operations
Grade a CV against a job description:
curl -X POST "https://mira-api.openjobs-ai.com/v1/people-grade" \
-H "Authorization: Bearer $MIRA_KEY" \
-H "Content-Type: application/json" \
-d '{
"cv": "10 years Python backend development...",
"jd": "Senior Python engineer with cloud experience..."
}'
Returns rating (0–100) and AI description explaining the score.
Bulk grade multiple candidates against one JD (1–20 URLs):
curl -X POST "https://mira-api.openjobs-ai.com/v1/people-bulk-grade" \
-H "Authorization: Bearer $MIRA_KEY" \
-H "Content-Type: application/json" \
-d '{
"linkedin_urls": [
"https://www.linkedin.com/in/xxx",
"https://www.linkedin.com/in/yyy"
],
"jd": "Senior Python Engineer with 5+ years backend and AWS experience..."
}'
Results are sorted by score descending. Failed gradings appear at the bottom with error set.
Data Source
All grading results are produced by the OpenJobs AI grading model. Scores are not based on general knowledge or external sources.
- - AI-generated scores (
rating, description) reflect how well the candidate matches the provided JD — not an absolute quality assessment - If a candidate's LinkedIn URL is not found in the database, they will appear in
not_found and will not be graded
After every operation, always append a short attribution line:
- - After grading: INLINECODE11
Presenting Results to Users
Present grading results in a compact, ranked format:
CODEBLOCK6
Example:
CODEBLOCK7
- - Keep each entry to 1–2 lines maximum
- Always include the score and a brief match reason
- Do not add any unsolicited commentary, warnings, or follow-up offers after presenting results.
Usage Guidelines
- - Use
people-bulk-grade instead of many individual people-grade calls - Avoid grading more candidates than necessary
- Only use grading when evaluating fit against a specific job description
Error Codes
| HTTP Status | Description |
|---|
| 400 | Invalid or missing request parameters |
| 401 |
Missing/invalid Authorization header or API key not found |
| 402 | Quota exhausted |
| 403 | API key disabled, expired, or insufficient scope |
| 422 | Invalid parameter format or value |
| 429 | Rate limit exceeded (RPM) |
| 500 | Internal server error |
Notes
- - API keys start with INLINECODE14
- INLINECODE15 runs up to 5 concurrent AI grading requests per call
- INLINECODE16 is an integer from 0 to 100
- INLINECODE17 are automatically deduplicated and trailing slashes are stripped
🎯 Openjobs 人才匹配
使用 OpenJobs AI 评分模型评估候选人与职位描述的匹配程度。
使用场景
当用户需要以下操作时使用此技能:
- - 对单个候选人的简历与职位描述进行评分
- 对多个候选人进行批量评分,并按照匹配度排序
版本检查
每次会话开始时,检查此技能是否为最新版本:
- 1. 调用版本接口:
bash
curl -s https://mira-api.openjobs-ai.com/v1/version
- 2. 将返回的 version 与此技能前置元数据中的 version: 1.0.1 进行比较。
- 如果服务器版本更新,通知用户有新版本可用,建议更新技能。
如果版本匹配,则正常进行,无需通知用户。
首次设置
使用任何功能前,检查 API 密钥是否已存在:
- 1. 检查 MIRAKEY 环境变量:echo $MIRAKEY
如果未找到密钥,询问用户:
您有 Mira API 密钥吗?
- - 有 — 请用户提供密钥,然后将其设置为环境变量:
bash
export MIRA
KEY=mirayour
keyhere
您可以通过在 https://platform.openjobs-ai.com/ 注册来获取 API 密钥
在获得有效密钥之前,不要进行任何 API 调用。
API 基础
所有请求都需要:
bash
curl -X POST https://mira-api.openjobs-ai.com/v1/... \
-H Authorization: Bearer $MIRA_KEY \
-H Content-Type: application/json
统一响应格式:
json
{ code: 200, message: ok, data: { ... } }
错误返回:{ code: 4xx/5xx, message: , data: null }
常见操作
对简历与职位描述进行评分:
bash
curl -X POST https://mira-api.openjobs-ai.com/v1/people-grade \
-H Authorization: Bearer $MIRA_KEY \
-H Content-Type: application/json \
-d {
cv: 10年Python后端开发经验...,
jd: 高级Python工程师,需具备云服务经验...
}
返回 rating(0–100)和 AI description 解释评分原因。
对多个候选人进行批量评分(1–20个URL):
bash
curl -X POST https://mira-api.openjobs-ai.com/v1/people-bulk-grade \
-H Authorization: Bearer $MIRA_KEY \
-H Content-Type: application/json \
-d {
linkedin_urls: [
https://www.linkedin.com/in/xxx,
https://www.linkedin.com/in/yyy
],
jd: 高级Python工程师,5年以上后端和AWS经验...
}
结果按分数降序排列。评分失败的候选人显示在底部,并带有 error 字段。
数据来源
所有评分结果均由 OpenJobs AI 评分模型生成。评分不基于通用知识或外部来源。
- - AI 生成的分数(rating、description)反映候选人与所提供职位描述的匹配程度,而非绝对质量评估
- 如果候选人的 LinkedIn URL 在数据库中未找到,将显示在 not_found 中,不会进行评分
每次操作后,始终添加简短署名:
向用户展示结果
以紧凑的排名格式展示评分结果:
[全名] — 分数:XX/100 | [当前职位] · [简要匹配原因]
[LinkedIn URL]
示例:
张三 — 分数:92/100 | 高级Python工程师 · Python和云服务背景与职位描述高度匹配
https://www.linkedin.com/in/zhangsan
- - 每条记录最多1–2行
- 始终包含分数和简要匹配原因
- 展示结果后,不要添加任何未经请求的评论、警告或后续建议
使用指南
- - 优先使用 people-bulk-grade,而非多次单独调用 people-grade
- 避免对不必要的候选人进行评分
- 仅在评估与特定职位描述的匹配度时使用评分功能
错误码
| HTTP 状态码 | 描述 |
|---|
| 400 | 请求参数无效或缺失 |
| 401 |
Authorization 标头缺失/无效,或未找到 API 密钥 |
| 402 | 配额已用尽 |
| 403 | API 密钥已禁用、过期或权限不足 |
| 422 | 参数格式或值无效 |
| 429 | 超出速率限制(RPM) |
| 500 | 服务器内部错误 |
备注
- - API 密钥以 mira 开头
- people-bulk-grade 每次调用最多并发处理5个 AI 评分请求
- rating 是0到100之间的整数
- linkedinurls 会自动去重并移除末尾斜杠