文档

Resume Studio

试用

Professional resume generator. Use when user needs to create, optimize, or customize resumes for job applications. Supports Word and PDF output, multiple sty...

它能做什么

Professional resume generator with ATS-friendly templates, multiple styles, and Word/PDF output.

技能文档

Resume Studio

Professional resume generator with ATS-friendly templates, multiple styles, and Word/PDF output.

Features

  • 📋 Smart Generation: AI-powered content optimization
  • 🎨 Multiple Styles: Classic, Modern, Creative, Minimal, Academic
  • 📄 Word Output: Professional .docx format
  • 👤 Photo Support: Optional photo area
  • 🌐 Web Research: Query job market trends
  • 📁 File Import: Import existing materials
  • 🎯 ATS-Friendly: Passes Applicant Tracking Systems
  • 🌍 Multi-Language: Chinese and English support
  • 🖥️ Cross-Platform: Windows, macOS, Linux

Trigger Conditions

  • "帮我写简历" / "Help me write a resume"
  • "生成求职简历" / "Generate job resume"
  • "优化我的简历" / "Optimize my resume"
  • "resume-studio"

Resume Styles

Classic (经典)

  • Traditional layout
  • Professional fonts
  • Suitable for: Finance, Law, Government

Modern (现代)

  • Clean design
  • Bold headers
  • Suitable for: Tech, Marketing, Design

Creative (创意)

  • Unique layout
  • Color accents
  • Suitable for: Design, Media, Art

Minimal (极简)

  • Simple structure
  • Focus on content
  • Suitable for: Academic, Research

Information Collection

Agent collects:

1. Basic Info
   - Name
   - Phone
   - Email
   - Location

2. Education
   - School
   - Degree
   - Major
   - GPA (optional)

3. Experience
   - Company
   - Position
   - Duration
   - Responsibilities

4. Skills
   - Technical skills
   - Languages
   - Certifications

5. Target Position
   - Job title
   - Industry
   - Specific requirements

Python Code

from docx import Document
from docx.shared import Pt, Cm, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from fpdf import FPDF
import os

class ResumeGenerator:
    def __init__(self, style='modern'):
        self.style = style
        self.data = {}
    
    def set_basic_info(self, name, phone, email, location=''):
        self.data['name'] = name
        self.data['phone'] = phone
        self.data['email'] = email
        self.data['location'] = location
    
    def add_education(self, school, degree, major, year, gpa=None):
        if 'education' not in self.data:
            self.data['education'] = []
        self.data['education'].append({
            'school': school,
            'degree': degree,
            'major': major,
            'year': year,
            'gpa': gpa
        })
    
    def add_experience(self, company, position, duration, responsibilities):
        if 'experience' not in self.data:
            self.data['experience'] = []
        self.data['experience'].append({
            'company': company,
            'position': position,
            'duration': duration,
            'responsibilities': responsibilities
        })
    
    def set_skills(self, technical=[], languages=[], certifications=[]):
        self.data['skills'] = {
            'technical': technical,
            'languages': languages,
            'certifications': certifications
        }
    
    def generate_docx(self, output_path):
        doc = Document()
        
        # Name
        name_para = doc.add_paragraph()
        name_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
        name_run = name_para.add_run(self.data.get('name', 'Name'))
        name_run.font.size = Pt(24)
        name_run.bold = True
        
        # Contact
        contact = doc.add_paragraph()
        contact.alignment = WD_ALIGN_PARAGRAPH.CENTER
        contact_text = f"{self.data.get('phone', '')} | {self.data.get('email', '')}"
        if self.data.get('location'):
            contact_text += f" | {self.data['location']}"
        contact.add_run(contact_text)
        
        doc.add_paragraph()
        
        # Education
        doc.add_heading('Education', level=2)
        for edu in self.data.get('education', []):
            doc.add_paragraph(f"{edu['school']} - {edu['degree']} in {edu['major']} ({edu['year']})")
        
        # Experience
        doc.add_heading('Experience', level=2)
        for exp in self.data.get('experience', []):
            doc.add_heading(f"{exp['position']} at {exp['company']}", level=3)
            doc.add_paragraph(f"Duration: {exp['duration']}")
            for resp in exp['responsibilities']:
                doc.add_paragraph(f"• {resp}")
        
        # Skills
        doc.add_heading('Skills', level=2)
        skills = self.data.get('skills', {})
        if skills.get('technical'):
            doc.add_paragraph(f"Technical: {', '.join(skills['technical'])}")
        if skills.get('languages'):
            doc.add_paragraph(f"Languages: {', '.join(skills['languages'])}")
        if skills.get('certifications'):
            doc.add_paragraph(f"Certifications: {', '.join(skills['certifications'])}")
        
        doc.save(output_path)
        return output_path
    
    def generate_pdf(self, output_path):
        pdf = FPDF()
        pdf.add_page()
        
        # Name
        pdf.set_font('Helvetica', 'B', 20)
        pdf.cell(0, 15, self.data.get('name', 'Name'), new_x='LMARGIN', new_y='NEXT', align='C')
        
        # Contact
        pdf.set_font('Helvetica', '', 10)
        contact = f"{self.data.get('phone', '')} | {self.data.get('email', '')}"
        pdf.cell(0, 8, contact, new_x='LMARGIN', new_y='NEXT', align='C')
        pdf.ln(10)
        
        # Education
        pdf.set_font('Helvetica', 'B', 14)
        pdf.cell(0, 8, 'Education', new_x='LMARGIN', new_y='NEXT')
        pdf.ln(3)
        pdf.set_font('Helvetica', '', 11)
        for edu in self.data.get('education', []):
            pdf.cell(0, 6, f"{edu['school']} - {edu['degree']}", new_x='LMARGIN', new_y='NEXT')
        
        pdf.ln(8)
        
        # Experience
        pdf.set_font('Helvetica', 'B', 14)
        pdf.cell(0, 8, 'Experience', new_x='LMARGIN', new_y='NEXT')
        pdf.ln(3)
        pdf.set_font('Helvetica', '', 11)
        for exp in self.data.get('experience', []):
            pdf.set_font('Helvetica', 'B', 11)
            pdf.cell(0, 6, f"{exp['position']} at {exp['company']}", new_x='LMARGIN', new_y='NEXT')
            pdf.set_font('Helvetica', '', 10)
            pdf.cell(0, 5, f"Duration: {exp['duration']}", new_x='LMARGIN', new_y='NEXT')
            for resp in exp['responsibilities']:
                pdf.cell(0, 5, f"  • {resp}", new_x='LMARGIN', new_y='NEXT')
            pdf.ln(5)
        
        pdf.ln(8)
        
        # Skills
        pdf.set_font('Helvetica', 'B', 14)
        pdf.cell(0, 8, 'Skills', new_x='LMARGIN', new_y='NEXT')
        pdf.ln(3)
        pdf.set_font('Helvetica', '', 11)
        skills = self.data.get('skills', {})
        if skills.get('technical'):
            pdf.cell(0, 6, f"Technical: {', '.join(skills['technical'])}", new_x='LMARGIN', new_y='NEXT')
        if skills.get('languages'):
            pdf.cell(0, 6, f"Languages: {', '.join(skills['languages'])}", new_x='LMARGIN', new_y='NEXT')
        
        pdf.output(output_path)
        return output_path

