handshake-acknowledgement について
EM の面談メモやフィードバックから、Somnio Software の開発者向け評価確認 PDF を作成するスキルです。単独または一括で処理し、生成前に抽出情報の確認を求めます。
主な機能
- 01PDF、DOCX、貼り付けテキストの読み込み
- 02開発者と評価情報の抽出
- 03テンプレートに沿った確認 PDF の生成
- 04単独および複数人の生成
- 05生成前の情報確認
活用シーン
- 01評価面談メモの取りまとめ
- 02複数開発者向け評価文書の作成
- 03前回の確認書に基づく進捗比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ somnio-software/ somnio-ai-tools --skill handshake-acknowledgementインストール後、Claude Code で/handshake-acknowledgementを入力して読み込まれたか確認します。
同梱ファイルscripts/generate_pdf.py
詳細
HandShake 承認書ジェネレーター
EM のメモをもとに、Somnio の HandShake - Step 3 Acknowledgement PDF を生成します。 個別生成または一括生成(1 回の実行で 1 人から N 人の開発者に対応)に対応しています。
コンテキスト
Somnio Software では、HandShake と呼ばれる年 2 回(4 月、10 月/11 月)のパフォーマンスレビューを実施しています。PM、チームの開発者、Tech Lead との面談後、EM が内容をまとめて Acknowledgement 文書を作成し、正式な PDF として開発者に渡します。
入力
開発者 1 人につき、1 つ以上の ficha ファイル(PDF、DOCX、または貼り付けたテキスト)が必要です。内容には次の項目を含めます。
- PM との面談メモ
- チームメンバーである開発者との面談メモ
- Tech Lead によるレビューのメモ
- EM による総括/全般的なフィードバック
- 必要に応じて、比較セクション用の前回の Acknowledgement PDF
入力は常に自由形式です。Claude は内容を適切に解釈する必要があります。
出力
開発者ごとに 1 つの PDF を生成し、Somnio の Acknowledgement テンプレートに合わせます。
- 右上に Somnio のロゴを配置したヘッダー、グラデーション背景、透明なフッター
- ヘッダーテーブル:Somnier、Líder、Fecha、Rol del Somnier
- Puntos abordados(標準の議題。常に同じ)
- Resumen del encuentro:Seniority · Rendimiento actual · Comparación anterior(該当する場合)
- Objetivos acordados:Oportunidad de mejora + Continuar trabajando en
- Aclaración o comentarios generales(任意)
一括処理のワークフロー(必ずこの順序で実行)
ステップ 1 — 添付ファイルをすべて読む
EM が ficha ファイルを 1 つ以上添付したら、質問する前にすべて読み込みます。 各ファイルから、できるだけ多くの情報を抽出します。
- 開発者名(Somnier)
- EM/Líder の名前
- 役割
- 現在のシニアリティレベル
- 目標レベル
- フィードバックの全内容
ステップ 2 — 確認テーブルを表示する
開発者 1 人につき 1 行の単一のサマリーテーブルを提示します。Claude が推測できる項目はすべて事前入力します。特定できなかった項目には [?] を付けます。
形式の例:
Encontré X fichas. Antes de generar, confirmá o corregí los datos:
| # | Somnier | Líder | Fecha | Rol |
|---|---------|-------|-------|-----|
| 1 | John Doe | Jane Smith | [?] | Sr Flutter Developer |
| 2 | Bob Johnson | [?] | [?] | Sr Backend Engineer |
Completá los [?] y avisame si hay algo para corregir. Una vez confirmado, genero todos los PDFs.
日付形式のルール:Fecha は Dec 19, 2025 の形式(英語の月名の省略形、先頭にゼロを付けない、4 桁の年)にします。EM から受け取った形式は任意で構いません。自動的に正規化してください。
EM がテーブルを明示的に確認するまで、PDF を生成してはいけません。
ステップ 3 — すべての PDF を生成する
EM が確認したら(「残りは問題ありません」のような一部確認でも可)、すべての PDF を順番に生成します。 各開発者について、次の手順を実行します。
- ficha のメモからコンテンツ JSON を作成する
- 生成スクリプトを実行する
- 進捗を報告する:「✅ 1/3 — John Doe.pdf を生成しました」
最後にすべてのファイルをまとめて渡します。
ステップ 4 — 渡す
present_files を使用して、生成した PDF をすべて一度に提示します。
ファイル名は Handshake_Acknowledgement_Firstname_Lastname.pdf とします。
コンテンツの作成ガイド
元のメモから、開発者ごとに次の内容をまとめます。
Rendimiento actual
強みと成果を示す箇条書きを 4~7 項目作成します。PM/開発者/TL からのフィードバックを抽出し、内容を分かりやすく整えてください。元のメモをそのままコピーしないでください。
Comparación reunión anterior
前回の Acknowledgement PDF が提供された場合に限ります。前回の各目標に次のいずれかを割り当てます。
Logrado— 明確に達成済みLogrado, pero hay que seguir trabajando— 一部達成En progreso— 着手したが、まだ達成していないPendiente— まだ取り組んでいない
前回の評価がない場合は、このセクションを完全に省略します。
Oportunidad de mejora
具体的で実行可能な改善点を 3~6 項目作成します。TL/PM からの批判的なフィードバックを抽出し、前向きかつ専門的な表現にします。
Continuar trabajando en
カテゴリーごとに分類します。Flutter 開発者の場合、一般的なカテゴリーは次のとおりです。
- Conocimientos Técnicos
- Conocimientos Avanzados y Especialización
- Mejora Continua y Arquitectura
- Liderazgo y Comunicación
- Innovación y Uso de Inteligencia Artificial
実際の役割と技術スタックに合わせてカテゴリーを調整してください。
生成スクリプトの実行
python3 /path/to/handshake-acknowledgement/scripts/generate_pdf.py \
--somnier "FULL NAME" \
--lider "LEADER NAME" \
--fecha "Dec 19, 2025" \
--rol "Role Title" \
--output /mnt/user-data/outputs/Handshake_Acknowledgement_Firstname_Lastname.pdf \
--content /tmp/handshake_content_firstname.json
スクリプトは日付形式を自動的に正規化します。コンテンツ JSON の全体構造については scripts/generate_pdf.py を参照してください。
重要事項
- 言語:全体を通してスペイン語を使用します。
- トーン:プロフェッショナルで、建設的かつ共感的にします。この文書は開発者が読みます。
- Somnio におけるシニアレベル:Junior → Semi-Senior → Senior Medium → Senior Advance → Tech Lead
- Puntos abordadosは常に同じ標準の議題です。変更しないでください。
- セクションに内容がない場合(前回の評価や開発者のコメントがない場合)は、そのセクションを完全に省略してください。
- フォント:本文には Nunito 11pt、フッターには Plus Jakarta Sans 9pt を使用します。
assets/fonts/に TTF ファイルがない場合は、Liberation Sans がフォールバックとして使用されます。適切なフォントをインストールするには、TTF ファイルをそこに配置してください(スクリプトの docstring を参照)。