← 返回 Skills 市场
uday390

DeepRead Resume Parser

作者 DeepRead.tech · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
34
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install deepread-resume-parser
功能描述
Parse resumes and CVs into structured JSON — contact info, work history, education, skills, and total years of experience. Works on PDF, Word-exported PDF, a...
使用说明 (SKILL.md)

DeepRead Resume Parser

Turn any resume or CV — PDF, scanned, or wildly creative two-column design — into clean, structured JSON: contact details, work history with dates and titles, education, skills, and computed years of experience. Each field carries a needs_review flag, so your ATS ingests the confident fields and routes only the ambiguous ones to a recruiter.

This skill instructs the agent to POST documents to https://api.deepread.tech and poll for results. No system files are modified.

Why resumes break normal parsers

Resumes have no standard layout: two columns, sidebars, icons, tables, graphics, dates as "Jan 2021 – Present." Regex/template parsers shatter on the first creative design. DeepRead reads the document the way a human does — visual + semantic — runs multi-model consensus, and flags low-confidence fields instead of silently mangling a job title.

What You Get Back

{
  "schema_version": "dp02",
  "status": "completed",
  "extraction": {
    "fields": [
      {"key": "full_name", "value": "Priya Nair", "needs_review": false, "location": {"page": 1}},
      {"key": "email", "value": "[email protected]", "needs_review": false, "location": {"page": 1}},
      {"key": "phone", "value": "+1 415 555 0148", "needs_review": false, "location": {"page": 1}},
      {"key": "years_experience", "value": 7, "needs_review": true, "review_reason": "Computed from overlapping roles", "location": {"page": 1}},
      {"key": "work_history", "value": [
        {"company": "Stripe", "title": "Senior Backend Engineer", "start_date": "2021-06", "end_date": "present", "location": "Remote"},
        {"company": "Shopify", "title": "Backend Engineer", "start_date": "2018-08", "end_date": "2021-05", "location": "Toronto, CA"}
      ], "needs_review": false, "location": {"page": 1}},
      {"key": "education", "value": [
        {"institution": "UC Berkeley", "degree": "B.S. Computer Science", "year": "2018"}
      ], "needs_review": false, "location": {"page": 1}},
      {"key": "skills", "value": ["Python", "Go", "PostgreSQL", "Kubernetes", "gRPC"], "needs_review": false, "location": {"page": 1}}
    ]
  }
}

Setup

open "https://www.deepread.tech/dashboard/?utm_source=clawhub"
export DEEPREAD_API_KEY="sk_live_your_key_here"

No key yet? clawhub install uday390/deepread-agent-setup and your agent fetches one via OAuth device flow.

Resume Schema

{
  "type": "object",
  "properties": {
    "full_name": {"type": "string", "description": "Candidate's full name"},
    "email":     {"type": ["string", "null"], "description": "Email address"},
    "phone":     {"type": ["string", "null"], "description": "Phone number"},
    "location":  {"type": ["string", "null"], "description": "City / region of residence"},
    "headline":  {"type": ["string", "null"], "description": "Professional headline or current title"},
    "years_experience": {"type": ["number", "null"], "description": "Total years of professional experience"},
    "work_history": {
      "type": "array",
      "description": "Employment history, most recent first",
      "items": {"type": "object", "properties": {
        "company":    {"type": "string", "description": "Employer name"},
        "title":      {"type": "string", "description": "Job title"},
        "start_date": {"type": ["string", "null"], "description": "Start (YYYY-MM)"},
        "end_date":   {"type": ["string", "null"], "description": "End (YYYY-MM) or 'present'"},
        "location":   {"type": ["string", "null"], "description": "Role location"}
      }, "required": ["company", "title"]}
    },
    "education": {
      "type": "array",
      "description": "Education history",
      "items": {"type": "object", "properties": {
        "institution": {"type": "string", "description": "School / university"},
        "degree":      {"type": ["string", "null"], "description": "Degree and field"},
        "year":        {"type": ["string", "null"], "description": "Graduation year"}
      }, "required": ["institution"]}
    },
    "skills": {"type": "array", "items": {"type": "string"}, "description": "Listed skills / technologies"}
  }
}

Parse a Resume

Python

import requests, json, time

API_KEY = "sk_live_YOUR_KEY"
BASE = "https://api.deepread.tech"
headers = {"X-API-Key": API_KEY}

schema = json.dumps({
    "type": "object",
    "properties": {
        "full_name": {"type": "string", "description": "Candidate full name"},
        "email": {"type": ["string", "null"], "description": "Email"},
        "phone": {"type": ["string", "null"], "description": "Phone"},
        "years_experience": {"type": ["number", "null"], "description": "Total years experience"},
        "work_history": {"type": "array", "items": {"type": "object", "properties": {
            "company": {"type": "string"}, "title": {"type": "string"},
            "start_date": {"type": ["string", "null"]}, "end_date": {"type": ["string", "null"]}
        }, "required": ["company", "title"]}},
        "skills": {"type": "array", "items": {"type": "string"}, "description": "Skills"}
    }
})

with open("resume.pdf", "rb") as f:
    job = requests.post(f"{BASE}/v1/process", headers=headers,
                        files={"file": f}, data={"schema": schema}).json()

