新增實驗室成員
此技能會引導您逐步將新成員加入網站,包括適當的格式設定、個人簡介撰寫與圖片處理。
何時使用此技能
請在以下情況使用此技能:
- "加入新實驗室成員"
- "為 [姓名] 建立個人檔案"
- "將 [姓名] 加入團隊頁面"
- "更新 [姓名] 的角色"
- "將 [姓名] 標記為校友"
- 任何涉及新增或更新團隊成員個人檔案的要求
互動式工作流程
第一步:收集基本資訊
向使用者詢問必要詳細資料:
必要項目:
- 全名
- 角色 (pi, postdoc, staff, phd, ms, ra, programmer, undergrad, highschool)
非必要項目(若未提供,我們會進行搜尋):
- 電子郵件地址
- GitHub 使用者名稱
- LinkedIn 個人檔案
- 個人網站
- 目前所屬機構/學程(若為學生)
使用 AskUserQuestion 來收集此資訊(若初始請求中未提供)。
第二步:網路搜尋
進行網路搜尋以收集背景資訊:
-
搜尋 LinkedIn 以取得教育與工作經歷
- 查詢:"[Full Name] LinkedIn [institution if known]"
- 提取:學位、機構、先前職位
-
搜尋 GitHub 以取得使用者名稱與專案
- 查詢:"[Full Name] GitHub [email domain if known]"
- 提取:使用者名稱、知名儲存庫
-
搜尋機構頁面 以取得個人簡介資訊
- 查詢:"[Full Name] [institution] neuroscience/biology/computer science"
- 提取:研究興趣、目前工作
-
搜尋出版品(如適用,針對博士/博士後)
- 查詢:"[Full Name] [institution] publications"
- 提取:研究領域
向使用者呈現結果:
- 顯示您找到的內容
- 請使用者確認準確性
- 針對任何不清楚的地方請求澄清
- 要求提供任何遺漏的關鍵資訊
第三步:草擬個人簡介
使用收集到的資訊與符合角色需求的範本:
-
根據角色決定簡介長度:
- PI:250-300 字(詳細)
- 博士/博士後/職員:100-150 字
- 碩士/RA/程式設計師:80-120 字
- 大學部:80-100 字
- 校友:50-250 字(根據任期與成就)
-
遵循 templates/ 目錄中的簡介範本:
- 使用第三人稱
- 專業、學術語氣
- 包含:教育背景、加入日期、研究重點/目前工作
- 如適用,提及共同指導教授
- 若相關,強調先前經驗
- 若有顯著成就,註明獎項/獎學金
-
向使用者呈現草稿:
- 顯示草擬的簡介
- 詢問他們是否要進行任何編輯
- 根據回饋進行修改
第四步:處理個人圖片
-
向使用者索取圖片:
- "您有 [姓名] 的個人照片嗎?"
- 若是:"請提供圖片檔案的路徑"
- 若否:"我們可以先使用預留位置,稍後再加入"
-
若有提供圖片,則驗證並最佳化:
- 使用
file或sips檢查檔案大小與尺寸 - 目標規格:100-250 KB,合理正方形的長寬比
- 若太大(>500 KB)或長寬比不符:
- 提議使用 scripts/optimize-image.sh 調整大小/最佳化
- 若可用,使用
sips(macOS) 或convert(ImageMagick)
- 使用
-
產生圖片檔名:
- 格式:
firstname-lastname.jpg - 確保沒有空格或特殊字元
- 使用正確名稱複製到
images/目錄
- 格式:
第五步:產生成員檔案
-
建立檔名:
_members/firstname-lastname.md -
建構前置元資料:
--- name: [Full Name] image: images/[firstname-lastname].jpg role: [role] description: [Role display text from roles.yaml] links: email: [email if provided] github: [username if found/provided] linkedin: [profile if found/provided] home-page: [url if provided] ---- 僅包含可用的連結
- 移除空的連結欄位
-
加入簡介文字(來自第三步)
-
寫入檔案 至
_members/firstname-lastname.md
第六步:處理校友狀態(如適用)
若角色為 alumni 或使用者表示此人即將離職:
-
詢問校友詳細資料:
- 他們離職(或即將離職)的年份
- 他們在實驗室期間的角色(若與目前不同)
- 「下一個」職位(他們要去哪裡)
-
更新 team/index.md:
- 讀取目前的校友區段
- 按時間順序(最新的排最前面)加入條目:
- YEAR: [**Name**](/members/firstname-lastname.html) (Role Description). **Next:** [Next position] - 維持適當的格式
第七步:驗證
執行驗證檢查:
- 成員檔案存在於
_members/firstname-lastname.md - YAML 前置元資料有效
- 角色有效(對照 roles.yaml 檢查)
- 圖片檔案存在(或註明為預留位置)
- 簡介長度符合同角色要求
- 簡介使用第三人稱
- 連結格式正確
- 若是校友:team/index.md 已更新
第八步:呈現摘要
向使用者展示已建立的內容:
✓ 已為 [Name] 建立成員個人檔案
✓ 檔案:_members/firstname-lastname.md
✓ 角色:[role display text]
✓ 圖片:images/firstname-lastname.jpg [或 "預留位置 - 稍後加入"]
✓ 連結:[list of included links]
[✓ 已更新校友清單] [if applicable]
簡介預覽:
[簡介的前 100 個字元]...
您想查看完整的檔案內容嗎?
第九步:選擇性提交
詢問使用者是否要提交變更:
- 若是:建立適當訊息的 git commit
- 若否:保留為未暫存變更,供手動審查
簡介撰寫指南
語氣與觀點
- 永遠使用第三人稱:"Jane 是博士生..." (而非 "我是...")
- 專業且學術:正式但不拘謹
- 事實導向且強調成就:側重於資歷與工作
- 目前工作使用現在式:"正在進行"、"正在開發"、"正在研究"
- 背景資訊使用過去式:"獲得"、"曾任職於"、"加入"
必要元素
所有成員應包含
- 現職角色與機構
- 加入時間(月與年)
- 教育背景(學位、主修、機構)
- 目前研究/工作重點
依角色區分的額外元素:
PI:
- 博士學位機構與指導教授(附超連結)
- 研究理念與方法
- 顯著的出版品或媒體報導
- 先前職位
- 主要獎項與榮譽
博士/博士後:
- 大學與/或碩士學位機構
- 特定研究興趣
- 共同指導教授(如適用)
- 若顯著,先前的研究經驗
職員/程式設計師:
- 先前工作經驗(業界或學術)
- 技術專長與重點領域
- 正在進行的專案
- 聯合任命(如適用)
學生(碩士/大學部):
- 主修與年級
- 研究興趣
- 若適用,先前的實習或研究
- 獎項/獎學金(若顯著)
校友:
- 根據其角色的上述所有內容
- 導師(特別是短期實習生)
- 在實驗室期間的成就
- 對於暑期實習生保持簡潔(50-80 字)
應避免的內容
- 第一人稱敘述(PI 簡介可能除外)
- 過度詳細的專案描述(保持 1-2 句)
- 未來式或猜測
- 口語或俚語
- 與研究無關的個人資訊
- 與前置元資料重複(姓名、角色已顯示)
圖片處理詳細說明
偏好規格
- 格式:JPG(偏好)或 PNG
- 大小: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
檔名慣例
- 使用 kebab-case:
firstname-lastname.jpg - 無空格、特殊字元或大寫
- 與成員檔案 slug 相符
- 範例:
jane-doe.jpg、john-smith.jpg
角色特定注意事項
加入校友
當加入已離職的人員時:
- 在前置元資料中設定
role: alumni - 在簡介文字中包含他們實際的角色
- 更新
team/index.md的校友區段,包含:- 他們離職的年份
- 括號內的角色描述
- 若已知,「下一個」註記
處理共同指導教授
當成員有共同指導教授時:
- 在簡介中提及:「由 [Name] 共同指導」
- 若可能,包含超連結:
[Name](url) - 在向使用者呈現摘要時註明
聯合任命
當成員有聯合 affiliation 時:
- 在簡介中提及:「與 [Lab Name] 聯合」
- 若可能,包含其他實驗室的超連結
- 清楚標示合作的 PI
角色轉換的學生
當學生從大學部 → 碩士 → 博士轉換時:
- 建立新的成員檔案?不需要 - 保留同一檔案
- 更新前置元資料中的
role:欄位 - 更新簡介以反映新狀態
- 更新
description:欄位 - 考慮在簡介中加入關於轉換的備註
暑期實習生
短期成員(2-3 個月):
- 活躍期間:以
undergrad或highschool角色加入 - 離職時:變更為
role: alumni - 簡介:可簡潔(50-80 字),但應強調:
- 機構與學程
- 他們的工作內容
- 指導他們的人
- 任何顯著成就
錯誤處理
若網路搜尋一無所獲:
- 請使用者直接提供資訊
- 提議草擬簡短簡介,讓他們自行擴充
若圖片格式/大小不正確:
- 提議使用提供的工具進行最佳化
- 若工具不可用,提供手動指示
- 最壞情況:使用預留位置並在摘要中註明
若不確定角色:
- 從 roles.yaml 呈現角色選項
- 使用 AskUserQuestion 來澄清
若存在重複的成員:
- 檢查是更新還是新成員
- 詢問使用者是要更新現有檔案還是建立新檔案
驗證檢查清單
在最終確定之前,請確認:
- 全名在檔案名稱、前置元資料與簡介中一致
- 角色有效(選項包含:pi, postdoc, staff, phd, ms, ra, programmer, undergrad, highschool, alumni)
- 圖片檔名符合慣例(kebab-case,.jpg)
- 簡介通篇使用第三人稱
- 簡介長度符合角色要求(見指南)
- 簡介中提到加入日期(月與年)
- 包含教育背景
- 所有連結格式正確
- YAML 前置元資料有效(使用剖析器測試)
- 若是校友:team/index.md 已正確更新
- 無尾端空格或格式問題
參考資料
- reference.md - 關於成員檔案格式與模式的詳細文件
- examples.md - 不同情境的範例工作流程
- templates/ - 每種角色類型的簡介範本