agentsclimarketplace

Wps resume cn

Skill Bwkyd/wps-skills/skills/wps-resume-cn

中式简历生成。生成带照片栏、政治面貌、民族的中国式简历Word文档, 经典表格/简约现代/校招清新/高管精英四种模板,STAR法则帮你写工作经历。 用于帮助用户生成简历。当用户提到简历、求职、CV时触发。 Chinese-style resume generator with photo placeholder and multiple templates.From its SKILL.md

Install
npx -y skills add Bwkyd/wps-skills --skill wps-resume-cn

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

10.2 KB, ~3.0k tokens by cl100k_base, as published. Nobody here has run it

中式简历生成器

输入个人信息 → 生成排版精美的中国式求职简历(.docx)。

When to Use

  • 用户需要制作求职简历
  • 用户说"帮我写/做一份简历"
  • 用户需要简历模板
  • 用户需要优化已有简历的排版

When NOT to Use

  • 需要英文/国际格式简历 → 使用 wps-docx-writer
  • 需要写求职信/Cover Letter → 使用 wps-docx-writer

模板风格

┌───────────────────────────────────────────┐
│        简历模板选择                        │
├───────────────────────────────────────────┤
│  [1] 📋 经典表格式  传统中国式表格简历     │
│  [2] 📄 简约现代式  左右分栏+色块装饰     │
│  [3] 🎓 校招清新式  适合应届生+浅色系     │
│  [4] 💼 高管精英式  深色侧边栏+极简       │
└───────────────────────────────────────────┘

工作流程

Step 1: 收集信息

基本信息(必填):

  • 姓名
  • 联系方式(手机号、邮箱)
  • 求职意向(目标岗位)

中国特色字段(酌情填写):

  • 性别、出生年月
  • 民族、政治面貌
  • 籍贯、现居城市
  • 最高学历、毕业院校
  • 婚姻状况(可选)

内容板块:

  • 教育背景(学校、专业、时间、GPA)
  • 工作经历(公司、职位、时间、职责和成果)
  • 项目经验(项目名、角色、技术栈、成果)
  • 技能特长
  • 证书荣誉
  • 自我评价

Step 2: 优化内容

简历写作原则:

✅ 用数字量化成果:
  ❌ "提升了用户体验"
  ✅ "优化用户注册流程,转化率提升32%,日均注册量从500增至660"

✅ 用STAR法则写经历:
  Situation(背景)→ Task(任务)→ Action(行动)→ Result(成果)

✅ 动词开头:
  负责、主导、设计、开发、优化、推动、达成、搭建、统筹、协调

❌ 避免:
  - 空泛描述(认真负责、吃苦耐劳)
  - 无关经历
  - 错别字
  - 超过2页

Step 3: 生成 .docx 文件

pip install python-docx 2>/dev/null || pip3 install python-docx 2>/dev/null

排版规范:

纸张:A4
页边距:上下2cm,左右2cm(紧凑排版)
照片位:右上角,25mm × 35mm(一寸照)
姓名:22pt 黑体
模块标题:14pt 黑体,带下划线或色块
正文:11pt 宋体,行距1.3倍
时间线:右对齐,灰色
总长度:1页(应届生),1-2页(有经验者)

经典表格式模板结构:

from docx import Document
from docx.shared import Pt, Mm, Cm, RGBColor, Inches
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT, WD_CELL_VERTICAL_ALIGNMENT
from docx.oxml.ns import qn, nsdecls
from docx.oxml import parse_xml
import os

