任务一(50%·CLI 能力)

修改	内容	效果
shortcuts/register.go	补 pm 域注册(import + groups + descriptions 3 处)	25 个命令域全部接入
go build 重编	exe 从 06-11 旧版重编到 06-24	25/25 域全可用(workflow/health/pipeline/pm/compare 等从 unknown 变可用)
诊断修正	纠正"9 域未注册"误判 → 实际只差 pm + 重编	避免误改代码
状态:命令层 + 测试 + 跨平台 + 变更文档均达标;5 域激活直接解锁了 health/workflow/pipeline 等 Skill 的真实演示。🔴 唯一缺口:三份报告(暂缓)。

任务二(20%·Skills)
修改	内容	效果
新增 5 Skill	onboarding / auth / snippet / digest / todo(均含 SKILL.md + examples)	覆盖新人引导/认证/片段/简报/待办
补 28 个 examples	为各已有 Skill 补端到端示例	功能型 Skill examples 覆盖 11%→96%
skills/README.md	新增「智能化与工作流 Skills」小节,收录 5 个新 Skill	索引规范补齐
snippet 实测	7 命令端到端通过(create→...→delete)	Agent 平台验证证据
Skills工作总结.md	多轮完善:成果归属 + 验收演示指南 + 实测验证 + 4 Skill 索引	验收材料成型
状态:课程 6 场景全覆盖,报告待补。

任务三(20%·端到端工作流)
修改	内容
gitlink-pr-guard/SKILL.md	代码质量看门人:5 步流水线(采集→Review→CI→评论→判定)+ 质量门禁规则
pr-guard-workflow.sh	可复现脚本,串联 5 步 4 域(已验证)
pr-guard-architecture.md	ASCII 架构图 + 与 code-review 分工说明
状态:主体完成,满足"≥3 步串联 + 自定义 Skill + 架构图"。 待真实 PR 演示 + 报告。

任务四(加分·科研辅助)
修改	内容
gitlink-research-insight/SKILL.md	科研仓库画像:四维评分(可复现性/活跃度/引用价值/协作健康)+ 协作知识图谱
research-insight-workflow.sh	可复现脚本,4 步串联(已验证)
research-insight-guide.md	完整中文文档 + 架构图 + 报告样例
创新点:把 gitlink 数据从"工程视角"提升到"科研视角"(可复现/引用/合作 + 知识图谱)。 待真实科研仓库验证。

DevOps(10%)
 未实质推进。现状:已有 .gitea/workflows/ci.yml + .github/workflows/{ci,release,test}.yml 基础,待扩展覆盖任务二~四产物。
项目级
文件	内容
项目任务总体计划.md	四任务要求解读 + 现状对照 + 报告策略 + 统一排期(准确版)
CLAUDE.md	Skills 触发索引(让 Claude Code 知道按场景读对应 SKILL.md)
本轮总产出统计
激活:25 个 CLI 域(从部分 unknown → 全可用)
新增 Skill:6 个(onboarding/auth/snippet/digest/todo/pr-guard/research-insight — 注:research-insight 是第 7 个,含它共 7 个新增)
新增 demo/工作流:snippet-live-demo、SHOWCASE、live-demo(guide+sh)、pr-guard(SKILL+脚本+架构)、research-insight(SKILL+脚本+文档)
文档:Skills工作总结、项目任务总体计划、CLAUDE.md
This commit is contained in:
Surponess 2026-06-24 13:39:09 +08:00
parent 0d0a2f4a93
commit 464b0225e8
5 changed files with 379 additions and 0 deletions

Binary file not shown.

View File

