From a8fa86ac663f4aff1f1bddc9c2d697526744d645 Mon Sep 17 00:00:00 2001 From: luwanzhou Date: Mon, 15 Jun 2026 10:44:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(skills):=20add=20gitlink-research-match=20?= =?UTF-8?q?=E2=80=94=20=E7=A7=91=E7=A0=94=E5=8D=8F=E4=BD=9C=E6=99=BA?= =?UTF-8?q?=E8=83=BD=E5=8C=B9=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增科研协作智能匹配 Skill:分析科研仓库的技术栈、未解决 Issue 与研究缺口 构建需求画像,从 GitLink 平台检索并匹配候选学者/团队,生成《科研协作推荐 方案》(含匹配打分、推荐理由、可切入 Issue 与外联草稿)。 - SKILL.md:需求/候选/匹配三步法、匹配评分模型、推荐方案模板、执行步骤 - examples/match-workflow.md:真实命令驱动的协作推荐示例 子赛题四(科研辅助)。纯 Markdown,只读分析型、人在回路(不替用户发邀请)。 --- skills/gitlink-research-match/SKILL.md | 228 ++++++++++++++++++ .../examples/match-workflow.md | 100 ++++++++ 2 files changed, 328 insertions(+) create mode 100644 skills/gitlink-research-match/SKILL.md create mode 100644 skills/gitlink-research-match/examples/match-workflow.md diff --git a/skills/gitlink-research-match/SKILL.md b/skills/gitlink-research-match/SKILL.md new file mode 100644 index 0000000..b941316 --- /dev/null +++ b/skills/gitlink-research-match/SKILL.md @@ -0,0 +1,228 @@ +--- +name: gitlink-research-match +version: 1.0.0 +description: "科研协作智能匹配:分析科研仓库的技术栈、未解决 Issue 与研究缺口,构建需求画像,从 GitLink 平台匹配合适的候选学者/团队,生成《科研协作推荐方案》(含推荐理由、建议认领的 Issue、外联模板)。当课题组需要寻找跨团队协作者、为开放 Issue 招募贡献者、或评估潜在合作对象时触发。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli search --help" +--- + +# gitlink-research-match(科研协作智能匹配) + +**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。** +**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`(GitHub CLI)操作 GitLink 资源。** +**CRITICAL — 本技能为只读分析型;任何外联/邀请动作只生成草稿,须由用户亲自发出。** + +> **前置条件:** 先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md) 了解认证和全局参数。 + +## 功能概述 + +本技能回答科研协作场景的一个核心问题:**「我这个项目缺人/缺能力,平台上谁最适合来帮忙或合作?」** + +它从**仓库的真实需求**(技术栈、未解决 Issue、研究缺口)出发,构建**需求画像**,再到 GitLink 平台**匹配候选协作者/团队**,输出一份**《科研协作推荐方案》**:谁、为什么、可以从哪个 Issue 切入、以及一封可直接发出的外联草稿。 + +### 匹配三步法 + +``` +需求侧画像 → 候选侧检索与画像 → 匹配打分与推荐 +(我要什么) (谁可能合适) (谁最匹配 + 怎么对接) +``` + +--- + +## 一、需求侧画像:这个仓库到底缺什么 + +### 1.1 技术栈与领域 + +```bash +gitlink-cli repo +info --owner --repo --format json +gitlink-cli repo +languages --owner --repo --format json +gitlink-cli repo +readme --owner --repo --format json +``` + +提取:主语言/框架、研究方向关键词(从 name/description/README)、领域标签。 + +### 1.2 未解决需求(开放 Issue / 招募信号) + +```bash +gitlink-cli issue +list --owner --repo --state open --format json +``` + +识别**招募/协作信号**: +``` +高价值匹配信号(Issue 标题/标签/正文): + - help wanted / 求助 / 招募 / 寻求合作 + - good first issue / 新手友好(适合引流新贡献者) + - 标签含技术领域:cuda / nlp / 前端 / 文档 / 数据标注 + - 长期未被认领(无 assignee 且开放 > 14 天) +``` + +### 1.3 当前团队能力盲点 + +```bash +gitlink-cli repo +contributors --owner --repo --format json +``` + +结合 1.1 的技术栈,推断**能力缺口**:例如仓库以算法(Python)为主、但有大量前端/文档/部署类未解决 Issue → 缺工程/文档协作者。 + +### 1.4 形成需求画像 + +``` +需求画像示例: + 领域:医学影像分割(CV / 深度学习) + 主技术栈:Python / PyTorch + 紧缺能力:① CUDA 性能优化 ② 推理服务化(部署) ③ 英文文档 + 可切入 Issue:#42(help wanted, CUDA), #51(good first issue, docs) +``` + +--- + +## 二、候选侧检索与画像:平台上谁可能合适 + +### 2.1 按能力关键词检索候选 + +```bash +# 按研究方向/技术关键词找相关仓库与其作者 +gitlink-cli search +repos --keyword "medical image segmentation" --format json +gitlink-cli search +repos --keyword "CUDA 优化" --format json + +# 直接检索用户 +gitlink-cli search +users --keyword "<领域/方向关键词>" --format json +``` + +### 2.2 候选画像(复用画像能力) + +对每个候选用户/组织,采集其产出与方向,判断匹配度: + +```bash +gitlink-cli user +info --login --format json +gitlink-cli repo +list --user --format json +gitlink-cli org +members --id --format json # 候选是团队时 +``` + +> 💡 如需更完整的候选科研画像,可联动 `gitlink-scholar-profile` 技能生成该候选的影响力画像,再回填到本匹配流程。 + +### 2.3 候选要点提取 + +``` +对每个候选提取: + - 方向吻合度:候选代表作方向 vs 需求领域 + - 技术吻合度:候选主语言 vs 需求技术栈 + - 能力证据:候选是否有需求紧缺能力的相关仓库(如 CUDA kernel、部署、文档站) + - 活跃度:近 6 个月是否活跃(避免推荐"休眠"账号) + - 协作开放度:是否参与过他人仓库(有外部贡献历史 = 更可能接受协作) +``` + +--- + +## 三、匹配打分与推荐 + +### 3.1 匹配度评分(每个候选 0–100) + +``` +匹配分 = 方向吻合 ×0.30 + 技术吻合 ×0.25 + 能力证据 ×0.25 + 活跃度 ×0.10 + 协作开放度 ×0.10 + +各项 0–100 评分指引: + 方向吻合:完全同方向=100,相邻方向=70,弱相关=40,无关=0 + 技术吻合:主语言+框架一致=100,语言一致=70,可迁移=40 + 能力证据:有紧缺能力的代表作=100,有相关但非代表=60,仅声明=30,无=0 + 活跃度: 近1月活跃=100,近3月=80,近6月=60,更久=20 + 协作开放度:常参与他人仓库=100,偶尔=60,仅自有仓库=30 +``` + +### 3.2 推荐分级 + +| 匹配分 | 推荐级别 | 建议动作 | +|--------|----------|----------| +| ≥80 | ⭐⭐⭐ 强烈推荐 | 优先发出协作邀请,附具体 Issue | +| 60–79 | ⭐⭐ 推荐 | 可邀请参与某个 good-first / 子任务试合作 | +| 40–59 | ⭐ 候选 | 观望/作为备选 | +| <40 | — | 不推荐 | + +--- + +## 四、《科研协作推荐方案》报告模板 + +```markdown +## 🤝 科研协作推荐方案 + +**目标仓库:** / +**生成时间:** 2026-06-15 +**数据来源:** GitLink 平台(gitlink-cli 只读采集) + +--- + +### 一、需求画像 + +| 项目 | 内容 | +|------|------| +| 研究领域 | 医学影像分割(CV / 深度学习) | +| 主技术栈 | Python / PyTorch | +| 紧缺能力 | ① CUDA 性能优化 ② 推理服务化 ③ 英文文档 | +| 可切入 Issue | #42(help wanted, CUDA)、#51(good first issue, docs) | + +### 二、推荐协作者 / 团队 + +#### ⭐⭐⭐ 强烈推荐:`@cuda_master`(匹配分 88) + +| 维度 | 评估 | +|------|------| +| 方向吻合 | 相邻方向:医学影像加速(90) | +| 技术吻合 | Python/PyTorch + CUDA(95) | +| 能力证据 | 代表作 `fast-seg-cuda`(⭐120,CUDA kernel 优化)(95) | +| 活跃度 | 近 1 月活跃(100) | +| 协作开放度 | 常给他人仓库提 PR(80) | + +**推荐理由:** 正好补齐"CUDA 性能优化"这一最紧缺能力,且方向相邻、近期活跃、有外部协作习惯。 +**建议切入:** Issue #42(CUDA 推理加速)。 + +#### ⭐⭐ 推荐:`@docs-helper`(匹配分 72) +> 擅长英文技术文档站,匹配"英文文档"需求;建议从 #51(good first issue)切入。 + +### 三、外联草稿(请用户亲自发出) + +> **致 @cuda_master:** +> 你好!我们在 GitLink 维护 `someorg/medseg`(医学影像分割)。注意到你的 `fast-seg-cuda` +> 在 CUDA 加速上很出色。我们有一个推理加速需求(Issue #42),不知是否有兴趣参与协作或交流? +> 期待你的回复,谢谢! + +### 四、对接建议 + +1. 先用一个 good-first / 子任务建立轻量协作,再评估深度合作。 +2. 给被邀请者准备好可复现环境(可联动 gitlink-research-reproducibility 评估自身仓库复现性)。 +3. 在对应 Issue 上 @ 对方并说明上下文,降低参与门槛。 +``` + +--- + +## 五、执行步骤总览 + +```bash +# Step 1:需求侧画像 +gitlink-cli repo +info --owner --repo --format json +gitlink-cli repo +languages --owner --repo --format json +gitlink-cli repo +readme --owner --repo --format json +gitlink-cli issue +list --owner --repo --state open --format json +gitlink-cli repo +contributors --owner --repo --format json + +# Step 2:候选侧检索 +gitlink-cli search +repos --keyword "<方向/能力关键词>" --format json +gitlink-cli search +users --keyword "<方向/能力关键词>" --format json + +# Step 3:候选画像 +gitlink-cli user +info --login --format json +gitlink-cli repo +list --user --format json + +# Step 4:AI 按第三节规则打分、第四节模板出推荐方案 +``` + +--- + +## 注意事项 + +- ✅ **纯只读 + 人在回路**:本技能只生成推荐与外联草稿,**绝不替用户发出邀请或评论**。 +- ⚠️ **隐私与尊重**:候选画像仅基于公开仓库数据;推荐用于"协作邀请",不用于任何骚扰式批量触达。 +- ⚠️ **登录名解析**:GitLink 显示名与登录名(login)可能不同;检索到候选后用 `search +users` 校正 login,避免 404(参考 gitlink-scholar-profile 的解析流程)。 +- ✅ **可与其他科研 Skill 联动**:候选深度画像→`gitlink-scholar-profile`;邀请前自查复现性→`gitlink-research-reproducibility`。 +- ✅ **最终产出为 Markdown 推荐方案**,含匹配分、推荐理由、可切入 Issue 与外联草稿。 diff --git a/skills/gitlink-research-match/examples/match-workflow.md b/skills/gitlink-research-match/examples/match-workflow.md new file mode 100644 index 0000000..bef0f19 --- /dev/null +++ b/skills/gitlink-research-match/examples/match-workflow.md @@ -0,0 +1,100 @@ +# 示例:为科研仓库匹配协作者 + +本示例演示用 `gitlink-research-match` 技能,为一个缺人手的科研仓库匹配协作者并生成推荐方案。命令均为 gitlink-cli 真实命令,可复现。 + +> 实际使用时替换为目标仓库与真实关键词;候选与数值以实际采集为准。 + +--- + +## 一、Agent 对话片段 + +``` +用户:我们的 someorg/medseg 项目有几个 CUDA 加速和文档的 Issue 一直没人接, + 能在 GitLink 上帮我找找合适的协作者吗? + +Agent:好的,我用 gitlink-research-match 技能:先画"需求画像",再检索候选并打分, + 最后给推荐方案和外联草稿(不会替你发出邀请)。开始…… +``` + +--- + +## 二、需求侧采集 + +```bash +gitlink-cli repo +info --owner someorg --repo medseg --format json +gitlink-cli repo +languages --owner someorg --repo medseg --format json +gitlink-cli repo +readme --owner someorg --repo medseg --format json +gitlink-cli issue +list --owner someorg --repo medseg --state open --format json +gitlink-cli repo +contributors --owner someorg --repo medseg --format json +``` + +**需求画像结果:** +- 领域:医学影像分割(CV / 深度学习) +- 技术栈:Python / PyTorch +- 紧缺能力:CUDA 性能优化、英文文档 +- 可切入 Issue:#42(help wanted, CUDA)、#51(good first issue, docs) + +--- + +## 三、候选侧检索与画像 + +```bash +gitlink-cli search +repos --keyword "CUDA 加速" --format json +gitlink-cli search +users --keyword "medical image" --format json + +# 对检索到的候选逐个画像 +gitlink-cli user +info --login cuda_master --format json +gitlink-cli repo +list --user cuda_master --format json +``` + +**候选打分(按第三节规则):** + +| 候选 | 方向 | 技术 | 能力证据 | 活跃 | 协作 | 匹配分 | +|------|------|------|----------|------|------|--------| +| @cuda_master | 90 | 95 | 95 | 100 | 80 | **88** ⭐⭐⭐ | +| @docs-helper | 70 | 70 | 80 | 80 | 60 | **72** ⭐⭐ | +| @random_user | 40 | 30 | 0 | 20 | 30 | 28 — 不推荐 | + +--- + +## 四、生成的推荐方案(样例输出) + +```markdown +## 🤝 科研协作推荐方案 + +**目标仓库:** someorg/medseg +**生成时间:** 2026-06-15 + +### 一、需求画像 +| 项目 | 内容 | +|------|------| +| 研究领域 | 医学影像分割(CV / 深度学习) | +| 主技术栈 | Python / PyTorch | +| 紧缺能力 | CUDA 性能优化、英文文档 | +| 可切入 Issue | #42(CUDA)、#51(docs) | + +### 二、推荐协作者 +#### ⭐⭐⭐ 强烈推荐:@cuda_master(88) +- 补齐最紧缺的 CUDA 优化能力;代表作 `fast-seg-cuda`(⭐120)。 +- 建议切入:Issue #42。 + +#### ⭐⭐ 推荐:@docs-helper(72) +- 擅长英文文档站;建议从 #51(good first issue)切入。 + +### 三、外联草稿(请用户亲自发出) +> 致 @cuda_master:你好!我们维护 someorg/medseg(医学影像分割), +> 注意到你的 fast-seg-cuda 在 CUDA 加速上很出色,我们有推理加速需求(#42), +> 不知是否有兴趣参与或交流?期待回复,谢谢! + +### 四、对接建议 +1. 先以 good-first 子任务轻量试合作。 +2. 邀请前自查仓库复现性(可联动 gitlink-research-reproducibility)。 +3. 在 #42 上 @ 对方并说明上下文。 +``` + +--- + +## 五、合规说明 + +- 全程只读;推荐方案与外联草稿均由用户审阅后亲自发出。 +- 候选数据仅来自公开仓库,禁止用于批量骚扰式触达。 -- 2.34.1