ラボメンバーの追加
このスキルは、新しいラボメンバーをウェブサイトに追加するための適切なフォーマット、自己紹介文の作成、画像処理をガイドします。
このスキルを使用するタイミング
以下のような場合にこのスキルを使用します。
- 「新しいラボメンバーを追加」
- 「[名前]のプロフィールを作成」
- 「[名前]をチームページに追加」
- 「[名前]の役割を更新」
- 「[名前]を卒業生としてマーク」
- チームメンバーのプロフィールを追加または更新するリクエスト全般
インタラクティブワークフロー
ステップ1: 基本情報の収集
ユーザーに必要な詳細情報を尋ねます。
必須:
- フルネーム
- 役割 (pi, postdoc, staff, phd, ms, ra, programmer, undergrad, highschool)
任意 (提供されない場合は調査します):
- メールアドレス
- GitHubユーザー名
- LinkedInプロフィール
- 個人ウェブサイト
- 現在の所属機関/プログラム (学生の場合)
AskUserQuestionを使用して、初期リクエストで提供されていない情報を収集します。
ステップ2: Webリサーチ
背景情報を収集するためにWebリサーチを実施します。
-
LinkedInを検索して学歴と職歴を調べる
- クエリ: "[フルネーム] LinkedIn [所属機関がわかっている場合]"
- 抽出: 学位、機関、以前の役職
-
GitHubを検索してユーザー名とプロジェクトを調べる
- クエリ: "[フルネーム] GitHub [メールドメインがわかっている場合]"
- 抽出: ユーザー名、注目のリポジトリ
-
所属機関のページを検索して自己紹介情報を調べる
- クエリ: "[フルネーム] [所属機関] 神経科学/生物学/コンピュータサイエンス"
- 抽出: 研究関心、現在の研究
-
論文を検索 (該当する場合: PhD/ポスドク)
- クエリ: "[フルネーム] [所属機関] 出版物"
- 抽出: 研究分野
調査結果をユーザーに提示:
- 見つかった内容を表示
- 正確性の確認をユーザーに依頼
- 不明な点について明確化を依頼
- 不足している重要な情報を要求
ステップ3: 自己紹介文の草案作成
収集した情報と役割に適したテンプレートを使用します。
-
役割に基づいて自己紹介文の長さを決定:
- PI: 250~300語 (詳細)
- PhD/ポスドク/スタッフ: 100~150語
- MS/RA/プログラマー: 80~120語
- 学部生: 80~100語
- 卒業生: 50~250語 (在籍期間と業績に基づく)
-
templates/ ディレクトリの自己紹介文テンプレートに従う:
- 三人称で記述
- 専門的でアカデミックなトーン
- 含める内容: 学歴、参加日、研究焦点/現在の研究
- 該当する場合は共同指導教官に言及
- 関連する場合は以前の経験を強調
- 特筆すべき受賞/フェローシップがあれば記載
-
草案をユーザーに提示:
- 作成した自己紹介文を表示
- 編集希望の有無を確認
- フィードバックに基づいて修正
ステップ4: プロフィール画像の処理
-
ユーザーに画像を尋ねる:
- 「[名前]のプロフィール写真はありますか?」
- はいの場合: 「画像ファイルのパスを教えてください」
- いいえの場合: 「とりあえずプレースホルダーを使用して、後で追加できます」
-
画像が提供された場合、検証と最適化:
fileまたはsipsを使用してファイルサイズと寸法を確認- 目標仕様: 100~250 KB、適度に正方形のアスペクト比
- 大きすぎる場合 (>500 KB) またはアスペクト比が合わない場合:
- scripts/optimize-image.sh を使用したリサイズ/最適化を提案
- 利用可能な場合は
sips(macOS) またはconvert(ImageMagick) を使用
-
画像ファイル名を生成:
- 形式:
firstname-lastname.jpg - スペースや特殊文字がないことを確認
- 正しい名前で
images/ディレクトリにコピー
- 形式:
ステップ5: メンバーファイルの生成
-
ファイル名を作成:
_members/firstname-lastname.md -
フロントマターを作成:
--- name: [フルネーム] image: images/[firstname-lastname].jpg role: [役割] description: [roles.yaml からの役割表示テキスト] links: email: [提供された場合のメール] github: [見つかった/提供された場合のユーザー名] linkedin: [見つかった/提供された場合のプロフィール] home-page: [提供された場合のURL] ---- 利用可能なリンクのみを含める
- 空のリンクフィールドは削除
-
自己紹介文を追加 (ステップ3から)
-
ファイルを書き込む:
_members/firstname-lastname.md
ステップ6: 卒業生の処理 (該当する場合)
役割が alumni の場合、またはユーザーがこの人が退室することを示した場合:
-
卒業生の詳細を尋ねる:
- 退室した/する年
- ラボにいたときの役割 (現在と異なる場合)
- 次のポジション (どこに行くのか)
-
team/index.md を更新:
- 現在の卒業生セクションを読み込む
- 時系列順 (最新が先) でエントリを追加する:
- YEAR: [**名前**](/members/firstname-lastname.html) (役割説明). **次:** [次のポジション] - 適切なフォーマットを維持する
ステップ7: 検証
検証チェックを実行:
- メンバーファイルが
_members/firstname-lastname.mdに存在する - YAMLフロントマターが有効である
- 役割が有効である (roles.yaml と照合)
- 画像ファイルが存在する (またはプレースホルダーとして記載)
- 自己紹介文の長さが役割に適切である
- 自己紹介文が三人称で記述されている
- リンクが適切にフォーマットされている
- 卒業生の場合: team/index.md が更新されている
ステップ8: サマリーの提示
作成した内容をユーザーに表示:
✓ [名前] のメンバープロフィールを作成しました
✓ ファイル: _members/firstname-lastname.md
✓ 役割: [役割表示テキスト]
✓ 画像: images/firstname-lastname.jpg [または「プレースホルダー - 後で追加」]
✓ リンク: [含まれるリンクのリスト]
[✓ 卒業生リストを更新しました] [該当する場合]
自己紹介文プレビュー:
[自己紹介文の最初の100文字]...
ファイルの全文を表示しましょうか?
ステップ9: 任意のコミット
ユーザーに変更をコミットするかどうかを尋ねる:
- はいの場合: 適切なメッセージでgitコミットを作成
- いいえの場合: 手動レビューのためにステージングされていない変更として残す
自己紹介文作成ガイドライン
文体とトーン
- 常に三人称: 「JaneはPhD学生です...」 (「私は...」ではない)
- 専門的かつアカデミック: 堅苦しすぎず、しかし格式ばったもの
- 事実に基づき業績を重視: 資格と研究に焦点を当てる
- 現在の研究は現在形: 「研究している」、「開発している」、「調査している」
- 経歴は過去形: 「取得した」、「所属していた」、「参加した」
必須要素
すべてのメンバーに含めるべき内容:
- 現在の役割と所属機関
- 参加した時期 (月と年)
- 学歴 (学位、専攻、機関)
- 現在の研究/仕事の焦点
役割別の追加要素:
PI:
- PhD取得機関と指導教官 (ハイパーリンク付き)
- 研究哲学とアプローチ
- 注目すべき出版物やメディア掲載
- 以前の役職
- 主要な受賞歴と栄誉
PhD/ポスドク:
- 学部および/または修士課程の機関
- 具体的な研究関心
- 該当する場合は共同指導教官
- 特筆すべき以前の研究経験
スタッフ/プログラマー:
- 以前の職務経験 (業界またはアカデミア)
- 技術的専門知識と重点分野
- 取り組んでいるプロジェクト
- 該当する場合は兼任
学生 (MS/学部生):
- 専攻と学年
- 研究関心
- 該当する場合は以前のインターンシップや研究
- 特筆すべき受賞/フェローシップ
卒業生:
- 役割に基づく上記すべて
- メンター (特に短期インターン生の場合)
- ラボ滞在中の業績
- サマーインターン生の場合は簡潔に (50~80語)
避けるべきこと
- 一人称での記述 (PIの導入部を除く可能性あり)
- プロジェクトに関する過剰な詳細 (1~2文に抑える)
- 未来形や推測
- カジュアルな言葉遣いやスラング
- 研究に関係ない個人情報
- フロントマターとの重複 (名前、役割はすでに表示されている)
画像処理の詳細
推奨仕様
- 形式: JPG (推奨) または PNG
- サイズ: Web最適化のために100~250 KB
- アスペクト比: 正方形またはほぼ正方形 (1:1 または 4:5)
- 最小寸法: 300x300 ピクセル
- 推奨: 400x400 ~ 600x600 ピクセル
- カラー: RGBカラースペース
最適化プロセス
画像の最適化が必要な場合:
# バンドルスクリプトを使用
bash .claude/skills/add-member/scripts/optimize-image.sh input.jpg output.jpg 500
または、sips (macOS) を使用して手動で:
# アスペクト比を維持しながら最大寸法500pxにリサイズ
sips -Z 500 input.jpg --out output.jpg
# PNGをJPGに変換
sips -s format jpeg input.png --out output.jpg
または、ImageMagickを使用:
# リサイズと最適化
convert input.jpg -resize 500x500^ -quality 85 output.jpg
ファイル名規則
- ケバブケースを使用:
firstname-lastname.jpg - スペース、特殊文字、大文字なし
- メンバーファイルのスラグと一致させる
- 例:
jane-doe.jpg、john-smith.jpg
役割別の注意点
卒業生の追加
すでに退室した人を追加する場合:
- フロントマターで
role: alumniを設定 - 自己紹介文に実際の役割を含める
team/index.mdの卒業生セクションを更新:- 退室年
- 括弧内に役割説明
- 既知の場合は「次:」注釈
共同指導教官の処理
メンバーに共同指導教官がいる場合:
- 自己紹介文に記載: 「[名前]によって共同指導」
- 可能であればハイパーリンクを含める:
[名前](url) - ユーザーに提示する際にサマリーに記載
共同所属
メンバーが共同所属を持つ場合:
- 自己紹介文に記載: 「[ラボ名]と共同」
- 可能であれば他のラボへのハイパーリンクを含める
- 共同PIを明確に記載
役割を移行する学生
学生が学部生 → MS → PhD と移行する場合:
- 新しいメンバーファイルを作成する? いいえ - 同じファイルを維持
- フロントマターの
role:フィールドを更新 - 新しいステータスを反映するように自己紹介文を更新
description:フィールドを更新- 自己紹介文に移行に関する注記を追加することを検討
サマーインターン生
短期メンバー (2~3ヶ月):
- 在籍中: 役割
undergradまたはhighschoolで追加 - 退室時:
role: alumniに変更 - 自己紹介文: 簡潔 (50~80語) でも、以下を強調:
- 所属機関とプログラム
- 取り組んだ内容
- メンター
- 特筆すべき業績
エラー処理
Web検索で何も見つからない場合:
- 直接情報を提供するようユーザーに依頼
- 最小限の自己紹介文を草案し、ユーザーに拡張してもらうことを提案
画像の形式/サイズが間違っている場合:
- 提供されたツールを使用した最適化を提案
- ツールが利用できない場合は、手動の手順を提供
- 最悪の場合: プレースホルダーを使用し、サマリーに記載
役割が不明な場合:
- roles.yaml から役割オプションを提示
- AskUserQuestion を使用して明確化
重複メンバーが存在する場合:
- 更新か新規メンバーかを確認
- 既存のものを更新するか、新しく作成するかをユーザーに確認
検証チェックリスト
確定前に以下を確認:
- フルネームがファイル名、フロントマター、自己紹介文で一致している
- 役割が有効である (pi, postdoc, staff, phd, ms, ra, programmer, undergrad, highschool, alumni のいずれか)
- 画像ファイル名が規則に従っている (ケバブケース、.jpg)
- 自己紹介文が全体を通して三人称である
- 自己紹介文の長さが役割に適切である (ガイドライン参照)
- 自己紹介文に参加日が記載されている (月と年)
- 学歴が含まれている
- すべてのリンクが適切にフォーマットされている
- YAMLフロントマターが有効である (パーサーでテスト)
- 卒業生の場合: team/index.md が正しく更新されている
- 末尾の空白やフォーマットの問題がない
関連情報
- reference.md - メンバーファイルの形式とパターンに関する詳細ドキュメント
- examples.md - さまざまなシナリオのワークフロー例
- templates/ - 各役割タイプの自己紹介文テンプレート