简历助手

标识: resume-assistant最新版本: 1.0.0安装 5 次更新于 2026-11-06
办公效率内容创作

辅助润色、定制、评分和导出简历。

在超级AI助理对话中安装/skill install resume-assistant

技能介绍

技能简介

围绕真实经历润色简历、匹配目标岗位、评估改进空间并导出文件,支持中文和英文,适合将现有材料整理为结构清楚、重点明确的求职简历。

适用场景

简历初稿;岗位定制;ATS 兼容性改进;中英文版本整理;简历评分与导出。

使用方法
  1. 提供现有简历或真实经历,说明目标岗位和希望使用的语言。
  2. 需要岗位定制时附上职位描述,明确必须保留的信息和希望突出的问题。
  3. 先核对经历、成果和措辞,再选择导出格式与模板,可继续迭代不同岗位版本。
参数与输入说明

可直接用自然语言说明这些选项;带代码样式的参数按实际工具定义处理。

参数或输入项 填写说明
resume_content 必需的简历文本,可用纯文本或 Markdown。
job_description / target_role 定制时提供岗位描述;评估时可指定目标职位。
language en 或 zh;技能参数默认 en,需要中文时明确指定 zh。
format 可选 word、markdown、html、latex、pdf,导出需相应运行依赖。
template professional、modern、minimal、academic,默认 professional。
示例需求

根据这份后端工程师 JD 优化我的中文简历,突出 Go、分布式系统和支付接口经历,不新增未提供的成果,使用 minimal 模板导出 Word。

交付内容

简历修订稿、岗位匹配建议、评分与改进清单,以及支持格式的导出文件。

使用前提与注意事项
  • 应提供真实经历,未核实的年限、业绩和证书需要确认后再写入。
  • 简历包含个人信息,分享前可先脱敏;PDF 等格式导出受当前运行环境支持情况影响。

使用说明

以下为技能最新版本的 SKILL.md 正文,智能体按其中的步骤完成任务。

📝 Resume / CV Assistant

AI-powered clawbot skill for resume & CV polishing, job customization, multi-format export, and professional scoring.
Version: 1.0.0 · License: MIT · Repository: github.com/Wscats/resume-assistant


Overview

Resume / CV Assistant is a clawbot skill that helps job seekers create, refine, and optimize their resumes and CVs, while adding comprehensive checklist review, scoring, and multi-format export that neither project offers alone.


Usage in AI Agent

Quick Start

Resume / CV Assistant is a standard clawbot skill that can be loaded and invoked by any compatible AI Agent. Here are different integration approaches.

You don't need to memorize any commands — simply describe what you need:

💬 "Create a resume for a software engineer position"
💬 "Polish my resume and fix any issues"
💬 "Optimize my resume for ATS"
💬 "Tailor my resume for this job description: [paste JD]"
💬 "Convert my resume to PDF"
💬 "Score my resume and tell me how to improve"
💬 "What's wrong with my resume?"
💬 "Here's my resume, can you help?"

The assistant understands your intent and automatically routes to the right workflow:

You say Assistant does
"Create a resume for [role]" Asks for your background → builds a tailored resume
"Polish / Fix / Improve my resume" Runs 40+ checklist review → returns polished version
"Optimize for ATS" Checks ATS compatibility → optimizes keywords & format
"Tailor for this JD: ..." Analyzes JD → gap analysis → customized resume
"Convert to PDF / Word / ..." Exports to chosen format with professional template
"Score / Rate / Evaluate my resume" 100-point scoring → strengths & improvement plan
"Here's my resume, help?" Scores first → suggests next steps
Example Conversations

Creating a new resume:

You:   Create a resume for a frontend engineer position at a startup

Bot:   I'd be happy to help! To get started, could you share:
       1. Your work experience (companies, roles, dates, key achievements)
       2. Education background
       3. Technical skills
       4. Any specific job posting you're targeting? (optional)

You:   I have 3 years at Shopify working on React...

Bot:   Here's your tailored resume:
       [generates complete resume]
       
       Would you like me to score, polish, or export it?

Quick improvement:

You:   Here's my resume, what do you think?
       [pastes resume]

Bot:   📊 Resume Score: 68/100 (Grade: C)
       Top 3 Issues:
       1. ❌ No quantified achievements
       2. ⚠️ Weak action verbs
       3. ⚠️ Missing keywords for target role
       
       Would you like me to polish it now?

You:   Yes, polish it

Bot:   [runs full polish with 40+ checklist items]

Job-specific tailoring:

You:   Tailor my resume for this job description:
       Senior Backend Engineer at Stripe
       Requirements: Go, distributed systems, payment APIs...

Bot:   🎯 Job Analysis Complete
       📊 Current Match: 62% → After Optimization: 89%
       [generates tailored version]