def create_resume(info, output_path=None):
    """
    info = {
        'name': '张三',
        'phone': '13800138000',
        'email': '[email protected]',
        'target': '软件工程师',
        'gender': '男',
        'birth': '1995年6月',
        'ethnicity': '汉族',
        'political': '中共党员',
        'origin': '浙江杭州',
        'city': '上海',
        'education': '硕士',
        'school': '浙江大学',
        'education_list': [
            {'school': '浙江大学', 'major': '计算机科学', 'degree': '硕士',
             'time': '2018.09-2021.06', 'gpa': '3.8/4.0'},
        ],
        'work_list': [
            {'company': 'XX科技有限公司', 'position': '高级工程师',
             'time': '2021.07-至今', 'duties': [
                 '主导核心系统重构,性能提升40%',
                 '带领5人团队完成XX项目',
             ]},
        ],
        'skills': ['Python', 'Java', 'SQL', '项目管理'],
        'certificates': ['PMP', 'CET-6'],
        'self_eval': '5年软件开发经验,擅长系统架构设计...',
    }
    """
    doc = Document()
    section = doc.sections[0]
    section.page_width = Mm(210)
    section.page_height = Mm(297)
    section.top_margin = Cm(2)
    section.bottom_margin = Cm(2)
    section.left_margin = Cm(2)
    section.right_margin = Cm(2)

    def set_font(run, name='宋体', size=11, bold=False, color=None):
        run.font.size = Pt(size)
        run.font.name = name
        run._element.rPr.rFonts.set(qn('w:eastAsia'), name)
        run.bold = bold
        if color:
            run.font.color.rgb = color

    def add_section_title(title):
        p = doc.add_paragraph()
        p.paragraph_format.space_before = Pt(12)
        p.paragraph_format.space_after = Pt(6)
        run = p.add_run(title)
        set_font(run, '黑体', 14, True, RGBColor(0x2B, 0x57, 0x9A))
        # 底部线
        pPr = p._element.get_or_add_pPr()
        pBdr = parse_xml(
            f'<w:pBdr {nsdecls("w")}>'
            f'  <w:bottom w:val="single" w:sz="8" w:space="2" '
            f'w:color="2B579A"/>'
            f'</w:pBdr>'
        )
        pPr.append(pBdr)

    # === 姓名 ===
    p = doc.add_paragraph()
    p.alignment = WD_ALIGN_PARAGRAPH.CENTER
    run = p.add_run(info['name'])
    set_font(run, '黑体', 22, True)

    # === 联系信息 ===
    p = doc.add_paragraph()
    p.alignment = WD_ALIGN_PARAGRAPH.CENTER
    p.paragraph_format.space_after = Pt(4)
    contact = f"{info.get('phone','')}  |  {info.get('email','')}  |  {info.get('city','')}"
    run = p.add_run(contact)
    set_font(run, '宋体', 10, False, RGBColor(0x66, 0x66, 0x66))

    # === 求职意向 ===
    p = doc.add_paragraph()
    p.alignment = WD_ALIGN_PARAGRAPH.CENTER
    run = p.add_run(f"求职意向:{info.get('target','')}")
    set_font(run, '宋体', 11, True)

    # === 基本信息表 ===
    if any(info.get(k) for k in ['gender','birth','ethnicity','political','origin','education']):
        add_section_title('基本信息')
        fields = [
            ('性别', info.get('gender','')),
            ('出生年月', info.get('birth','')),
            ('民族', info.get('ethnicity','')),
            ('政治面貌', info.get('political','')),
            ('籍贯', info.get('origin','')),
            ('学历', info.get('education','')),
        ]
        fields = [(k,v) for k,v in fields if v]
        # 两列排列
        table = doc.add_table(rows=(len(fields)+1)//2, cols=4)
        table.alignment = WD_TABLE_ALIGNMENT.CENTER
        for i, (label, value) in enumerate(fields):
            row = i // 2
            col_start = (i % 2) * 2
            cell_l = table.cell(row, col_start)
            cell_v = table.cell(row, col_start + 1)
            cell_l.text = label
            cell_v.text = value
            for c in [cell_l, cell_v]:
                for p in c.paragraphs:
                    for r in p.runs:
                        set_font(r, '宋体', 10.5)

    # === 教育背景 ===
    if info.get('education_list'):
        add_section_title('教育背景')
        for edu in info['education_list']:
            p = doc.add_paragraph()
            run = p.add_run(f"{edu['school']}  |  {edu['major']}  |  {edu['degree']}")
            set_font(run, '宋体', 11, True)
            run2 = p.add_run(f"    {edu['time']}")
            set_font(run2, '宋体', 10, False, RGBColor(0x99, 0x99, 0x99))
            if edu.get('gpa'):
                p2 = doc.add_paragraph()
                run3 = p2.add_run(f"GPA: {edu['gpa']}")
                set_font(run3, '宋体', 10)

    # === 工作经历 ===
    if info.get('work_list'):
        add_section_title('工作经历')
        for work in info['work_list']:
            p = doc.add_paragraph()
            run = p.add_run(f"{work['company']}  |  {work['position']}")
            set_font(run, '宋体', 11, True)
            run2 = p.add_run(f"    {work['time']}")
            set_font(run2, '宋体', 10, False, RGBColor(0x99, 0x99, 0x99))
            for duty in work.get('duties', []):
                p2 = doc.add_paragraph()
                p2.paragraph_format.left_indent = Cm(0.5)
                run3 = p2.add_run(f"• {duty}")
                set_font(run3, '宋体', 10.5)

    # === 技能特长 ===
    if info.get('skills'):
        add_section_title('技能特长')
        p = doc.add_paragraph()
        run = p.add_run('  |  '.join(info['skills']))
        set_font(run, '宋体', 10.5)

    # === 自我评价 ===
    if info.get('self_eval'):
        add_section_title('自我评价')
        p = doc.add_paragraph()
        run = p.add_run(info['self_eval'])
        set_font(run, '宋体', 10.5)

    # 保存
    if not output_path:
        output_path = f"{info['name']}_简历.docx"
    doc.save(output_path)
    return os.path.abspath(output_path)

Step 4: 交付

  1. 生成 .docx 文件
  2. 提示用WPS打开检查排版
  3. 建议:添加一寸照片到预留位置
  4. 按需调整内容和格式

示例

# 生成简历模板
/wps-resume-cn 软件工程师,3年经验,硕士,浙江大学

# 从详细信息生成
/wps-resume-cn 张三,男,1995年生,浙大计算机硕士,现在上海做高级工程师,想跳槽

# 应届生简历
/wps-resume-cn 应届生简历,2026届,北京大学,金融学本科,想进银行

参考

中文排版通用规范见 ../shared/chinese-typesetting.md

What ships with it: 1 file

1.0 KB alongside SKILL.md

Gives 0 of the 12 instructions most hr recruiting skills give in ~3.0k tokens

Counted across 356 of the 357 authors here whose files we hold, read 2026-08-07

  • Quantify achievements with specific metricsin 14 of 356, across 6 files
  • Keep the resume under two pagesin 14 of 356, across 6 files
  • Request the full job description if not providedin 12 of 356, across 4 files
  • Extract keywords and prioritize job requirementsin 12 of 356, across 4 files
  • Stop and ask for clarification if required inputs are missingin 12 of 356, across 5 files
  • Map candidate experience to job requirementsin 11 of 356, across 3 files
  • Ask if the user wants adjustmentsin 11 of 356, across 3 files
  • Provide strengths and gap analysis after the resumein 10 of 356, across 2 files
  • Request candidate background details if not providedin 10 of 356, across 2 files
  • Format experience bullets as action verb plus resultin 10 of 356, across 2 files
  • Ask for missing inputs before startingin 10 of 356, across 9 files
  • Use exact job description terminologyin 9 of 356, across 1 file

Said here and by no other author read

  • collect personal and work history details
  • offer four resume template styles
  • quantify work achievements using numbers
  • write experience using the star method
  • use a4 paper with two centimeter margins
  • set name font to 22pt heiti

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.