# Example
resume = ResumeGenerator('modern')
resume.set_basic_info('John Doe', '13800138000', 'john@example.com', 'Beijing')
resume.add_education('Peking University', 'Bachelor', 'Computer Science', '2020-2024')
resume.add_experience('TechCorp', 'Software Engineer', '2024-present', [
    'Developed AI features',
    'Improved system performance by 50%'
])
resume.set_skills(['Python', 'AI', 'Cloud'], ['Chinese', 'English'], ['AWS Certified'])

resume.generate_docx('resume.docx')
resume.generate_pdf('resume.pdf')

Notes

  • ATS-friendly formatting
  • Professional typography
  • Multi-language support
  • Cross-platform compatible

相关技能

把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。

作者 nssa.io1.0k 次安装47 星标

诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。

作者 Iván855 次安装69 星标

以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。

作者 johnpatternai22 次安装8 星标

在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。

作者 Iván559 次安装18 星标

从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。

作者 fly0pants4.3k 次安装296 星标

tobewin 的更多技能

浏览全部技能

用一份 JSON 描述就能生成标准可编辑的 PPTX,自带 11 种版式与 5 套配色。

作者 ToBeWin329 次安装3 星标

把 Word、PDF、Excel、PowerPoint、HTML、Markdown 与 TXT 文档翻译成另一种语言,同时保留原始排版。

作者 tobewin36 次安装1 星标

Professional Excel spreadsheet generator. Use when user needs to create data tables, reports, charts, financial models, or any structured data in Excel forma...

作者 ToBeWin82 次安装3 星标

中国新闻资讯聚合工具。Use when user wants to get latest news from Chinese sources. Supports multiple news sites (Sina, Sohu, NetEase, Tencent) via browser automation an...

作者 ToBeWin57 次安装3 星标

Data analysis tool for Excel, CSV, Word, PDF, TXT, Markdown files. Use when user needs to analyze, summarize, or compare data from multiple files. Supports f...

作者 ToBeWin68 次安装1 星标

Marketing plan generator with web research and Word output. Use when user needs to create marketing plans, promotional campaigns, social media strategies. Fe...

作者 ToBeWin31 次安装1 星标