← 返回 Skills 市场
bondli

gitlab-commit-report

作者 bondli · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
162
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install gitlab-commit-report
功能描述
GitLab group push events collector and daily commit report generator
使用说明 (SKILL.md)

GitLab Commit Report

从 GitLab Group 的 activity 接口采集代码提交数据,支持分页拉取当天全量数据,并按需生成任意日期的提交日报。

What this skill does

This skill will:

  1. Connect to an existing Chrome browser session (with GitLab logged in)
  2. Call GitLab Group Activity API with pagination (/groups/:groupId/-/activity?limit=20&offset=N)
  3. Parse HTML response to extract push events: author, repository, commit id, commit message, timestamp
  4. Stop paginating when events older than today are encountered
  5. Merge new events into ~/openclaw-skill-data/gitlab-commit-report/YYYY-MM-DD.json with commit id deduplication
  6. On demand: aggregate statistics for any date and generate a Markdown report

Usage

When the user asks something like:

  • 采集 GitLab 今天的提交数据
  • 拉取今天的代码提交记录
  • 生成 GitLab 提交日报
  • 生成今天的代码提交报告
  • 生成某天的提交报告,比如 2026-03-18

Run:

# 采集今天的 push events(配合 cron 每小时执行)
node dist/index.js collect

# 生成今日日报
node dist/index.js report

# 生成指定日期日报
node dist/index.js report 2026-03-18

Output

The skill will generate:

~/openclaw-skill-data/gitlab-commit-report/YYYY-MM-DD.json    # 当天所有 push 事件原始数据(增量去重追加)
~/openclaw-skill-data/gitlab-commit-report/YYYY-MM-DD.md      # 指定日期提交日报

Configuration

Copy config.example.json to ~/openclaw-skill-data/gitlab-commit-report/config.json and fill in:

{
  "gitlabUrl": "https://git.corp.kuaishou.com",
  "groupId": "your-group-path",
  "groupName": "我的团队"
}

Report Content

  • 概览:提交总次数、活跃提交人数、涉及仓库数
  • Top 10 提交者排行
  • Top 5 活跃仓库排行
安全使用建议
This skill appears to do what it says: collect push events from a GitLab group and generate daily Markdown reports. Before installing or running it: - Understand browser access: it reuses an existing Chrome session (via @bondli-skills/shared's connectBrowser). Review that helper's code (not included here) to confirm it doesn't connect to remote websocket endpoints or expose more browser state than you intend. Reusing a logged-in browser profile gives the code access to any site cookies/pages in that profile. - Run in an isolated environment if you have privacy concerns (separate browser profile, container, or VM) so only the GitLab account is accessible to the skill. - Check config.json points to the intended GitLab instance (internal vs. public) and contains only the group path/name; no API keys are required. - Be aware collected data (commit messages, author names, commits) will be stored under ~/openclaw-skill-data/gitlab-commit-report/ — treat those files as potentially sensitive. - If you plan to npm/pnpm install dependencies, note Puppeteer may download Chromium; inspect package.json (e.g., unused axios) and consider auditing dependencies (notably @bondli-skills/shared) before use.
功能分析
Type: OpenClaw Skill Name: gitlab-commit-report Version: 1.0.0 The skill is a utility for collecting GitLab group activity data and generating Markdown reports. It uses Puppeteer to attach to an existing authenticated browser session and fetches data from the GitLab Activity API (e.g., git.corp.kuaishou.com). All collected data is stored locally in the user's home directory (~/openclaw-skill-data/), and there is no evidence of data exfiltration, unauthorized execution, or malicious prompt injection. The code logic in dist/collect.js and dist/utils/gitlab-api.js strictly follows the functionality described in SKILL.md.
能力评估
Purpose & Capability
Name/description match the implementation: the code uses Puppeteer to reuse a browser session, calls the Group activity endpoint, parses push events, deduplicates by commit id, writes JSON and Markdown reports to ~/openclaw-skill-data/gitlab-commit-report/. Dependencies in package.json (puppeteer/puppeteer-core, shared utilities) align with this purpose. Minor note: 'axios' appears in package.json but is unused in the distributed code.
Instruction Scope
SKILL.md and the code limit activity to visiting the configured GitLab group activity page, fetching its JSON/html via page.evaluate (fetch with credentials: 'include'), parsing push events, and storing them locally. However, the runtime requires connecting to an existing Chrome session (must be logged into GitLab). Reusing a browser session gives the running code the capability to access cookies, authenticated endpoints, and potentially other pages in that browser profile — so the actual exposure depends on the implementation of connectBrowser (provided by @bondli-skills/shared). The skill itself only fetches GitLab activity and does not send data to external endpoints.
Install Mechanism
There is no registry install spec (instruction-only skill in the registry), so nothing will be auto-downloaded by the platform. The bundle includes built JS files and package.json. If you install dependencies locally, Puppeteer may download Chromium during npm/pnpm install — that is normal but notable. No suspicious remote download URLs or archive extraction were present in the skill metadata.
Credentials
The skill declares no required environment variables or credentials. It uses the HOME environment variable to read/write files in the user's home directory and expects a local config.json with the GitLab URL and groupId. Not requesting API keys or unrelated credentials is proportionate. Be aware commit messages and other collected data are written to files under your home directory.
Persistence & Privilege
always is false and the skill does not request persistent platform privileges. It writes only to its own data directory under the user's HOME and does not modify other skills or system-wide agent configuration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install gitlab-commit-report
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /gitlab-commit-report 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of gitlab-commit-report skill. - Collects GitLab group push events by paginating the Group Activity API in a logged-in Chrome session. - Extracts key push event details: author, repository, commit id, message, and timestamp. - Saves daily raw event data with commit deduplication to JSON files. - Aggregates and generates daily Markdown reports with commit stats, top authors, and top repositories. - Supports cron scheduling and on-demand reports for any date. - Configurable via a JSON file for GitLab URL, group path, and team name.
元数据
Slug gitlab-commit-report
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

gitlab-commit-report 是什么?

GitLab group push events collector and daily commit report generator. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 162 次。

如何安装 gitlab-commit-report?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install gitlab-commit-report」即可一键安装,无需额外配置。

gitlab-commit-report 是免费的吗?

是的,gitlab-commit-report 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

gitlab-commit-report 支持哪些平台?

gitlab-commit-report 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 gitlab-commit-report?

由 bondli(@bondli)开发并维护,当前版本 v1.0.0。

💬 留言讨论