diff --git a/github-profile-stats-deploy/SKILL.ja.md b/github-profile-stats-deploy/SKILL.ja.md
new file mode 100644
index 0000000..a3b9d2c
--- /dev/null
+++ b/github-profile-stats-deploy/SKILL.ja.md
@@ -0,0 +1,62 @@
+---
+name: github-profile-stats-deploy
+description: >
+ Vercelにデプロイした自前のGitHubプロフィール統計カード(github-readme-stats、
+ github-readme-streak-stats、あるいはそれらに類するPHP/Node製フォーク)を
+ セットアップする手順と、壊れた時に直す手順。ユーザーが自分のGitHub統計/
+ ストリークカードを自前デプロイしたい時、プロフィールREADMEのカードが
+ 「Failed to retrieve contributions」「.env was not found」「Missing token
+ in config」を表示している時、対象フォークのVercelデプロイが「No more than
+ 12 Serverless Functions」で失敗する時、対象フォークのGitHub Actionsデプロイ
+ が落ちた時、統計カードプロジェクト用のVERCEL_TOKEN/VERCEL_ORG_ID/
+ VERCEL_PROJECT_IDの設定について聞かれた時、プロフィールの統計/ストリーク
+ カードが壊れている・死んでいると言われた時に使う。当てずっぽうで直そうと
+ せず、以下の該当する手順を順番通りに進めること — ここで起きる不具合は
+ だいたい既知の原因を持っていて、エラーメッセージの見た目だけでは分からない
+ ことが多い。
+---
+
+# GitHubプロフィール統計カード — セットアップと障害対応
+
+このスキルは2つの手順をまとめたものだ:何もない状態から統計カードを立ち上げる手順と、既にデプロイ済みのカードが壊れた時に直す手順。各ステップには、そのステップに関係する注記だけを添えてある。詳しい説明は`references/`配下に逃がしてあり、該当ステップの注記から個別にリンクしているので、その注記が指す時だけ読みに行けばいい。手順を通しで読む段階では先回りして全部読む必要はない。
+
+## 手順A: ゼロから統計カードをセットアップする
+
+1. **使いたい統計カード生成元を自分のアカウントにフォークする。** 例: contributions/言語比率カードなら`anuraghazra/github-readme-stats`、ストリークカードなら`DenverCoder1/github-readme-streak-stats`。両方要らなければ片方だけでいい。互いに依存関係はない。
+
+2. **GitHub Personal Access Tokenを作る。** スコープは`repo` + `read:user`。作成場所は`https://github.com/settings/tokens/new`。
+ > 有効期限は無期限か長めにしておくこと。期限切れがこの手のカードが壊れる原因のダントツ1位で、しかも壊れ方が分かりにくい。詳細は`references/secrets-and-tokens.md#L6-22`。
+
+3. **各フォークをVercelに別々のプロジェクトとしてインポートする**(Vercelダッシュボード → Add New → Project → 対象リポジトリを選択)。確認方法: それぞれ独自の`*.vercel.app`ドメインが割り当たり、初回デプロイが走ること(この時点ではまだトークンを登録していないのでエラー表示になるのが正常)。
+
+4. **そのプロジェクトの環境変数にPATを登録する。**
+ > 変数名はフォーク元のソースコードが決めているもので、**フォークによってバラバラ**。決め打ちせず実際の変数名を確認してから登録すること。詳細は`references/secrets-and-tokens.md#L24-50`。
+
+ 保存後は再デプロイし、実際に動いているか確認する:
+ ```bash
+ curl -s "<自分のプロジェクト>.vercel.app/<カードのパス>?username=<自分のユーザー名>" | grep -o "Total Contributions\|Failed to retrieve"
+ ```
+
+5. **ビルド自体が失敗する場合**、特に「No more than 12 Serverless Functions can be added to a Deployment on the Hobby plan」のようなエラーが出た場合:
+ > これはトークンやコードとは無関係な、既知のVercelプラットフォーム側のバグ。`vercel.json`の直し方と、必要ならGitHub Actions経由のデプロイへの切り替え方が`references/vercel-deploy-bug.md`にある(`#L20-41`と`#L43-86`)。
+
+6. **READMEからカードをどう参照するか決める**: Vercelの実URLを直接`
`で埋め込むか、定期実行でサーバー側からfetchして静的SVGとしてコミットするか。
+ > ライブURLの方がセットアップは簡単だが、実体のデプロイを直した後も、間に挟まる複数のキャッシュ層のせいで何時間も古いエラーが表示され続けることがある。なぜそうなるかと、それを避けたい場合の定期fetch+コミット構成の最小形は`references/cache-layers.md`を見ること。
+
+ 静的SVG方式を選ぶ場合、最小構成は: 各プロジェクトのライブSVG出力をキャッシュバスター付きクエリでfetchしてファイルに書き込むスクリプトと、それを定期実行(数時間おき+オンデマンド実行用の`workflow_dispatch`)してコミットするワークフローの2つ。
+
+7. **`README.md`にカードを埋め込む** — 手順6で選んだ方式に応じて、ライブURLか静的ファイルの相対パスのどちらか。確認方法: github.com上でプロフィールページの表示を実際に見る(rawファイルだけでなく。コミット直後はGitHub自体のページキャッシュで少し遅れて反映されることもある)。
+
+## 手順B: 既にデプロイ済みのカードが壊れた時に直す
+
+1. **今実際に何が配信されているかを確認する。** 静的SVG方式で運用しているなら、READMEが実際に表示しているのは*コミット済みのファイル*なので、そちらを見る:
+ ```bash
+ gh api repos///contents/