resume-builder について
resume-builderは、構造化データからプロ向けのPDF履歴書を作成するPythonツールです。複数のテンプレートや項目のカスタマイズに対応し、APIとコマンドラインから利用できます。
主な機能
- 014種類の履歴書テンプレート
- 02履歴書項目のカスタマイズ
- 03Python APIとJSON入力
- 04クリック可能なリンク付きPDF生成
活用シーン
- 01ATS対応の応募用履歴書の作成
- 02構造化した履歴書データからPDFを生成
- 03応募先に合わせた項目の調整
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dkyazzentwatwa/ chatgpt-skills --skill resume-builderインストール後、Claude Code で/resume-builderを入力して読み込まれたか確認します。
同梱ファイルscripts/requirements.txtscripts/resume_builder.py
詳細
履歴書ビルダー
複数のテンプレートスタイルを使って、構造化データからプロフェッショナルなPDF履歴書を作成します。JSON入力、カスタマイズ可能なセクション、ATSに適した書式に対応しています。
クイックスタート
from scripts.resume_builder import ResumeBuilder
# Build resume programmatically
resume = ResumeBuilder()
resume.set_contact("John Smith", "[email protected]", "555-123-4567", "San Francisco, CA")
resume.set_summary("Experienced software engineer with 5+ years...")
resume.add_experience("Software Engineer", "Tech Corp", "2020-Present", [
"Led development of microservices architecture",
"Improved system performance by 40%"
])
resume.add_education("B.S. Computer Science", "State University", "2019")
resume.add_skills(["Python", "JavaScript", "AWS", "Docker"])
resume.generate().save("resume.pdf")
# From JSON
resume = ResumeBuilder.from_json("resume_data.json")
resume.generate().save("resume.pdf")
機能
- 複数のテンプレート:モダン、クラシック、ミニマル、エグゼクティブのスタイル
- ATSに適した書式:応募者追跡システムで認識される、見やすい書式
- カスタマイズ可能なセクション:職務経験、学歴、スキル、プロジェクト、資格
- 柔軟な入力:Python APIまたはJSONデータ
- プロフェッショナルな出力:適切なタイポグラフィを用いた、見やすいPDF
- リンク:ポートフォリオ、LinkedIn、GitHubへのクリック可能なURL
APIリファレンス
初期化
resume = ResumeBuilder()
resume = ResumeBuilder(template="modern")
resume = ResumeBuilder.from_json("data.json")
resume = ResumeBuilder.from_dict(data)
連絡先情報
# Basic contact
resume.set_contact(
name="John Smith",
email="[email protected]",
phone="555-123-4567",
location="San Francisco, CA"
)
# With links
resume.set_contact(
name="John Smith",
email="[email protected]",
phone="555-123-4567",
location="San Francisco, CA",
linkedin="linkedin.com/in/johnsmith",
github="github.com/johnsmith",
website="johnsmith.dev"
)
職務要約/目標
# Professional summary
resume.set_summary(
"Experienced software engineer with 5+ years building scalable "
"web applications. Passionate about clean code and mentoring."
)
# Or objective statement
resume.set_objective(
"Seeking a senior engineering role where I can leverage my "
"expertise in distributed systems and cloud architecture."
)
職務経歴
# Add experience entry
resume.add_experience(
title="Senior Software Engineer",
company="Tech Corporation",
dates="Jan 2020 - Present",
bullets=[
"Led team of 5 engineers in developing microservices architecture",
"Reduced API response time by 60% through optimization",
"Implemented CI/CD pipeline reducing deployment time by 80%"
],
location="San Francisco, CA" # Optional
)
# Multiple entries
resume.add_experience("Software Engineer", "Startup Inc", "2018-2020", [
"Built real-time notification system serving 1M+ users",
"Developed RESTful APIs using Python and FastAPI"
])
学歴
# Add education
resume.add_education(
degree="Bachelor of Science in Computer Science",
school="State University",
year="2018",
gpa="3.8", # Optional
honors="Magna Cum Laude" # Optional
)
# With coursework
resume.add_education(
degree="M.S. Data Science",
school="Tech University",
year="2020",
coursework=["Machine Learning", "Statistical Analysis", "Big Data"]
)
スキル
# Simple skills list
resume.add_skills(["Python", "JavaScript", "React", "AWS", "Docker"])
# Categorized skills
resume.add_skills({
"Languages": ["Python", "JavaScript", "Go", "SQL"],
"Frameworks": ["React", "Django", "FastAPI"],
"Tools": ["Docker", "Kubernetes", "AWS", "Git"]
})
プロジェクト
# Add project
resume.add_project(
name="Open Source Library",
description="Data validation library with 1000+ GitHub stars",
technologies=["Python", "PyPI"],
url="github.com/user/project" # Optional
)
資格
resume.add_certification("AWS Solutions Architect", "Amazon", "2023")
resume.add_certification("Professional Scrum Master", "Scrum.org", "2022")
その他のセクション
# Languages
resume.add_languages(["English (Native)", "Spanish (Fluent)", "French (Basic)"])
# Volunteer experience
resume.add_volunteer(
role="Tech Mentor",
organization="Code for Good",
dates="2021 - Present",
description="Mentor underrepresented students in programming"
)
# Publications
resume.add_publication(
title="Scaling Microservices",
venue="Tech Blog",
year="2023",
url="blog.com/article"
)
# Custom section
resume.add_custom_section("Awards", [
"Employee of the Year 2022",
"Hackathon Winner - Best Innovation"
])
テンプレートとスタイル設定
# Set template
resume.set_template("modern") # Clean, contemporary
resume.set_template("classic") # Traditional, formal
resume.set_template("minimal") # Simple, ATS-optimized
resume.set_template("executive") # Premium, senior roles
# Custom colors
resume.set_colors(
primary="#2563eb", # Headers
text="#333333" # Body text
)
# Margins
resume.set_margins(top=0.5, bottom=0.5, left=0.6, right=0.6)
生成
# Generate and save
resume.generate().save("resume.pdf")
# Get PDF bytes
pdf_bytes = resume.to_bytes()
データ形式
JSON形式
{
"contact": {
"name": "John Smith",
"email": "[email protected]",
"phone": "555-123-4567",
"location": "San Francisco, CA",
"linkedin": "linkedin.com/in/johnsmith",
"github": "github.com/johnsmith"
},
"summary": "Experienced software engineer...",
"experience": [
{
"title": "Senior Software Engineer",
"company": "Tech Corp",
"dates": "2020 - Present",
"location": "San Francisco, CA",
"bullets": [
"Led development of microservices",
"Improved performance by 40%"
]
}
],
"education": [
{
"degree": "B.S. Computer Science",
"school": "State University",
"year": "2018",
"gpa": "3.8"
}
],
"skills": {
"Languages": ["Python", "JavaScript"],
"Frameworks": ["React", "Django"]
},
"projects": [
{
"name": "Open Source Tool",
"description": "Description here",
"technologies": ["Python"],
"url": "github.com/project"
}
],
"certifications": [
{
"name": "AWS Certified",
"issuer": "Amazon",
"year": "2023"
}
]
}
CLIの使い方
# From JSON file
python resume_builder.py --input resume.json --output resume.pdf
# With template
python resume_builder.py --input data.json --template modern --output resume.pdf
# Quick resume (interactive prompts)
python resume_builder.py --quick --output resume.pdf
CLI引数
| 引数 | 説明 | デフォルト |
|---|---|---|
--input | 入力JSONファイル | 必須 |
--output | 出力するPDFのパス | resume.pdf |
--template | テンプレートのスタイル | modern |
テンプレート
モダン
- 見やすいサンセリフ体のタイポグラフィ
- 青のアクセントカラー
- 明確なセクション見出し
- 技術職に適しています
クラシック
- 伝統的なセリフ体フォント
- 黒とグレーの色使い
- フォーマルなレイアウト
- 伝統的な業界に適しています
ミニマル
- ATSとの最大限の互換性
- シンプルな書式
- 色やグラフィックなし
- オンライン応募に最適です
エグゼクティブ
- 高級感のある外観
- 洗練されたタイポグラフィ
- 控えめなアクセント
- 上級職に適しています
ベストプラクティス
- 簡潔にまとめる:経験年数が10年未満なら1ページ、最大でも2ページにします
- 行動を表す動詞を使う:「主導した」「開発した」「改善した」「達成した」
- 実績を数値化する:「売上を25%増加」「8人のチームを管理」
- 応募先に合わせる:応募ごとにスキルと要約をカスタマイズします
- ATSに適した書式にする:標準的なセクション見出しを使い、表やグラフィックは避けます
依存関係
reportlab>=4.0.0
Pillow>=10.0.0
制限事項
- PDF出力のみ
- 英語に最適化
- 最大2ページ
- 写真には非対応(ATSのベストプラクティス)
コメント
Markdown 対応