feat(skills): add skill gitlink-scholar-profile

This commit is contained in:
yangsai01 2026-06-08 19:56:57 +08:00
parent fde322669a
commit 7b880cb8ad
1 changed files with 471 additions and 0 deletions

View File

@ -0,0 +1,471 @@
---
name: gitlink-scholar-profile
version: 1.0.0
description: "学者/团队科研画像:跨仓库聚合分析 GitLink 用户或组织的科研产出,生成影响力雷达图与代表性成果报告。当用户需要了解某学者/团队的科研产出全貌、评估科研影响力时触发。"
metadata:
requires:
bins: ["gitlink-cli"]
cliHelp: "gitlink-cli user --help"
---
# gitlink-scholar-profile学者/团队科研画像)
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md)。**
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。**
> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md) 了解认证和全局参数。
## 功能概述
本技能为 GitLink 用户或组织生成完整的科研产出画像,核心回答:**这个学者/团队的科研产出全貌如何?**
分析维度:
1. **科研仓库发现** — 查找用户/组织名下所有科研类仓库
2. **产出数据聚合** — 聚合 Star、Fork、语言分布、维护时长
3. **研究方向聚类** — 基于仓库描述关键词自动聚类研究方向
4. **代表性成果识别** — 识别高影响力仓库
5. **影响力雷达图** — 多维度科研影响力可视化
---
## 一、获取用户/组织基本信息
### 1.0 根据用户输入,进行登录名解析
**GitLink 的显示名username/name和登录名login可能不同**。
直接 `user +info --login username` 会返回 404。
**必须按以下流程解析正确的登录名:**
```
个人用户流程:
Step A直接用用户输入作为 login 调用 user +info
gitlink-cli user +info --login <user_input> --format json
Step B如果返回 404用户不存在/页面不存在)
→ 调用搜索接口
gitlink-cli search +users -k <user_input> --format json
Step C从搜索结果中匹配用户
- 如果 total_count == 1直接取 users[0].login
- 如果 total_count > 1按 username/name 模糊匹配,优先精确匹配
- 优先级login 精确匹配 > username 精确匹配 > name 精确匹配 > 包含匹配
- 如果 total_count == 0报告"未找到该用户"
Step D用解析出的 login 重新调用
gitlink-cli user +info --login <resolved_login> --format json
组织用户流程:
Step A直接用用户输入作为 login 调用 org +info
gitlink-cli org +info --login <user_input> --format json
Step B如果返回 404组织不存在/页面不存在)
→ 调用搜索接口
gitlink-cli search +repos -k <user_input> --format json
Step C从搜索结果中匹配组织
- 从结果中提取org登录名
- 如果搜索结果为空,提示未找到该组织
Step D用解析出的 login 重新调用
```
**⚠️ 重要后续所有操作repo +list、repo +info 等)都应使用解析后的 login而非用户原始输入。**
### 1.1 获取用户信息
```bash
# 获取用户详细信息
gitlink-cli user +info --login <login> --format json
# 获取当前登录用户信息
gitlink-cli user +me --format json
```
### 1.2 获取组织信息
```bash
# 获取组织详细信息
gitlink-cli org +info --id <org_name> --format json
# 获取组织成员列表
gitlink-cli org +members --id <org_name> --format json
```
---
## 二、科研仓库发现
### 2.1 获取用户所有仓库
```bash
# 获取用户创建的仓库列表
gitlink-cli repo +list --user <login> --format json
# 如返回分页,需多次请求(关注 meta.total_count
```
### 2.2 获取组织所有仓库
```bash
# 获取组织管理的仓库列表
gitlink-cli repo +list --category manage --format json
```
### 2.3 科研类仓库筛选规则
AI 对获取的仓库列表进行筛选,识别科研类仓库:
```
✅ 科研类仓库特征(满足任一即纳入):
- 仓库名/描述含学术关键词:论文/论文代码/实验/research/paper/benchmark/dataset
- 仓库名/描述含学科关键词:深度学习/NLP/CV/机器学习/量子计算/基因组/蛋白质/分子动力学
- 仓库名/描述含高校/科研机构名称:清华/北大/中科院/ucas/thu/pku/cas
- 仓库名含常见科研后缀:-lab、-experiment、-thesis、-project
- 包含 arXiv 论文链接(描述中含 arxiv.org 或 24xx.xxxxx
❌ 非科研类仓库(排除):
- 纯工具类仓库(如 dotfiles、vim-config、my-scripts
- 课程作业仓库(含 homework、assignment、lab-course
- 个人博客/主页(含 blog、homepage、portfolio
- Fork 但无独立开发的仓库fork=true 且无额外 commit
```
### 2.4 获取每个仓库的详细信息
```bash
# 对每个候选仓库获取详细信息
gitlink-cli repo +info --owner <owner> --repo <repo> --format json
```
---
## 三、产出数据聚合
### 3.1 数据提取字段
对每个科研仓库,提取以下数据:
```
核心指标:
- name仓库名称
- description仓库描述
- language主要编程语言
- stars_countStar 数
- forks_countFork 数
- watchers_count关注数
- issues_countIssue 数量
- pr_countPR 数量
- created_at创建时间
- updated_at最近更新时间
衍生指标:
- 维护时长(月)= (updated_at - created_at) 的月数
- 活跃度 = 最近 6 个月是否有更新
- 社区参与度 = issues_count + pr_count
```
### 3.2 聚合统计
AI 对所有科研仓库进行聚合:
```
聚合维度:
- 总科研仓库数
- 总 Star 数 / 总 Fork 数
- 主要编程语言分布(如 Python 60%、C++ 25%、Julia 15%
- 平均维护时长
- 活跃仓库数 / 总仓库数
- 社区参与仓库数Issue/PR > 10
```
---
## 四、研究方向聚类
### 4.1 关键词提取与聚类
AI 从所有科研仓库的 `description` 字段中提取关键词,并进行自动聚类:
```
聚类规则:
1. 提取每个仓库描述中的技术/学科关键词
2. 去除停用词的、和、与、based、using 等)
3. 按语义相近性聚合为研究方向
常见研究方向关键词映射:
计算机视觉:目标检测/图像分类/语义分割/图像生成/目标跟踪/3D重建
自然语言处理:文本分类/命名实体/情感分析/机器翻译/问答系统/大模型
强化学习:策略优化/多智能体/奖励设计/博弈论
量子计算:量子算法/量子模拟/量子纠错/量子机器学习
生物信息:基因组/蛋白质/分子动力学/药物设计
网络安全:漏洞检测/入侵检测/密码学/隐私保护
```
### 4.2 研究方向输出格式
```
研究方向分布:
1. 计算机视觉3 个仓库,占 50%
- <repo1>:目标检测算法优化
- <repo2>:图像分割新架构
- <repo3>3D 点云处理
2. 自然语言处理2 个仓库,占 33%
- <repo4>:预训练语言模型微调
- <repo5>:多语言机器翻译
3. 强化学习1 个仓库,占 17%
- <repo6>:多智能体协作策略
```
---
## 五、代表性成果识别
### 5.1 代表性成果筛选规则
```
代表性成果条件(满足任一即入选):
- Star 数 > 50高关注度
- Fork 数 > 20高复用度
- 近 3 个月有更新 + Issue/PR > 10高活跃度
- 描述中含顶会/顶刊论文引用NeurIPS/ICML/ICLR/CVPR/ACL/AAAI/Nature/Science
排序规则:
- 综合得分 = Star × 0.4 + Fork × 0.3 + 活跃度 × 0.2 + 社区参与 × 0.1
- 活跃度:近 3 月有更新=106 月内=71 年内=41 年以上=1
- 社区参与min(Issue+PR, 50) / 50 × 10
```
### 5.2 获取代表性成果仓库的进一步信息
```bash
# 分析贡献者
gitlink-cli api GET /:owner/:repo/contributors --format json
# 获取最近活跃度
gitlink-cli repo +info --owner owner --repo repo --format json
```
---
## 六、影响力雷达图
### 6.1 五维雷达图定义
```
雷达图五个维度(每项 0-10 分):
1. 活跃度Activity
- 基于最近 6 个月的仓库更新频率
- 评分≥5 个仓库有更新=103-4 个=71-2 个=40 个=0
2. 影响力Impact
- 基于 Star + Fork 总量
- 评分:>500=10200-500=850-200=510-50=3<10=0
3. 持续性Persistence
- 基于仓库平均维护时长
- 评分:>36 个月=1024-36=812-24=56-12=3<6=0
4. 协作广度Collaboration
- 基于有外部贡献者参与的仓库比例
- 评分:>80%=1050-80%=720-50%=4<20%=10%=0
5. 技术广度Diversity
- 基于研究方向数量和语言种类
- 评分≥4 个方向 + ≥3 种语言=103 方向 + 2 语言=72 方向 + 2 语言=41 方向=1
```
### 6.2 雷达图 Mermaid 输出格式
```mermaid
graph TD
subgraph 科研影响力雷达图
A[活跃度: 7] --- B[影响力: 5]
B --- C[持续性: 8]
C --- D[协作广度: 4]
D --- E[技术广度: 6]
E --- A
end
```
AI 应使用 ASCII 文本格式输出雷达图:
```
活跃度
★★★★★★★☆☆☆ 7/10
技术广度 ╲ 影响力
★★★★★★☆☆☆☆ ╲ ★★★★★☆☆☆☆☆ 5/10
6/10 ╲
持续性 ╲ 协作广度
★★★★★★★★☆☆ 8/10 ★★★★☆☆☆☆☆☆ 4/10
```
---
## 七、完整科研画像报告模板
```markdown
## 👤 学者/团队科研画像报告
**画像对象:** <login> / <org_name>
**分析时间:** 2026-06-08
**数据来源:** GitLink 平台
---
### 一、基本信息
| 项目 | 信息 |
|------|------|
| 用户/组织名 | zhangsan |
| 类型 | 个人学者 / 科研团队 |
| 科研仓库数 | 6 |
| 加入 GitLink 时间 | 2024-03-15 |
---
### 二、科研产出概览
| 指标 | 数值 |
|------|------|
| 总科研仓库 | 6 个 |
| 总 Star 数 | 234 |
| 总 Fork 数 | 89 |
| 主要语言 | Python (4)、C++ (1)、Julia (1) |
| 活跃仓库(近 6 月更新) | 4 个 |
| 平均维护时长 | 18 个月 |
---
### 三、研究方向分布
1. **计算机视觉**3 个仓库50%
- `yolov8-improved`YOLOv8 目标检测改进 ⭐ 85
- `seg-any-extension`Segment Anything 扩展应用 ⭐ 42
- `point-cloud-net`3D 点云神经网络 ⭐ 23
2. **自然语言处理**2 个仓库33%
- `llm-finetune-toolkit`:大语言模型微调工具包 ⭐ 56
- `multi-lang-translator`:多语言翻译系统 ⭐ 18
3. **强化学习**1 个仓库17%
- `marl-coop`:多智能体协作策略 ⭐ 10
---
### 四、代表性成果
#### 🏆 成果一:`yolov8-improved`
| 指标 | 数值 |
|------|------|
| Star | 85 |
| Fork | 32 |
| 主要语言 | Python |
| 维护时长 | 14 个月 |
| 最近更新 | 2026-05-20展示年月日即可 |
| 关联论文 | arXiv:2403.xxxxx |
**核心贡献:** 提出了改进的 YOLOv8 检测头,在小目标检测上 mAP 提升 3.2%。
#### 🏆 成果二:`llm-finetune-toolkit`
| 指标 | 数值 |
|------|------|
| Star | 56 |
| Fork | 28 |
| 主要语言 | Python |
| 维护时长 | 10 个月 |
| 最近更新 | 2026-06-01展示年月日即可 |
**核心贡献:** 提供了 LLM 微调的一站式工具,支持 LoRA/QLoRA/P-Tuning。
---
### 五、影响力雷达图
```
活跃度
★★★★★★★☆☆☆ 7/10
技术广度 ╲ 影响力
★★★★★★☆☆☆☆ ╲ ★★★★★☆☆☆☆☆ 5/10
6/10 ╲
持续性 ╲ 协作广度
★★★★★★★★☆☆ 8/10 ★★★★☆☆☆☆☆☆ 4/10
```
**综合评价:** 该学者在计算机视觉领域产出丰富,活跃度和持续性较好,但协作广度有待提升,建议加强跨团队合作。
---
### 六、改进建议(如果检索的用户非当前登录用户,不要给出这条信息)
1. **提升协作广度**:当前 4/10建议将部分仓库设为组织仓库邀请外部贡献者参与
2. **补充论文引用**2 个仓库缺少 arXiv/论文链接,建议补充
3. **维护早期仓库**`point-cloud-net` 超 6 个月未更新,建议补充文档或标记归档
4. **增加英文 README**3 个仓库仅中文 README建议添加英文版以扩大国际影响力
```
---
## 八、执行步骤总览
```bash
# Step 1获取用户/组织基本信息
gitlink-cli user +info --login <login> --format json
# 或
gitlink-cli org +info --id <org_name> --format json
# Step 2获取所有仓库列表
gitlink-cli repo +list --user <login> --format json
# 或
gitlink-cli repo +list --category manage --format json
# Step 3AI 筛选科研类仓库(基于仓库名/描述关键词)
# Step 4对每个科研仓库获取详细信息
gitlink-cli repo +info --owner <owner> --repo <repo> --format json
# Step 5如果是组织获取团队成员信息
gitlink-cli org +members --id <org_name> --format json
# Step 6分析贡献者
gitlink-cli api GET /:owner/:repo/contributors --format json
gitlink-cli repo +info --owner owner --repo repo --format json
# Step 7AI 综合分析,生成科研画像报告
- 聚合统计数据
- 研究方向聚类
- 代表性成果识别
- 影响力雷达图
```
---
## 注意事项
- ✅ **仓库数量可能较多**:活跃学者可能有 20+ 仓库,建议分批处理
- ✅ **组织画像更复杂**:组织画像需聚合多个成员的产出,注意去重
- ⚠️ **Fork 仓库处理**Fork 的仓库如果无独立开发(无额外 commit不计入科研产出
- ✅ **搜索补充发现**:如果 `repo +list` 未列出所有仓库,可用 `search +repos` 补充:
```bash
gitlink-cli search +repos -k "<login>" --format json
```
- ⚠️ **影响力仅基于 GitLink 数据**:学者可能在 GitHub/其他平台也有产出,本画像不涵盖
- ✅ **雷达图可用 Mermaid 渲染**:报告中的雷达图建议同时提供 Mermaid 格式以便渲染
- ✅ **生成结果**最终生成的结果报告应以markdown形式产出