# モード: kyujin -- 完全評価 A-F

候補者が求人（テキストまたは URL）を貼り付けたら、必ず 6 ブロックすべてを出力する：

## ステップ 0 -- アーキタイプ検出

求人を 6 つのアーキタイプのいずれかに分類する（`_shared.md` 参照）。ハイブリッドの場合は最も近い 2 つを示す。これにより以下が決まる：
- ブロック B でどの proof point を優先するか
- ブロック E でサマリーをどう書き換えるか
- ブロック F でどの STAR ストーリーを準備するか

## ブロック A -- 求人サマリー

テーブル：
- 検出されたアーキタイプ
- ドメイン（platform/agentic/LLMOps/ML/enterprise）
- ファンクション（build/consult/manage/deploy）
- シニアリティ
- リモート（full/ハイブリッド/出社）
- チームサイズ（記載がある場合）
- TL;DR（1 文）

## ブロック B -- CV マッチ

`cv.md` を読む。JD の各要件を履歴書の正確な行にマッピングしたテーブルを作成。

**アーキタイプに応じて適応：**
- FDE → 高速デリバリーとクライアント密着の proof point を優先
- SA → システム設計と統合を優先
- PM → Product Discovery とメトリクスを優先
- LLMOps → Evals、Observability、Pipelines を優先
- Agentic → Multi-agent、HITL、オーケストレーションを優先
- Transformation → Change management、Adoption、スケーラビリティを優先

**ギャップ**セクション（各ギャップの緩和策付き）：
1. Hard blocker か nice-to-have か？
2. 候補者は隣接経験を示せるか？
3. ポートフォリオのプロジェクトでギャップをカバーできるか？
4. 具体的な緩和策（カバーレターのフレーズ、クイックプロジェクトなど）

## ブロック C -- レベルと戦略

1. JD で検出された**レベル** vs **このアーキタイプでの候補者の自然なレベル**
2. **「嘘をつかずにシニアとして売る」プラン**：アーキタイプに適応した具体的フレーズ、強調すべき実績、創業者経験をアドバンテージとしてポジショニングする方法
3. **「ダウンレベルされた場合」のプラン**：報酬が適正なら受け入れ、6 ヶ月での見直しを交渉、昇進の明確な基準

## ブロック D -- 報酬と需要

WebSearch で以下を調査：
- 現在のこの求人の給与（OpenWork、ビズリーチ、Glassdoor、Levels.fyi、Blind）
- 企業の報酬に関する評判
- この求人の需要トレンド

データとソースを引用したテーブル。データがない場合は、捏造せずそう明記する。

**日本市場 -- 必須チェック：**
- 正社員か業務委託か？ 正社員の場合：賞与、有給、社会保険、通勤・住宅手当、退職金を比較に含める
- 業務委託の場合：月額は？ 正社員換算を計算
- 賞与の記載あり？ 月給何ヶ月分？
- ストックオプション？ ベスティング、cliff、税制を評価
- 年俸制？ 賞与が含まれるか別か？
- みなし残業？ 何時間分含まれ、超過分は支払われるか？
- 住宅・通勤手当？ 月額は？
- 健康保険・厚生年金？ 標準か手厚いか？

## ブロック E -- パーソナライゼーションプラン

| # | セクション | 現状 | 提案する変更 | 理由 |
|---|----------|------|------------|------|
| 1 | サマリー | ... | ... | ... |
| ... | ... | ... | ... | ... |

マッチを最大化するための CV の Top 5 変更 + LinkedIn の Top 5 変更。

## ブロック F -- 面接準備プラン

JD の要件にマッピングした 6-10 の STAR+R ストーリー（STAR + **Reflection**）：

| # | JD の要件 | STAR+R ストーリー | S | T | A | R | Reflection |
|---|----------|-----------------|---|---|---|---|------------|

**Reflection** 列は学んだこと、または次にどうするかを捉える。これがシニアリティのシグナル — ジュニアは起きたことを説明し、シニアは教訓を引き出す。

**Story Bank：** `interview-prep/story-bank.md` が存在する場合、これらのストーリーが既にあるか確認。なければ新しいものを追加。時間の経過とともに、どの面接の質問にも適応できる 5-10 のマスターストーリーのバンクが構築される。

**アーキタイプに応じたストーリー選択とフレーミング：**
- FDE → デリバリー速度とクライアント密着を強調
- SA → アーキテクチャの意思決定を強調
- PM → Discovery とトレードオフを強調
- LLMOps → メトリクス、Evals、本番ハードニングを強調
- Agentic → オーケストレーション、エラーハンドリング、HITL を強調
- Transformation → Adoption と組織変革を強調

さらに：
- 推奨ケーススタディ 1 つ（どのプロジェクトをどう提示するか）
- Red flag 質問とその回答方法（例：「なぜ会社を売ったのですか？」「直属の部下はいましたか？」）

---

## 評価後

**必ず** ブロック A-F を生成した後に：

### 1. report を .md として保存

完全な評価を `reports/{###}-{company-slug}-{YYYY-MM-DD}.md` に保存。

- `{###}` = 次の連番（3 桁、ゼロパディング）。この番号をアトミックに割り当てて競合状態を防ぐために、必ず `node reserve-report-num.mjs` を実行して番号を予約し（標準出力から `{###}` が返されます）、レポートを書き込んだ後、`node reserve-report-num.mjs --release {###}` を実行してセンチネルを解放してください。
- `{company-slug}` = 企業名を小文字に、スペースなし（ハイフン使用）
- `{YYYY-MM-DD}` = 現在の日付

**report のフォーマット：**

```markdown
# 評価: {企業名} -- {求人タイトル}

**日付:** {YYYY-MM-DD}
**アーキタイプ:** {検出結果}
**スコア:** {X/5}
**URL:** {求人 URL}
**PDF:** {パスまたは未作成}

---

## A) 求人サマリー
（ブロック A の完全な内容）

## B) CV マッチ
（ブロック B の完全な内容）

## C) レベルと戦略
（ブロック C の完全な内容）

## D) 報酬と需要
（ブロック D の完全な内容）

## E) パーソナライゼーションプラン
（ブロック E の完全な内容）

## F) 面接準備プラン
（ブロック F の完全な内容）

## G) 応募用回答下書き
（スコア >= 4.5 の場合のみ — 応募フォーム用の回答下書き）

---

## 抽出されたキーワード
（ATS 最適化のための JD からの 15-20 キーワード）
```

### 2. tracker に記録

**必ず** `data/applications.md` に記録：
- 次の連番
- 現在の日付
- 企業名
- 求人タイトル
- スコア：マッチの平均（1-5）
- ステータス：`Evaluated`
- PDF：❌（または auto-pipeline が PDF を生成した場合は ✅）
- Report：report .md への相対リンク（例：`[001](reports/001-company-2026-01-01.md)`）

**tracker のフォーマット：**

```markdown
| # | 日付 | 企業 | 求人 | スコア | ステータス | PDF | Report |
```