job_id = job["id"]
delay = 5
while True:
    time.sleep(delay)
    result = requests.get(f"{BASE}/v1/jobs/{job_id}", headers=headers).json()
    if result["status"] in ("completed", "failed"):
        break
    delay = min(delay * 1.5, 20)

if result["status"] == "completed":
    cand = {f["key"]: f["value"] for f in result["extraction"]["fields"]}
    print(f"{cand.get('full_name')} — {len(cand.get('work_history', []))} roles, skills: {', '.join(cand.get('skills', [])[:5])}")
    # Route only flagged fields to a recruiter
    for f in result["extraction"]["fields"]:
        if f.get("needs_review"):
            print(f"  REVIEW {f['key']}: {f.get('review_reason')}")

cURL

curl -s -X POST https://api.deepread.tech/v1/process \
  -H "X-API-Key: $DEEPREAD_API_KEY" \
  -F "[email protected]" \
  -F 'schema={"type":"object","properties":{"full_name":{"type":"string"},"email":{"type":["string","null"]},"skills":{"type":"array","items":{"type":"string"}},"work_history":{"type":"array","items":{"type":"object","properties":{"company":{"type":"string"},"title":{"type":"string"}}}}}}'

Use Cases

  • ATS ingestion — auto-populate candidate records from uploaded resumes, no manual entry
  • Talent sourcing — bulk-parse a folder of CVs into a searchable, structured database
  • Recruiting agencies — standardize candidates from every format into one schema
  • Skills matching — extract the skills array and match against a job's requirements
  • Job boards — let applicants upload a resume and pre-fill the application form (pair with deepread-form-fill)

Bias-Free Screening — Redact PII First

For blind/anonymized first-pass screening, redact names, photos, addresses, and other PII before the resume reaches a reviewer — reducing unconscious bias and supporting fair-hiring policies:

curl -X POST https://api.deepread.tech/v1/pii/redact \
  -H "X-API-Key: $DEEPREAD_API_KEY" \
  -F "[email protected]"

Install: clawhub install uday390/deepread-pii

Tips for Best Accuracy

  • Describe fields precisely — "Total years of professional experience" beats "experience".
  • Use ["string","null"] for optional fields (email/phone often missing) so they default to null cleanly.
  • High-volume from one source? Build a blueprint at https://www.deepread.tech/dashboard/optimizer for a 20–30% lift.
  • Check needs_review — overlapping roles and gap years are the usual flags; everything else auto-imports.

BYOK — Zero Processing Costs

Bring your own OpenAI/Google/OpenRouter key in the dashboard — processing routes through your account, page quota skipped. https://www.deepread.tech/dashboard/byok

Related DeepRead Skills

  • deepread-ocr — general OCR + structured extraction — clawhub install uday390/deepread-ocr
  • deepread-form-fill — fill application forms from parsed data — clawhub install uday390/deepread-form-fill
  • deepread-pii — redact for blind screening — clawhub install uday390/deepread-pii

Support


Get started free: https://www.deepread.tech/dashboard/?utm_source=clawhub

安全使用建议
Install only if you are doing ClawHub or Convex maintainer work and understand that some workflows can affect production moderation state, users, packages, emails, migrations, or local repository execution. Use the documented confirmation and dry-run gates, verify the active auth context before running admin commands, and prefer the autoreview --no-yolo option unless full local access is necessary.
能力标签
requires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
The capabilities match the stated purposes: Convex setup, auth, migrations, performance review, ClawHub moderation, PR maintenance, and code review closeout.
Instruction Scope
Sensitive workflows require explicit targets, reasons, confirmation, dry runs, verification, and use of authenticated CLI/API paths rather than bypassing role checks.
Install Mechanism
The reviewed skill artifacts are repo-local under .agents/skills and do not include hidden install hooks, postinstall behavior, or automatic execution on installation.
Credentials
The skills may use GitHub, Convex, package managers, local env vars, and production admin tools; this is proportionate for ClawHub maintainer work but should only be used in an intended maintainer environment.
Persistence & Privilege
No unbounded persistence or background autostart was found; the autoreview helper does disclose a default nested Codex review mode with full-access sandbox bypass, so users should opt out with --no-yolo when that level of local authority is unnecessary.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install deepread-resume-parser
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /deepread-resume-parser 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Parse resumes/CVs into structured JSON — contact, work history, education, skills, years of experience. Handles any layout. Per-field confidence flags. PII redaction for bias-free screening.
元数据
Slug deepread-resume-parser
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

DeepRead Resume Parser 是什么?

Parse resumes and CVs into structured JSON — contact info, work history, education, skills, and total years of experience. Works on PDF, Word-exported PDF, a... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 34 次。

如何安装 DeepRead Resume Parser?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install deepread-resume-parser」即可一键安装,无需额外配置。

DeepRead Resume Parser 是免费的吗?

是的,DeepRead Resume Parser 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

DeepRead Resume Parser 支持哪些平台?

DeepRead Resume Parser 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 DeepRead Resume Parser?

由 DeepRead.tech(@uday390)开发并维护,当前版本 v1.0.0。

💬 留言讨论