Untapped Resume について
Untapped Resumeは、手元のファイルにある根拠を使って応募書類やポートフォリオを作る、求職者向けのローカルツールです。事実の記述には出典が必要で、裏付けのない条件は捏造せず、ギャップとして示します。
主な機能
- 01ローカルファイルから出典付きの根拠を抽出
- 02求人情報を読み要件を抽出
- 03DOCX、PDF、TXT形式の履歴書を生成
- 04単独で表示できるポートフォリオページを作成
- 05要件の網羅性と出典の根拠を確認
活用シーン
- 01特定の職種に合わせた応募書類の調整
- 02プロジェクトファイルから履歴書の根拠を探す
- 03求人用語の網羅性と裏付けのない記述を確認
- 04記録されたプロジェクトをもとにポートフォリオを準備
MCP 対応
プラグインには、根拠のスキャン、求人情報の読み取り、文書生成、ATSチェックを行う5つのツールを備えたMCPサーバーが含まれます。JSON-RPC over stdioでローカル実行します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Untapped Resume
すでにお持ちの実績を使って、1つの求人向けの履歴書、ポートフォリオ、LinkedIn キットを作成します。 求人に合わせて調整しますが、内容を捏造することはありません。証明できる資格がない場合は 証拠なし と明記し、実践的なギャップ解消プランに含めます。
無料で、ローカル環境で動作します。Python 3.10 以降と標準ライブラリのみが必要です。アカウント、ライセンスキー、月間利用上限、支払いは不要です。 このプラグインから LinkedIn に投稿することはできません。貼り付けとアップロードにかかる時間は約 2 分です。面接を保証するものではありません。
書類に宣伝を含めません
作成されるすべてのもの(履歴書、ポートフォリオページ、LinkedIn キット、カバーレター、ギャッププラン)には、ご本人の実績と求人情報の表現のみが含まれます。 Find Untapped Growth を含む、いかなる組織や個人の広告、アフィリエイトリンク、当方へのリンク、「制作」表記やクレジット表記も追加しません。 Find Untapped Growth は、制作者としてこの README とプラグインの掲載ページにのみ記載されます。
インストールと使い方
Codex または Claude Code の Untapped Plugins マーケットプレイスから untapped-resume をインストールします。
両ホスト向けのマニフェストと、共通の tailor-resume スキルが含まれています。ホストの PATH に Python が必要です。
MCPB には 5 つのツールが含まれています。プラグインをインストールすると、ガイド付きスキルも追加されます。
単独で使用するローカル MCP 設定では、server/resume_server.py の絶対パスを引数として python を実行します。
環境変数や認証情報は不要です。サーバーは stdio 経由で JSON-RPC を使用します。Web サーバーとして起動しないでください。次のように試せます:「このプロジェクトフォルダーを使って、この求人向けに履歴書を調整してください。」
エージェントに求人情報 1 件、選択した実績資料のフォルダー、この求人用の出力フォルダーを渡します。 対応している実績資料は、Markdown、テキスト、README ファイル、DOCX、ベストエフォートで抽出した PDF テキスト、git メタデータ、LinkedIn のエクスポート ZIP(Positions、Education、Skills、Certifications、Projects の CSV ファイルを含むもの)です。 リポジトリのコードは実行されません。コミットのメタデータだけでは、応募者の貢献やスキルの証明にはなりません。
| ツール | 結果 |
|---|---|
scan_evidence(folder, max_files=500) | 出典に紐づいた抜粋、明示された日付、読者向けの注記 |
read_job(text=...) または read_job(url=...) | 記載された職種名/会社名、必須条件、歓迎条件、雇用主の用語 |
render_resume(resume_json, out_dir, formats=["docx","pdf","txt"]) | 履歴書ファイルと非公開の sources.json |
render_portfolio(portfolio_json, out_dir) | 単独で動作する index.html と非公開の出典マップ |
ats_check(pdf_path, job_json, sources_path) | 抽出テキスト、適合度、出典/レイアウトに関する警告 |
ネットワークにアクセスできるのは read_job のみです。指定された HTTPS の求人情報を取得します(リクエストのタイムアウトは 20 秒です)。
ほかのツールはローカルファイルを操作します。このスキルは、LinkedIn キット、カバーレター、適合度表、1~4 週間のギャップ解消プランをローカルで作成するようエージェントをガイドします。ワークフローと JSON の仕様をご覧ください。
ディレクトリワークフローでは directory_build=true を設定し、任意のインターンシップの提案を無効にします。
ソースに裏付けられた出力
事実を含む各行は、次の形式です。
{
"text": "Built a Python inventory tool.",
"source": {
"source_path": "/absolute/path/project/README.md",
"quote": "Built a Python inventory tool."
}
}
resume_json には、ソースに裏付けられた name、任意のソースに裏付けられた contact 配列、および sections オブジェクトが含まれます。
セクションキーは Summary、Experience、Projects、Education、Skills、Certifications で、それぞれソースに裏付けられた行の配列を保持します。Experience と Projects はデフォルトで箇条書きです。役職/日付ラベルにするには bullet:false を設定します。
レンダラーは箇条書きだけでなく、事実を含むすべての行にソースがない場合、処理を拒否します。ソースマップには、折り返された行と出力ハッシュが記録されます。チェッカーはソースを再度読み込み、引用の欠落や裏付けのない語句を検出します。
引用があっても、それだけで証明にはなりません。エージェントは帰属、意味、日付、指標、実績の所有者を引き続き確認する必要があります。
portfolio_json には、ソースに裏付けられた name、任意のソースに裏付けられた intro、および projects が含まれます。各プロジェクトには、ソースに裏付けられた title、ソースに裏付けられた bullets、0~100 の数値 fit_score、および任意のソースに裏付けられた fit_reason があります。
スコアが高い上位3件を先頭に表示します。証拠のあるプロジェクトが3件未満の場合は、その件数に合わせます。スコアは、並べ替えのためにエージェントが指定します。HTML にはスクリプト、リンクされたリソース、ブランディング用のフッターはありません。レビュー済みの index.html のみを GitHub Pages または Cloudflare Pages にアップロードし、ソースマップとローカルパスは非公開にしてください。
明示される制限事項
- 履歴書ファイルは単段組みで、標準の Courier フォントを使用し、実際のテキストを含みます。1ページを超えると警告が表示され、内容が黙って削除されることはありません。DOCX のページ割り付けは、ビューアーのフォントメトリクスによって変わる場合があります。
- 組み込みの PDF 出力は、一般的な西欧言語のアクセント記号を含む Windows-1252 のテキストに対応しています。それ以外の文字体系の場合、文字を置き換えずに PDF 出力を拒否します。DOCX/TXT を使用し、Word または LibreOffice からエクスポートしてください。
- 一般的な PDF の読み取りはベストエフォートです。OCR、暗号化されたテキスト、カスタムフォントマップには対応していません。非表示のテキスト、画像、タグ付きテーブルは検出時に警告されます。任意のグラフィックやタグのないテーブルはレビューが必要です。
- カバレッジは、履歴書と引用されたローカルの証拠の両方に含まれる文字どおりの語句を使用するものであり、採用の予測ではありません。言い換えは手動でのレビューが必要な場合があります。入力の欠落、所有者不明、または読み取れないソースは、証拠がないことを意味しません。
- 入力の読み込みには上限があります。大きな文書/アーカイブや未対応ファイルは、注記付きでスキップされる場合があります。求人に関する証拠は、小さな専用フォルダーにまとめてください。スキャナーは、記載された日付の代わりにファイルの時刻を使用することはありません。
- 出力ファイル名は固定されており、選択したディレクトリ内の既存ファイルは置き換えられます。求人ごとに別のディレクトリを使用してください。
開発時のチェック
リポジトリのルートから実行します。
python -m unittest discover -s plugins/untapped-resume/tests
python plugins/tools/sync_shared.py --check
python plugins/tools/manifests.py --check
claude plugin validate --strict plugins/untapped-resume
python plugins/tools/build_mcpb.py untapped-resume
テストではローカルのフィクスチャと注入された求人ページ用トランスポートを使用し、ネットワークリクエストは行いません。
ベンダー提供の MCP トランスポートは、plugins/tools/sync_shared.py を介して plugins/shared/mcp_stdio.py から取得されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。