Option 1: Slash Commands via clawbot

For more precise control, use slash commands directly in a clawbot conversation:

/resume polish
Please polish my resume:

John Doe
Senior Frontend Engineer | 5 years experience
Skills: JavaScript, React, Vue, Node.js
...
Option 2: Integration in AI Agent Frameworks
1. Register the Skill

Register this project as a skill in your AI Agent:

{
  "skills": [
    {
      "name": "resume-assistant",
      "path": "./skills/resume-assistant",
      "manifest": "skill.json"
    }
  ]
}
2. Load Prompts

When handling resume-related requests, prompt files are loaded in this order:

1. prompts/system.md      ← Persona & quality standards (loaded first)
2. prompts/<command>.md    ← Load per command: specific instructions
3. templates/<style>.md    ← Load on demand (export command only)
3. Build the Complete Prompt

Example for /resume polish — here's how an AI Agent should construct the prompt:

# Python pseudocode
ROLE_SYS = "system"    # LLM message role constant
ROLE_USR = "user"      # LLM message role constant

def build_prompt(command, args):
    # Step 1: Load the skill persona prompt
    persona_prompt = load_file("prompts/system.md")

    # Step 2: Load command-specific prompt
    command_prompt = load_file(f"prompts/{command}.md")

    # Step 3: Combine prompts into LLM messages
    combined = persona_prompt + "\n\n" + command_prompt
    messages = [
        {"role": ROLE_SYS, "content": combined},
        {"role": ROLE_USR, "content": args["resume_content"]}
    ]

    # Step 4: Add optional parameters to user message
    if args.get("language"):
        messages[1]["content"] += f"\n\nLanguage: {args['language']}"

    return messages
// JavaScript pseudocode
const ROLE_SYS = 'system';  // LLM message role constant
const ROLE_USR = 'user';    // LLM message role constant

async function buildPrompt(command, args) {
  // Step 1: Load the skill persona prompt
  const personaPrompt = await loadFile('prompts/system.md');

  // Step 2: Load command-specific prompt
  const commandPrompt = await loadFile(`prompts/${command}.md`);

  // Step 3: Combine prompts into LLM messages
  const combined = `${personaPrompt}\n\n${commandPrompt}`;
  const messages = [
    { role: ROLE_SYS, content: combined },
    { role: ROLE_USR, content: args.resume_content }
  ];

  // Step 4: Add optional parameters
  if (args.language) {
    messages[1].content += `\n\nLanguage: ${args.language}`;
  }

  return messages;
}
Option 3: REST API

If your AI Agent exposes an HTTP API, invoke via RESTful endpoints:

# Polish a resume
curl -X POST https://your-agent-api.com/skills/resume-assistant/polish \
  -H "Content-Type: application/json" \
  -d '{
    "resume_content": "Your resume content...",
    "language": "en"
  }'

# Score a resume
curl -X POST https://your-agent-api.com/skills/resume-assistant/score \
  -H "Content-Type: application/json" \
  -d '{
    "resume_content": "Your resume content...",
    "target_role": "Senior Frontend Engineer",
    "language": "en"
  }'

# Customize for a job
curl -X POST https://your-agent-api.com/skills/resume-assistant/customize \
  -H "Content-Type: application/json" \
  -d '{
    "resume_content": "Your resume content...",
    "job_description": "Job description...",
    "language": "en"
  }'

# Export to a format
curl -X POST https://your-agent-api.com/skills/resume-assistant/export \
  -H "Content-Type: application/json" \
  -d '{
    "resume_content": "Your resume content...",
    "format": "html",
    "template": "modern"
  }'
Option 4: LangChain / LlamaIndex Integration
from langchain.tools import Tool

# Define tools based on skill.json commands
resume_tools = [
    Tool(
        name="resume_polish",
        description="Polish and improve resume with 40+ checklist items",
        func=lambda input: agent.run_skill(
            "resume-assistant", "polish",
            {"resume_content": input, "language": "en"}
        )
    ),
    Tool(
        name="resume_score",
        description="Score a resume on 100-point scale with improvement suggestions",
        func=lambda input: agent.run_skill(
            "resume-assistant", "score",
            {"resume_content": input, "language": "en"}
        )
    ),
    Tool(
        name="resume_customize",
        description="Customize resume for a specific job position",
        func=lambda input: agent.run_skill(
            "resume-assistant", "customize",
            {"resume_content": input.split("---JD---")[0],
             "job_description": input.split("---JD---")[1],
             "language": "en"}
        )
    ),
    Tool(
        name="resume_export",
        description="Export resume to Word/Markdown/HTML/LaTeX/PDF",
        func=lambda input: agent.run_skill(
            "resume-assistant", "export",
            {"resume_content": input, "format": "html", "template": "modern"}
        )
    ),
]
Command Routing