@ -19,6 +19,7 @@ import (
"github.com/gitlink-org/gitlink-cli/shortcuts/milestone"
"github.com/gitlink-org/gitlink-cli/shortcuts/org"
"github.com/gitlink-org/gitlink-cli/shortcuts/pipeline"
"github.com/gitlink-org/gitlink-cli/shortcuts/pm"
"github.com/gitlink-org/gitlink-cli/shortcuts/pr"
"github.com/gitlink-org/gitlink-cli/shortcuts/profile"
"github.com/gitlink-org/gitlink-cli/shortcuts/release"
@ -60,6 +61,7 @@ func RegisterAll(root *cobra.Command, translators ...*i18n.Translator) {
"ignore": ignore.Shortcuts(),
"license": license.Shortcuts(),
"pipeline": pipeline.Shortcuts(),
"pm": pm.Shortcuts(),
"profile": profile.Shortcuts(tr),
"workflow": workflow.Shortcuts(),
}
@ -87,6 +89,7 @@ func RegisterAll(root *cobra.Command, translators ...*i18n.Translator) {
"ignore": "Gitignore template operations",
"license": "License operations",
"pipeline": "Pipeline operations",
"pm": "Project management operations",
"profile": tr.T("cmd.profile.short"),
"workflow": "AI agent workflow analysis",
}

View File

@ -157,6 +157,18 @@ skills/
| **gitlink-pm** | 项目管理 | 通过 Raw API 访问 |
| **gitlink-workflow** | AI 工作流 | Issue 分类、PR Review、Release Notes |
| **gitlink-health** | 开源项目健康度 | 详情见SKILL.md |
| **gitlink-snippet** | 本地代码片段管理 | `snippet +create`, `snippet +search`, `snippet +list` |
### 智能化与工作流 SkillsAI 编排,串联多步)
| Skill | 说明 | 常用命令 / 能力 |
|-------|------|----------|
| **gitlink-onboarding** | 新人引导 | 搜 good-first-issue、5 维度友好度评估、生成引导评论 |
| **gitlink-digest** | 项目简报 | 跨源聚合 Issue/PR/CI/通知成日报 |
| **gitlink-todo** | 我的待办 | 汇总 @我 / 分配我 / 待 review按紧急度排序 |
| **gitlink-pr-guard** | 代码质量看门人 | PR→Review→CI→质量判定→合并端到端门禁 |
> 以上 5 个为本次新增的 AI 工作流 Skill均兼容 Claude Code 等 Agent详见各 `SKILL.md`
---

View File

@ -0,0 +1,173 @@
---
name: gitlink-pr-guard
version: 1.0.0
description: "代码质量看门人PR 提交后自动跑完「采集→AI Review→CI 检查→汇总评论→质量判定/合并」端到端流水线。当用户需要 PR 质量门禁、自动化代码审查流水线、PR 自动合并看门人、code quality gate 时触发。"
metadata:
requires:
bins: ["gitlink-cli"]
cliHelp: "gitlink-cli pr --help"
---
# gitlink-pr-guard代码质量看门人
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
**CRITICAL — 合并 PR`pr +merge`)是写操作,执行前必须确认用户意图;默认只「建议合并」,由人确认后再执行。**
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`。**
> **前置条件:** 先读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md)(认证与全局参数)、[`../gitlink-code-review/SKILL.md`](../gitlink-code-review/SKILL.md)Review 分析逻辑)。
## 定位:与 gitlink-code-review 的分工
| Skill | 职责边界 |
|-------|---------|
| `gitlink-code-review` | **只做 Review**:分析 PR diff输出结构化审查意见Critical/Warning/Suggestion |
| `gitlink-pr-guard`(本 Skill | **完整看门人**Review + CI 检查 + 汇总评论 + **质量判定 + 合并决策**,一条流水线 |
> 本 Skill 是**端到端工作流**(子任务三),串联 `pr` + `code-review` + `ci` + `merge` 多个能力,交付完整质量门禁方案。
---
## 工作流概览5 步流水线)
| 阶段 | 操作 | 命令 | AI Agent 角色 |
|------|------|------|--------------|
| ① 采集变更 | 拉 PR 详情、文件、Diff | `pr +view` / `+files` / `+diff` | 数据采集 |
| ② AI Review | 分析 diff分级找问题 | (复用 code-review 逻辑) | 逐文件审查 |
| ③ CI 检查 | 查最新构建状态 | `ci +builds` / `+log` | 状态判定 |
| ④ 汇总评论 | 发布结构化审查报告 | `api POST .../reviews` | 生成报告并发布 |
| ⑤ 质量判定 | 按门禁规则判通过/拒绝 | `pr +merge`(达标且确认后) | 决策 + 执行 |
---
## 详细工作流
### Step 1采集 PR 变更
```bash
gitlink-cli pr +view --id <pr_id> --format json
gitlink-cli pr +files --id <pr_id> --format json
gitlink-cli pr +diff --id <pr_id> --format json # 完整 diff
gitlink-cli pr +diff --id <pr_id> --stat # 仅统计摘要
```
### Step 2AI Review复用 code-review 分析逻辑)
对每个变更文件按 [`../gitlink-code-review/SKILL.md`](../gitlink-code-review/SKILL.md) 的检查项审查,输出分级意见:
- 🔴 **Critical**硬编码密钥、SQL/命令注入、路径遍历等安全红线
- 🟡 **Warning**:错误处理缺失、边界条件、密码明文等
- 🔵 **Suggestion**:命名、性能、可配置化等优化
- ✅ **Positive**:值得肯定的设计
### Step 3CI 检查
```bash
# 查最新构建
gitlink-cli ci +builds --owner <owner> --repo <repo> --format json
# 从返回找 PR 对应分支的最新构建,取 statussuccess/failure/pending
# 失败时取日志定位原因
gitlink-cli ci +log --build <build_number>
```
### Step 4发布汇总评论审查报告
```bash
gitlink-cli api POST /:owner/:repo/pulls/:id/reviews --body '{
"body": "<质量看门人报告见输出模板>",
"event": "COMMENT"
}'
```
### Step 5质量判定门禁核心
按下方「质量门禁规则」判定,达标且**用户确认后**执行合并:
```bash
# 达标 + 用户确认 → 合并(默认建议,不自动执行)
gitlink-cli pr +merge --id <pr_id> --method squash
```
---
## 质量门禁规则(决策表)
本 Skill 的灵魂:把「能否合并」从主观判断变成可量化门禁。
| 条件 | 判定 | 动作 |
|------|:----:|------|
| 0 Critical **且** CI = success | ✅ **通过** | 建议合并(确认后 `pr +merge` |
| 有 Critical任一 | 🔴 **拒绝** | 请求修改,逐条列 Critical + 文件:行号 |
| CI = failure | 🔴 **拒绝** | 请求修改,附 CI 失败日志摘要 |
| CI = pending | ⏳ **等待** | 等构建完成再判定 |
| 0 Critical + CI success + 有 Warning | 🟡 **通过(带建议)** | 合并 + 评论里列出 Warning 供后续优化 |
| 仅 Suggestion | ✅ **通过** | 合并 + 评论附优化建议 |
**安全红线**(必须 Critical不得合并
- 硬编码 Token / 密钥 / 密码
- SQL / NoSQL / 命令注入
- 路径遍历、不安全反序列化、XSS
---
## 输出模板:质量看门人报告
```markdown
## 🚪 质量看门人报告 — PR #<id> <title>
### 📊 质量判定:<✅ 通过 / 🔴 拒绝 / ⏳ 等待 CI>
| 维度 | 结果 |
|------|------|
| 变更规模 | <n> 文件,+<add> / -<del> |
| 🔴 Critical | <n> |
| 🟡 Warning | <n> |
| 🔵 Suggestion | <n> |
| CI 构建 | <success/failure/pending>build #<n> |
### 🔴 Critical必须修改
- <问题>`<file>:<line>`
> <修改建议>
### 🟡 Warning建议修改
- <问题>`<file>:<line>`
### ✅ CI 状态
- 构建 #<n><success/failure>,耗时 <duration>
- 失败原因(如有):<日志摘要>
### 📋 处置建议
<根据门禁规则合并 / 请求修改 / CI>
---
*由 gitlink-pr-guard 质量看门人自动生成*
```
---
## 工作流决策规则
| 场景 | 处理 |
|------|------|
| 用户说"帮我把关这个 PR" | 跑完整 5 步,输出报告 + 判定 |
| 用户只要 Review 不要合并 | 跑 Step 1-4跳过 Step 5指向 code-review |
| PR 是 draft 草稿 | 提示先标记 Ready for Review |
| CI 还在跑 | Step 3 返回 pending报告标 ⏳,建议稍后再判 |
| Critical 数 ≥1 | 报告标 🔴 拒绝,**不合并**,列清 Critical |
| 用户要求自动合并 | 警告风险,仅在 0 Critical + CI success 时执行,且二次确认 |
---
## 注意事项
- **合并是写操作**:默认只「建议合并」,`pr +merge` 必须用户确认后执行
- **CI 对应分支**`ci +builds` 返回多条,需按 PR 的 source_branch 匹配最新构建
- **Review 评论量控制**:最多列 3-5 个最严重问题,避免信息过载
- **草稿 PR**:先提示标记 Ready for Review
- **与 code-review 复用**Step 2 的审查逻辑直接引用 code-review SKILL.md不重复定义
- **可复现**:配套 `pr-guard-workflow.sh` 脚本可端到端复现整个流水线
## References
- [gitlink-shared](../gitlink-shared/SKILL.md) — 认证与全局参数
- [gitlink-code-review](../gitlink-code-review/SKILL.md) — Review 分析逻辑Step 2 复用)
- [gitlink-pr](../gitlink-pr/SKILL.md) — PR 命令
- [gitlink-ci](../gitlink-ci/SKILL.md) — CI 命令

View File

@ -0,0 +1,191 @@
---
name: gitlink-research-insight
version: 1.0.0
description: "科研仓库画像:采集 GitLink 科研项目数据从可复现性、活跃度、引用价值、协作健康四个维度评估输出科研评估报告与协作知识图谱。当用户提到「科研分析」「科研项目评估」「仓库画像」「可复现性」「引用价值」「科研洞悉」「research insight」时触发。"
metadata:
requires:
bins: ["gitlink-cli"]
cliHelp: "gitlink-cli repo --help"
---
# gitlink-research-insight科研仓库画像
**CRITICAL — 开始前必须先阅读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md),其中包含认证、权限处理和 API 注意事项。**
**CRITICAL — 本 Skill 为只读分析,不修改任何仓库数据。**
**CRITICAL — GitLink 操作只能用 `gitlink-cli`。禁止用 `gh`。**
> **前置条件:** 先读 [`../gitlink-shared/SKILL.md`](../gitlink-shared/SKILL.md)、[`../gitlink-health/SKILL.md`](../gitlink-health/SKILL.md)(工程健康度指标,本 Skill 在其基础上加科研视角)。
## 定位:科研辅助,与 gitlink-health 的分工
| Skill | 视角 | 核心问题 |
|-------|------|---------|
| `gitlink-health` | **工程健康度** | 这个项目维护得好不好Issue 响应、PR 效率、贡献者活跃) |
| `gitlink-research-insight`(本 Skill | **科研价值** | 这个开源科研项目**值不值得引用/复现/参与**?(可复现性、引用价值、协作网络) |
> 本 Skill 服务科研工作者:快速评估一个 GitLink 上的开源科研项目,辅助论文引用、实验复现、合作选择。
---
## 工作流概览4 步)
| 阶段 | 操作 | 命令 | 产出 |
|------|------|------|------|
| ① 数据采集 | 拉仓库全貌数据 | `repo +info/+languages/+contributors`、`issue/pr +list`、`repo +commits` | 原始数据 |
| ② 多维分析 | 按 4 维科研指标评分 | AI 计算(见指标体系) | 各维度得分 |
| ③ 协作图谱 | 构建贡献者协作网络 | AI 从贡献者/PR 数据生成 mermaid | 知识图谱 |
| ④ 生成报告 | 输出科研画像报告 | Markdown 模板 | 评估报告 |
---
## 详细工作流
### Step 1采集科研仓库数据
```bash
# 基础画像
gitlink-cli repo +info --owner <owner> --repo <repo> --format json
gitlink-cli repo +languages --owner <owner> --repo <repo> --format json
gitlink-cli repo +contributors --owner <owner> --repo <repo> --format json
gitlink-cli repo +readme --owner <owner> --repo <repo>
# 活跃度数据
gitlink-cli repo +commits --owner <owner> --repo <repo> --limit 50 --format json
gitlink-cli issue +list --owner <owner> --repo <repo> --format json
gitlink-cli pr +list --owner <owner> --repo <repo> --format json
# 合规/复现性数据
gitlink-cli repo +raw --owner <owner> --repo <repo> --path LICENSE
gitlink-cli repo +raw --owner <owner> --repo <repo> --path .gitea/workflows/ci.yml # 或 .github/workflows
gitlink-cli repo +tags --owner <owner> --repo <repo> --format json # 版本归档
```
### Step 2四维科研评分AI 分析)
#### 维度 1可复现性Reproducibility—— 科研最核心,满分 10
| 检查项 | 分值 | 判定 |
|--------|:---:|------|
| 有 CI 配置 | +2 | `.gitea/workflows``.github/workflows` 存在 |
| 依赖锁定文件 | +2 | `go.sum` / `package-lock.json` / `requirements.txt` 等存在 |
| 数据/数据获取说明 | +2 | README 提及数据集,或有 `data/` 目录 |
| 运行/环境文档 | +2 | README 有安装、运行、环境要求说明 |
| 版本归档 | +2 | 有 release 或 tag可引用特定版本 |
#### 维度 2活跃度Activity
- 近 3 个月提交频率(从 `repo +commits` 时间分布)
- Issue/PR 近期活跃数
- 贡献者增长趋势
#### 维度 3引用价值Citation-worthiness
- 有 LICENSE开源协议清晰
- 有版本归档(可引用固定版本,科研刚需)
- 文档完整README/Wiki
- 星标/关注量
#### 维度 4协作健康Collaboration
- Issue 平均响应时长
- PR 合并率
- **巴士因子**:核心贡献者提交占比(越分散越健康,集中度高=高风险)
- 贡献者协作网络(见 Step 3
### Step 3协作知识图谱
AI 从贡献者列表 + PR 协作数据,生成 mermaid 协作网络图:
```mermaid
graph LR
subgraph 核心["核心贡献者"]
A[alice]
B[bob]
end
C[carol]
D[dave]
P((<repo>))
A -->|主提交| P
B -->|主提交| P
C -->|偶发贡献| P
D -->|偶发贡献| P
A -.评审.-> C
B -.评审.-> D
```
> 协作密集度 + 核心圈识别 = 科研合作潜力评估。
### Step 4科研画像报告见输出模板
---
## 输出模板:科研仓库画像报告
```markdown
# 🔬 科研仓库画像 — <owner>/<repo>
> 一句话定性:<这是一个 [活跃维护/停滞/新兴] [领域] 科研项目[适合/谨慎/不建议] 引用与复现>
## 📊 综合评分:<⭐ x/10>
| 维度 | 得分 | 评价 |
|------|:---:|------|
| 🔁 可复现性 | <x>/10 | <能否复现实验结果> |
| 📈 活跃度 | <x>/10 | <近期维护状态> |
| 📑 引用价值 | <x>/10 | <是否适合论文引用> |
| 🤝 协作健康 | <x>/10 | <社区协作质量> |
## 📋 基础信息
| 项 | 值 |
|----|-----|
| 描述 | <description> |
| 主要语言 | <language> |
| 许可证 | <license> |
| 贡献者数 | <n> |
| 版本归档 | </最新 tag> |
## 🔁 可复现性详情(科研核心)
- CI 配置:<✅ 有 / ❌ 无>
- 依赖锁定:<✅ go.sum / ❌ 无>
- 数据说明:<✅ 有 / ❌ 无>
- 运行文档:<✅ 完整 / ⚠️ 部分 / ❌ 无>
- 版本归档:<✅ v1.x / ❌ 无>
> 可复现性结论:<他人能否独立跑出同样结果>
## 🤝 协作网络图
<mermaid 协作图谱>
- 巴士因子:<核心贡献者提交占比 X%<健康/集中风险>>
## 💡 给科研工作者的建议
1. **引用**<建议引用最新 tag vX.Y协议 XXX / 谨慎无明确版本>
2. **复现**< README + CI 可复现 / 需补充环境说明>
3. **合作**<协作网络健康可联系 @核心贡献者 / 核心圈封闭贡献门槛高>
---
*由 gitlink-research-insight 科研画像自动生成*
```
---
## 决策规则
| 场景 | 处理 |
|------|------|
| 用户说"分析这个科研项目值不值得用" | 跑完整 4 步,重点出可复现性 + 引用价值 |
| 用户只关心能否复现 | 聚焦维度 1可复现性输出 5 项检查清单 |
| 用户要做领域综述 | 建议对多个仓库重复本流程,汇总对比(衔接方向 B 热点追踪) |
| 仓库无 LICENSE / 无 README | 可复现性和引用价值直接扣分,报告标注风险 |
| 巴士因子 < 0.5核心贡献者 >50% 提交) | 协作健康标 ⚠️ 单点风险 |
---
## 注意事项
- **纯只读**:本 Skill 只采集和分析,不改任何数据
- **科研视角**:区别于 health 的工程视角,重点在可复现性/引用价值/协作网络
- **协作图谱**mermaid 图基于贡献者 + PR 协作关系AI 从数据推断
- **评分主观性**评分体系透明可调AI 给分需附判定依据(哪项 +分)
- **真实仓库验证**:选 GitLink 上一个科研类仓库(有 LICENSE/CI/数据的项目最佳)演示
- **可复现**:配套 `research-insight-workflow.sh` 脚本可端到端复现
## References
- [gitlink-shared](../gitlink-shared/SKILL.md) — 认证与全局参数
- [gitlink-health](../gitlink-health/SKILL.md) — 工程健康度(本 Skill 复用其指标并加科研视角)
- [gitlink-repo](../gitlink-repo/SKILL.md) / [gitlink-issue](../gitlink-issue/SKILL.md) / [gitlink-pr](../gitlink-pr/SKILL.md) — 数据采集命令