From 4cd7a8918b1e0bbafd45beab261aa8d83c5cc946 Mon Sep 17 00:00:00 2001 From: NeeNe <26158277@qq.com> Date: Fri, 10 Jul 2026 16:40:28 +0800 Subject: [PATCH] fix(skills): complete research skill metadata --- internal/i18n/locales/en-US.json | 1 + internal/i18n/locales/zh-CN.json | 1 + scripts/validate-research-skills.py | 6 ++++++ skills/gitlink-research-artifact-handbook/SKILL.md | 6 +++++- skills/gitlink-research-collaboration-map/SKILL.md | 5 +++++ skills/gitlink-research-compliance/SKILL.md | 6 +++++- skills/gitlink-research-data-provenance/SKILL.md | 6 +++++- skills/gitlink-research-knowledge-graph/SKILL.md | 5 +++++ skills/gitlink-research-progress-tracker/SKILL.md | 5 +++++ skills/gitlink-research-reproducibility/SKILL.md | 6 +++++- 10 files changed, 43 insertions(+), 4 deletions(-) diff --git a/internal/i18n/locales/en-US.json b/internal/i18n/locales/en-US.json index 0739395..da75590 100644 --- a/internal/i18n/locales/en-US.json +++ b/internal/i18n/locales/en-US.json @@ -34,6 +34,7 @@ "cmd.dataset.view.short": "View a repository's dataset", "cmd.doctor.long": "Run local diagnostics for gitlink-cli configuration, authentication, repository context and API connectivity.", "cmd.doctor.short": "Diagnose gitlink-cli environment problems", + "cmd.ignore.short": "Ignore file template operations", "cmd.issue.batch_close.long": "Close filtered issues in bulk.\n\nThis command defaults to dry-run mode and only prints matching issues.\nPass --yes to execute remote close operations. Use restrictive filters and a small limit.\n\nExamples:\n gitlink-cli issue +batch-close --owner Gitlink --repo gitlink-cli --older-than-days 60 --limit 20\n gitlink-cli issue +batch-close --owner Gitlink --repo gitlink-cli --older-than-days 60 --limit 20 --yes", "cmd.issue.batch_close.short": "Close filtered issues in bulk. Defaults to dry-run; pass --yes to execute.", "cmd.issue.batch_label.long": "Add a label to filtered issues in bulk.\n\nThis command defaults to dry-run mode and only prints matching issues.\nPass --yes to execute remote label operations. The current implementation does not fake label writes when the API endpoint is unavailable.\n\nExamples:\n gitlink-cli issue +batch-label --owner Gitlink --repo gitlink-cli --add-label stale --older-than-days 30 --limit 50\n gitlink-cli issue +batch-label --owner Gitlink --repo gitlink-cli --add-label stale --older-than-days 30 --limit 50 --yes", diff --git a/internal/i18n/locales/zh-CN.json b/internal/i18n/locales/zh-CN.json index 2e6fc4d..ae901ef 100644 --- a/internal/i18n/locales/zh-CN.json +++ b/internal/i18n/locales/zh-CN.json @@ -34,6 +34,7 @@ "cmd.dataset.view.short": "查看仓库数据集", "cmd.doctor.long": "诊断 gitlink-cli 的配置、认证、仓库上下文和 API 连通性问题。", "cmd.doctor.short": "诊断 gitlink-cli 环境问题", + "cmd.ignore.short": "忽略文件模板操作", "cmd.issue.batch_close.long": "批量关闭筛选后的议题。\n\n该命令默认处于 dry-run 模式,只打印匹配的议题。\n传入 --yes 后执行远端关闭操作。请使用严格筛选条件和较小 limit。\n\n示例:\n gitlink-cli issue +batch-close --owner Gitlink --repo gitlink-cli --older-than-days 60 --limit 20\n gitlink-cli issue +batch-close --owner Gitlink --repo gitlink-cli --older-than-days 60 --limit 20 --yes", "cmd.issue.batch_close.short": "批量关闭筛选后的议题。默认 dry-run;传入 --yes 后执行。", "cmd.issue.batch_label.long": "给筛选后的议题批量添加标签。\n\n该命令默认处于 dry-run 模式,只打印匹配的议题。\n传入 --yes 后执行远端标签操作。当前实现不会在 API 端点不可用时伪造写入结果。\n\n示例:\n gitlink-cli issue +batch-label --owner Gitlink --repo gitlink-cli --add-label stale --older-than-days 30 --limit 50\n gitlink-cli issue +batch-label --owner Gitlink --repo gitlink-cli --add-label stale --older-than-days 30 --limit 50 --yes", diff --git a/scripts/validate-research-skills.py b/scripts/validate-research-skills.py index 277ffdd..f8bc619 100644 --- a/scripts/validate-research-skills.py +++ b/scripts/validate-research-skills.py @@ -98,6 +98,12 @@ def validate_skill(root: Path, name: str, spec: dict[str, list[str]]) -> None: if frontmatter.get("name") != name: fail(f"{skill_md} 的 name 字段错误:{frontmatter.get('name')}") + if not re.fullmatch(r"\d+\.\d+\.\d+", frontmatter.get("version", "")): + fail(f"{skill_md} 的 version 必须使用 x.y.z 格式") + if "gitlink-cli" not in frontmatter.get("bins", ""): + fail(f"{skill_md} 的 metadata.requires.bins 缺少 gitlink-cli") + if not frontmatter.get("cliHelp", "").startswith("gitlink-cli "): + fail(f"{skill_md} 的 cliHelp 必须以 gitlink-cli 开头") description = frontmatter.get("description", "") if len(description) < 30: fail(f"{skill_md} 的 description 过短") diff --git a/skills/gitlink-research-artifact-handbook/SKILL.md b/skills/gitlink-research-artifact-handbook/SKILL.md index b956032..95f08af 100644 --- a/skills/gitlink-research-artifact-handbook/SKILL.md +++ b/skills/gitlink-research-artifact-handbook/SKILL.md @@ -1,6 +1,11 @@ --- name: gitlink-research-artifact-handbook +version: 0.1.0 description: "科研成果沉淀手册生成:基于 GitLink 仓库 README、目录结构、Release、Issue、PR、贡献者和语言信息,生成面向答辩、开源发布或课题组交接的科研成果手册。用于梳理代码、实验、论文、数据、贡献和复现入口。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli repo --help" --- # gitlink-research-artifact-handbook @@ -70,4 +75,3 @@ gitlink-cli release +list --owner --repo --format json - 对 Issue/PR 只做摘要,不贴完整讨论。 - 如果仓库没有 Release,建议使用 Release 固化阶段成果。 - 如果根目录 README 已完整,保留其结构并补交接清单;如果 README 很弱,按模板重建手册。 - diff --git a/skills/gitlink-research-collaboration-map/SKILL.md b/skills/gitlink-research-collaboration-map/SKILL.md index 6d52289..bdd95ae 100644 --- a/skills/gitlink-research-collaboration-map/SKILL.md +++ b/skills/gitlink-research-collaboration-map/SKILL.md @@ -1,6 +1,11 @@ --- name: gitlink-research-collaboration-map +version: 0.1.0 description: "科研协作画像与合作建议:分析 GitLink 科研仓库的贡献者、Issue、PR、语言和用户信息,识别核心维护者、潜在协作者、未响应研究问题和协作分工建议。用于课题组协作复盘、跨团队合作匹配和学生贡献画像。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli repo --help" --- # gitlink-research-collaboration-map diff --git a/skills/gitlink-research-compliance/SKILL.md b/skills/gitlink-research-compliance/SKILL.md index c351c58..a5bd215 100644 --- a/skills/gitlink-research-compliance/SKILL.md +++ b/skills/gitlink-research-compliance/SKILL.md @@ -1,6 +1,11 @@ --- name: gitlink-research-compliance +version: 0.1.0 description: "科研开源合规与敏感风险检查:审计 GitLink 科研仓库的许可证、SECURITY、CONTRIBUTING、依赖声明和敏感文件风险。用于开源发布前预检查、论文代码发布合规清单和整改建议。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli repo --help" --- # gitlink-research-compliance @@ -74,4 +79,3 @@ gitlink-cli api GET ///sub_entries --query 'filepath=&ref=' - 不要下载或展示疑似密钥内容,只报告路径和风险类型。 - 如果只能获取根目录文件树,报告必须说明深层敏感文件未覆盖。 - 私有仓库需要用户自行完成认证,不能要求用户粘贴 Token。 - diff --git a/skills/gitlink-research-data-provenance/SKILL.md b/skills/gitlink-research-data-provenance/SKILL.md index aeb97ee..7ae16fa 100644 --- a/skills/gitlink-research-data-provenance/SKILL.md +++ b/skills/gitlink-research-data-provenance/SKILL.md @@ -1,6 +1,11 @@ --- name: gitlink-research-data-provenance +version: 0.1.0 description: "科研数据来源与隐私审计:检查 GitLink 科研仓库中的数据集说明、下载来源、引用链、隐私风险、数据许可证和大文件痕迹。用于论文代码发布前的数据治理、复现实验数据说明和科研合规预审。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli repo --help" --- # gitlink-research-data-provenance @@ -76,4 +81,3 @@ gitlink-cli repo +tree --owner --repo --path docs --ref - 发现 `patient`、`student`、`email`、`phone`、`idcard`、`address`、`face`、`medical` 等词时,标注隐私复核风险。 - 如果仓库只包含数据下载脚本,检查脚本是否说明下载地址、数据许可证和引用方式。 - 无法确认的事项标注“未确认”,不要编造数据来源。 - diff --git a/skills/gitlink-research-knowledge-graph/SKILL.md b/skills/gitlink-research-knowledge-graph/SKILL.md index 38d63c0..8265976 100644 --- a/skills/gitlink-research-knowledge-graph/SKILL.md +++ b/skills/gitlink-research-knowledge-graph/SKILL.md @@ -1,6 +1,11 @@ --- name: gitlink-research-knowledge-graph +version: 0.1.0 description: "科研热点追踪与轻量知识图谱:按关键词搜索 GitLink 科研仓库,聚合仓库、语言、贡献者、Issue/PR 主题和研究方向,输出趋势分析、图谱节点边和选题建议。用于科研选题、技术生态调研和领域知识图谱构建。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli search --help" --- # gitlink-research-knowledge-graph diff --git a/skills/gitlink-research-progress-tracker/SKILL.md b/skills/gitlink-research-progress-tracker/SKILL.md index 1868989..56a5ab1 100644 --- a/skills/gitlink-research-progress-tracker/SKILL.md +++ b/skills/gitlink-research-progress-tracker/SKILL.md @@ -1,6 +1,11 @@ --- name: gitlink-research-progress-tracker +version: 0.1.0 description: "科研项目进度跟踪与预警:基于 GitLink Issue、PR、Release、贡献者和仓库更新时间生成课题组周报、停滞风险、开放问题队列和下一步建议。用于科研项目管理、中期检查和例会汇报。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli issue --help" --- # gitlink-research-progress-tracker diff --git a/skills/gitlink-research-reproducibility/SKILL.md b/skills/gitlink-research-reproducibility/SKILL.md index 4580908..004de01 100644 --- a/skills/gitlink-research-reproducibility/SKILL.md +++ b/skills/gitlink-research-reproducibility/SKILL.md @@ -1,6 +1,11 @@ --- name: gitlink-research-reproducibility +version: 0.1.0 description: "科研仓库复现性审计:检查 GitLink 科研、论文复现、实验代码仓库是否具备 README、LICENSE、依赖清单、测试入口、CI、示例和数据/实验说明。用于生成复现性评分、缺失项和整改建议。" +metadata: + requires: + bins: ["gitlink-cli"] + cliHelp: "gitlink-cli repo --help" --- # gitlink-research-reproducibility @@ -87,4 +92,3 @@ gitlink-cli repo +tree --owner --repo --path docs --ref - 复现性评分是工程辅助判断,不等同于论文质量评价。 - GitLink 平台 API 可能返回字段差异,缺失字段时用“未知”而不是编造。 - 如果仓库是镜像仓库,需标注 GitLink 内协作数据可能不代表原平台活跃度。 -