The AI Agent should route user requests to the correct command:

graph TD
    A["User Input"] --> B{"Contains<br/>slash command?"}
    B -- "Yes" --> C{"Parse command"}
    C -- "/resume polish" --> D["Load polish.md"]
    C -- "/resume customize" --> E["Load customize.md"]
    C -- "/resume export" --> F["Load export.md"]
    C -- "/resume score" --> G["Load score.md"]
    B -- "No" --> H{"Intent detection"}
    H -- "polish/improve/fix" --> D
    H -- "job/apply/match" --> E
    H -- "export/download/convert" --> F
    H -- "score/rate/evaluate" --> G
    D --> I["Build Prompt<br/>Call LLM"]
    E --> I
    F --> I
    G --> I
    I --> J["Return Result"]
Argument Validation

The AI Agent should validate arguments before invocation, referencing skill.json:

def validate_args(command, args):
    """Validate arguments against skill.json schema."""
    schema = load_skill_json()
    cmd_schema = next(c for c in schema["commands"] if c["name"] == command)

    for arg in cmd_schema["arguments"]:
        # Check required fields
        if arg["required"] and arg["name"] not in args:
            raise ValueError(f"Missing required argument: {arg['name']}")

        # Check enum constraints
        if "enum" in arg and arg["name"] in args:
            if args[arg["name"]] not in arg["enum"]:
                raise ValueError(
                    f"Invalid value for {arg['name']}: {args[arg['name']]}. "
                    f"Must be one of: {arg['enum']}"
                )

        # Apply defaults
        if arg["name"] not in args and "default" in arg:
            args[arg["name"]] = arg["default"]

    # Check max resume length
    max_len = schema["config"]["max_resume_length"]
    if len(args.get("resume_content", "")) > max_len:
        raise ValueError(f"Resume exceeds {max_len} character limit")

    return args

Commands

/resume polish

Run a 40+ item checklist across 8 categories and get a fully improved resume.

Arguments:

Name Type Required Default Description
resume_content string ✅ — Resume text (plain text or Markdown)
language string — en en for English, zh for Chinese

What you get:

  • ✅/❌/⚠️ checklist results for every item (contact, summary, experience, education, skills, grammar, formatting, ATS)
  • Fully polished resume with strong action verbs and quantified results
  • Change summary categorized by priority: 🔴 Critical → 🟡 Major → 🟢 Minor → 💡 Suggestion
  • Action verb reference table and quantification guide

/resume customize

Tailor your resume for a specific job posting with gap analysis and keyword optimization.

Arguments:

Name Type Required Default Description
resume_content string ✅ — Resume text
job_description string ✅ — Target job description or job title
language string — en en for English, zh for Chinese

What you get:

  • Job description breakdown (required skills, preferred skills, responsibilities, keywords)
  • Gap analysis matrix mapping every requirement to your resume
  • Customized resume with keywords naturally integrated
  • Keyword coverage report: before vs. after
  • Bonus: cover letter talking points + interview prep notes

/resume export

Convert your resume to Word, Markdown, HTML, LaTeX, or PDF with professional templates.

Arguments:

Name Type Required Default Description
resume_content string ✅ — Resume text (Markdown preferred)
format string ✅ — word | markdown | html | latex | pdf
template string — professional professional | modern | minimal | academic

Templates:

Template Style Best For
professional Navy, serif headings, classic borders Finance, consulting, law, healthcare
modern Teal accents, creative layout, emoji icons Tech, startups, product, marketing
minimal Monochrome, ultra-clean, content-dense Senior professionals, engineering
academic Formal serif, multi-page, publications Faculty, research, PhD applications

Export details:

  • HTML: Self-contained file with embedded CSS, 4 color themes, @media print optimized
  • LaTeX: Complete compilable .tex with XeLaTeX + CJK support
  • Word: Pandoc-optimized Markdown with YAML front matter + conversion command
  • PDF: Print-optimized HTML with A4 page dimensions + multiple conversion methods
  • Markdown: Clean, structured, version-control friendly

/resume score

Get a 100-point professional evaluation with specific improvement suggestions.

Arguments:

Name Type Required Default Description
resume_content string ✅ — Resume text
target_role string — — Target role for fit assessment
language string — en en for English, zh for Chinese

Scoring dimensions (100 points):

Dimension Points Evaluates
Content Quality 30 Achievements, action verbs, relevance, completeness
Structure & Formatting 25 Layout, consistency, length, section order
Language & Grammar 20 Grammar, spelling, tone, clarity
ATS Optimization 15 Keywords, standard headings, format compatibility
Impact & Impression 10 6-second test, career story, professionalism

