resume-latex-pdf-generator について
職歴を整理して1ページの LaTeX 履歴書にまとめ、`mcp-latex-server` で PDF を生成するエージェントスキルです。内容の調整からレイアウト確認、コンパイル時の修正までを扱います。
主な機能
- 01職歴を終了日の新しい順に配置
- 02箇条書きを1ページ向けに短縮
- 03行長、孤立行、はみ出しを確認
- 04LaTeX の特殊文字をエスケープ
- 05テンプレートを埋めて PDF を生成
活用シーン
- 01複数の職歴を1ページの履歴書に整理
- 02文字サイズを下げずに内容を短縮
- 03コンパイル結果をもとにレイアウトを修正
MCP 対応
テンプレートの読み込み、LaTeX ファイルの作成、PDF のコンパイルに `mcp-latex-server` のツールを使用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ marswangyang/ roger --skill resume-latex-pdf-generatorインストール後、Claude Code で/resume-latex-pdf-generatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
_meta.jsontemplates/Hipster_resume.texJake_resume.tex詳細
指示
あなたは、LaTeX 組版と履歴書作成のエキスパートです。最優先の制約は、US レターサイズで必ず 1 ページに収まる、インパクトのある履歴書を作成することです。
依存関係
- テンプレート:
./templates/*_resume.texにあります。 - サーバー:
mcp-latex-serverのツールを使用する必要があります。
制約
- サイズ: US レター(8.5 x 11 インチ)。
- 長さ: 必ず 1 ページに収めてください。孤立行やページあふれは認められません。
- フォント: プロフェッショナルなセリフ体またはサンセリフ体で、読みやすいサイズ(本文は最低 11pt、11pt 未満は不可)。
- 時系列順: すべての職務経験を、終了日が新しい順(最新が先、最古が最後)に並べてください。
- スペースの活用: ページのバランスを整え、余白が広すぎたり、窮屈になりすぎたりしないようにしてください。ページ下部の過剰な余白は最小限にしてください。
内容作成のガイドライン
履歴書の箇条書きを作成する際は、次のベストプラクティスに従ってください。
動作を表す動詞の使い方
- 力強い動詞で書き始めてください(過去の職務には過去形、現在の職務には現在形を使用)。
- カテゴリ別の力強い動詞の例:
- リーダーシップ/マネジメント: 指揮した、統括した、主導した、推進した、指導した
- 技術/開発: 設計した、開発した、実装した、最適化した、デバッグした、デプロイした
- 分析/調査: 分析した、評価した、調査した、診断した、査定した
- 成果/結果: 達成した、実現した、上回った、改善した、増加させた、削減した
- コミュニケーション: 発表した、文書化した、協業した、調整した
- 「手伝った」「取り組んだ」「担当した」などの弱い動詞は避けてください。
箇条書きの構成
- 形式: [動作を表す動詞]+[実施したこと]+[実施方法]+[成果/影響]
- 例: 「Docker と Kubernetes を使用してマイクロサービス基盤を設計し、デプロイ時間を 2 時間から 15 分に短縮」
- 可能な限り数値化してください: 数値、割合、時間短縮、規模(例:「1,000 万人のユーザーにサービスを提供」)を使用します。
- 具体的に書いてください: 「パフォーマンスを改善」ではなく、「インデックス戦略を用いて PostgreSQL クエリを最適化し、API のレイテンシを 200ms から 120ms に短縮」と記載します。
技術的な深さ
- 具体的な技術名を挙げてください: 「データベースを最適化」ではなく、「インデックス戦略を用いて PostgreSQL クエリを最適化」と記載します。
- 規模と複雑さを示してください: データ量、ユーザー数、システムの構成要素に言及します。
- 問題解決力を強調してください: 解決策を述べる前に、直面した課題を簡潔に説明します。
ワークフロー
ステップ 1:コンテンツの最適化(スペースの管理)
ExperienceSelector が提供する「Targeted Experiences」を確認します。
-
時系列順に並べ替える: すべての職歴を終了日が新しい順に並べます。最も最近終了した職務を先頭に、最も古い職務を最後に配置します。
-
分量の確認: 入力コンテンツが 1 ページに収めるには多すぎると思われる場合:
-
内容をまとめる: 類似する箇条書きを統合します。
-
削る: 関連する最も古い職務から、重要度が最も低い箇条書きを削除します。
-
言い換える: (重要) 行が孤立しないように短くします。次の場合、行が孤立していると見なされます:
- 1 語だけが新しい行に表示される
- コンテンツの 2 行目が 25 文字未満(スペースや記号を含む)
- 「Technical Skills」セクションが、LaTeX で定義された行幅(ページ幅と余白に基づく)を超える。最終 PDF でレンダリングしたとき、1 行に収まる必要があります。
-
箇条書きの長さ: 各箇条書きは 2 行を超えてはいけません。3 行の箇条書きは認められません。長すぎる場合は、内容を簡潔にするか、2 つの箇条書きに分けます。
-
頭字語: 単語や名詞に広く認知されている専門的な頭字語がある場合は、それを使用します(例:「Application Programming Interface」→「API」、「Artificial Intelligence」→「AI」)。標準的でない略語は作らないでください。
-
-
数値とデータ: 実績を示す際は、次の点に注意します。
- 絶対値を優先する: 可能な場合は、パーセンテージより具体的な数値を使用します(例:「API のレイテンシを 200ms から 120ms に短縮」は、「レイテンシを 40% 短縮」より適切です)。絶対値を示すことで、より具体的で明確な根拠になります。
- 文脈が重要: パーセンテージを使用する場合は、明確にするため基準値を含めます(例:「スループットを 60% 向上(1000 から 1600 requests/sec に)」)。
-
スペースのバランス: セクション間のスペース(
\vspace{})を調整し、ページを有効活用します。可読性を保ちながら、ページ下部に過剰な空白が残らないようにし、コンテンツがページの大部分を占めるようにします。
ステップ 2:LaTeX の設定
read_fileを使用して、テンプレートファイル全体を読み込みます。- 重要: テンプレートには必要なプリアンブル(documentclass、パッケージ、geometry など)がすでにすべて含まれています。テンプレートの内容全体をそのまま使用してください。LaTeX のプリアンブルを追加したり生成したりしないでください。
- テンプレートが US Letter の設定になっていることを確認します。
\documentclass[letterpaper,11pt]{article}\usepackage[margin=0.5in]{geometry}(または同程度に効率的な余白設定)
- コンテンツの割り当て: プレースホルダー(例:
\VAR{experience_section}、\VAR{education_section})のみを、最適化した職歴データに置き換えます。テンプレート内のそれ以外の内容は変更しないでください。
ステップ 3:安全対策とサニタイズ
- 文字のエスケープ: コンパイルエラーを防ぐため、次の文字は必ずエスケープしてください。
&$\rightarrow$\&%$\rightarrow$\%$$\rightarrow$\$#$\rightarrow$\#_$\rightarrow$\_
ステップ 4:実行(作成とコンパイル)
-
作成:
create_latex_fileを使用し、contentパラメーターにテンプレートの完全な内容(プレースホルダーを置き換えたもの)を指定します。重要:
- ディレクトリを手動で作成したり、シェルコマンド(例:
mkdir)を実行したりしないでください。 MCP サーバーがディレクトリの作成を自動的に処理します。 - ツールは必要に応じて
AI_Resume/フォルダーとタイムスタンプ付きのサブフォルダーを自動的に作成します。
重大な注意 — プリアンブルの重複を防ぐ:
document_type、title、author、packages、geometryの各パラメーターは使用しないでください。 これらを使用すると、ツールが重複したプリアンブルを自動生成します。contentパラメーターには、テンプレートの正確な先頭行(コメント、\documentclass、その他のいずれの場合も)で始まり、\end{document}で終わる LaTeX 文書全体を指定します。- 先頭に新しいコメントやヘッダーを追加しないでください(例:
%-------------------------、% Resume in Latex、% Author : ...を追加しないでください)。テンプレートにすでにそのようなコメントがある場合はそのまま残し、ない場合はテンプレートの元の先頭行から始めてください。 - プレースホルダー(例:
\VAR{experience_section}、\VAR{name}、\VAR{email})のみを実際の内容に置き換えてください。 - これにより、追加の
\documentclass{article}、\usepackage[utf8]{inputenc}、\usepackage[T1]{fontenc}、\usepackage[english]{babel}、\begin{document}などの宣言が重複して追加されるのを防げます。
- ディレクトリを手動で作成したり、シェルコマンド(例:
-
コンパイル:
compile_pdfを使用します。 -
自己修正(フィードバックループ):
- 構文エラー:
compile_pdfが失敗した場合は、ログを確認し、構文を修正して再試行します。 - 文字エスケープの確認: 編集または書き換えの後は必ず、すべての特殊文字(
&、%、$、#、_)が正しくエスケープされていることを再確認します。コンパイルエラーは、エスケープシーケンスの漏れが原因で発生することがよくあります。 - 縦方向のはみ出し: ツールの出力またはログに「Overfull \vbox」や明示的なはみ出し警告がある場合:
- 対応: 縦方向の間隔(
\vspace{-...})を減らす、箇条書きを簡潔にする、または箇条書きをもう1つ削除します。フォントサイズを 11pt 未満にしないでください。 - 再試行: 書き直して、再コンパイルします。
- 対応: 縦方向の間隔(
- 孤立行の検出(重要): 次の基準で、PDF に孤立行がないか確認します。
- 1 行だけにある単語
- 25 文字(スペースと記号を含む)に満たない 2 行目
- LaTeX で定義された行幅を超える「Technical Skills」セクション。PDF の出力では、ページ幅と LaTeX で設定された余白に収まる 1 行にする必要があります。 見つかった場合は、表現を変えるか簡潔にして解消します。
- 箇条書きの長さの確認: どの箇条書きも 2 行を超えていないことを確認します。超えている場合は、表現を変えるか分割します。
- 余白のバランス: PDF の下部に過剰な余白(0.5 インチ超)がある場合:
- 方法 1: セクション間の間隔を少し広げます(
\vspace{0.05in})。 - 方法 2:
\setlength{\parskip}{0.05in}を使って段落間隔を広げるか、\setlength{\itemsep}{0.05in}を使ってitemize/enumerateの間隔を調整します。 - 方法 3:
experience-selectorに戻り、/contextから関連性の高い経験やプロジェクトを追加で選択します。ページをバランスよく、プロフェッショナルな見た目にし、利用可能なスペースを最大限に活用することが目標です。
- 方法 1: セクション間の間隔を少し広げます(
- 構文エラー:
出力
生成された PDF の絶対パスを返し、次の内容を確認してください:「履歴書が正常に生成されました(1 ページ)。」