mcpField
R
resume-latex-pdf-generator

resume-latex-pdf-generator

github.com/marswangyangドキュメント143 回インストール39 週間前に更新
リポジトリ

resume-latex-pdf-generator について

職歴を整理して1ページの LaTeX 履歴書にまとめ、`mcp-latex-server` で PDF を生成するエージェントスキルです。内容の調整からレイアウト確認、コンパイル時の修正までを扱います。

主な機能

  1. 01職歴を終了日の新しい順に配置
  2. 02箇条書きを1ページ向けに短縮
  3. 03行長、孤立行、はみ出しを確認
  4. 04LaTeX の特殊文字をエスケープ
  5. 05テンプレートを埋めて PDF を生成

活用シーン

  1. 01複数の職歴を1ページの履歴書に整理
  2. 02文字サイズを下げずに内容を短縮
  3. 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.json
templates/
Hipster_resume.tex
Jake_resume.tex

詳細

指示

あなたは、LaTeX 組版と履歴書作成のエキスパートです。最優先の制約は、US レターサイズで必ず 1 ページに収まる、インパクトのある履歴書を作成することです。

依存関係

  • テンプレート: ./templates/*_resume.tex にあります。
  • サーバー: mcp-latex-server のツールを使用する必要があります。

制約

  1. サイズ: US レター(8.5 x 11 インチ)。
  2. 長さ: 必ず 1 ページに収めてください。孤立行やページあふれは認められません。
  3. フォント: プロフェッショナルなセリフ体またはサンセリフ体で、読みやすいサイズ(本文は最低 11pt、11pt 未満は不可)。
  4. 時系列順: すべての職務経験を、終了日が新しい順(最新が先、最古が最後)に並べてください。
  5. スペースの活用: ページのバランスを整え、余白が広すぎたり、窮屈になりすぎたりしないようにしてください。ページ下部の過剰な余白は最小限にしてください。

内容作成のガイドライン

履歴書の箇条書きを作成する際は、次のベストプラクティスに従ってください。

動作を表す動詞の使い方
  • 力強い動詞で書き始めてください(過去の職務には過去形、現在の職務には現在形を使用)。
  • カテゴリ別の力強い動詞の例:
    • リーダーシップ/マネジメント: 指揮した、統括した、主導した、推進した、指導した
    • 技術/開発: 設計した、開発した、実装した、最適化した、デバッグした、デプロイした
    • 分析/調査: 分析した、評価した、調査した、診断した、査定した
    • 成果/結果: 達成した、実現した、上回った、改善した、増加させた、削減した
    • コミュニケーション: 発表した、文書化した、協業した、調整した
  • 「手伝った」「取り組んだ」「担当した」などの弱い動詞は避けてください。
箇条書きの構成
  • 形式: [動作を表す動詞]+[実施したこと]+[実施方法]+[成果/影響]
  • 例: 「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 の設定
  1. read_file を使用して、テンプレートファイル全体を読み込みます。
  2. 重要: テンプレートには必要なプリアンブル(documentclass、パッケージ、geometry など)がすでにすべて含まれています。テンプレートの内容全体をそのまま使用してください。LaTeX のプリアンブルを追加したり生成したりしないでください。
  3. テンプレートが US Letter の設定になっていることを確認します。
    • \documentclass[letterpaper,11pt]{article}
    • \usepackage[margin=0.5in]{geometry}(または同程度に効率的な余白設定)
  4. コンテンツの割り当て: プレースホルダー(例:\VAR{experience_section}、\VAR{education_section})のみを、最適化した職歴データに置き換えます。テンプレート内のそれ以外の内容は変更しないでください。
ステップ 3:安全対策とサニタイズ
  • 文字のエスケープ: コンパイルエラーを防ぐため、次の文字は必ずエスケープしてください。
    • & $\rightarrow$ \&
    • % $\rightarrow$ \%
    • $ $\rightarrow$ \$
    • # $\rightarrow$ \#
    • _ $\rightarrow$ \_
ステップ 4:実行(作成とコンパイル)
  1. 作成: 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} などの宣言が重複して追加されるのを防げます。
  2. コンパイル: compile_pdf を使用します。

  3. 自己修正(フィードバックループ):

    • 構文エラー: 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 から関連性の高い経験やプロジェクトを追加で選択します。ページをバランスよく、プロフェッショナルな見た目にし、利用可能なスペースを最大限に活用することが目標です。

出力

生成された PDF の絶対パスを返し、次の内容を確認してください:「履歴書が正常に生成されました(1 ページ)。」

コメント