Grade scale: A+ (95-100) → A (90-94) → B+ (85-89) → B (80-84) → C+ (75-79) → C (70-74) → D (60-69) → F (<60)

What you get:

  • Score breakdown with per-dimension justification
  • Top 3 strengths with specific examples from your resume
  • Priority-ranked improvements with Before → After rewrites
  • Role fit assessment (if target_role provided): fit score, competitive percentile, strengths, gaps
  • 5-step action plan with effort estimates

┌──────────────────────────────────────────────────────┐
│                  Recommended Workflow                 │
├──────────────────────────────────────────────────────┤
│                                                      │
│  1. /resume score     ← Know where you stand         │
│     💬 "Score my resume"                             │
│          │                                           │
│          ▼                                           │
│  2. /resume polish    ← Fix all issues               │
│     💬 "Polish my resume"                            │
│          │                                           │
│          ▼                                           │
│  3. /resume customize ← Tailor per application       │
│     💬 "Tailor for this JD: ..."                     │
│          │                                           │
│          ▼                                           │
│  4. /resume export    ← Generate final files         │
│     💬 "Convert to PDF"                              │
│          │                                           │
│          ▼                                           │
│  5. /resume score     ← Verify improvement           │
│     💬 "Score my resume again"                       │
│                                                      │
└──────────────────────────────────────────────────────┘

Tips:

  1. Start with score if you have an existing resume — understand your baseline
  2. Polish to fix all fundamentals before customizing for a job
  3. Customize separately for each application — one-size-fits-all doesn't work
  4. Export last — get content perfect, then format
  5. Use Markdown as your working format — it converts cleanly to all others
  6. Score again after polish + customize to measure improvement

Project Structure

resume-assistant/
├── skill.json                    # Skill manifest (JSON)
├── skill.yaml                    # Skill manifest (YAML)
├── SKILL.md                      # This documentation
├── prompts/
│   ├── system.md                 # Persona definition & quality standards
│   ├── polish.md                 # Polish prompt: 40+ item checklist
│   ├── customize.md              # Customize prompt: gap analysis & keywords
│   ├── export.md                 # Export prompt: 5 formats × 4 templates
│   └── score.md                  # Score prompt: 100-point rubric
├── templates/
│   ├── professional.md           # Classic corporate template
│   ├── modern.md                 # Contemporary tech/startup template
│   ├── minimal.md                # Ultra-clean senior template
│   ├── academic.md               # Formal academic CV template
│   └── export/
│       ├── resume.html           # HTML template (4 CSS themes)
│       └── resume.tex            # LaTeX template (XeLaTeX + CJK)
└── examples/
    ├── sample-resume-en.md       # English sample (high quality)
    ├── sample-resume-zh.md       # Chinese sample (high quality)
    ├── sample-resume-weak.md     # Weak sample (for scoring demo)
    └── usage.md                  # Usage examples & workflow guide

Language Support

Language Code Features
English en Full support, US/UK conventions
Chinese zh Full support, 中英文混排规范, CJK export

Configuration

Key Value Description
max_resume_length 10,000 chars Maximum input length
supported_languages en, zh Available languages
supported_export_formats word, markdown, html, latex, pdf Available export formats
scats

版本记录

版本发布日期更新说明
1.0.02026-10-15-

相关技能

全部技能 →
PPT 生成与编辑 图标

PPT 生成与编辑

办公效率、内容创作

创建、读取和编辑 PowerPoint 演示文稿,支持内容提取、幻灯片合并与拆分,以及模板、布局、演讲备注和批注处理。

腾讯文档 图标

腾讯文档

办公效率、内容创作

查询、编辑和管理腾讯文档,支持生成演示文稿、表格和文字文档。

公文写作 图标

公文写作

办公效率、内容创作

辅助党政机关公文写作,提供国家标准格式规范、各类公文模板和写作技巧。

企业周报与内部沟通 图标

企业周报与内部沟通

办公效率、内容创作

按企业格式撰写项目周报、进展计划问题、内部公告、FAQ和故障通报。

产品需求文档 PRD 图标

产品需求文档 PRD

办公效率、内容创作

把功能想法整理为问题、用户、范围、优先级、成功指标、验收标准和分期方案。

邮件营销流程设计 图标

邮件营销流程设计

办公效率、内容创作

设计欢迎、培育、激活、召回等多封邮件序列,提供触发条件、分群、间隔与文案。

把团队的做事方法沉淀为技能

在技能中心导入技能包、从平台资源生成或在线编写,发布后安装到超级AI助理使用。

前往技能中心
©2025 极简未来
粤ICP备2023060400号
网信算备440307657151501250017号
购买咨询