GitLab Agent Profile Skill
Use this skill to keep the GitLab agent profile assets current with monthly contribution performance statistics.
Goal
Maintain static profile assets for the agent with:
- Static SVG and WebP chart files showing the last 12 months of merged merge requests, owner direct commits to
main, and contribution score. - Categories for owner-authored work, agent-authored work with owner review/merge, agent-authored work without owner review/merge, and the combined total.
- A legend and bar labels with the exact counts behind the chart.
- A JSON proof file with the counted records sorted by date descending.
Daily update routine
Create or keep a daily cron that runs the bundled script:
{baseDir}/scripts/update-profile-stats.py
Recommended cron payload:
Read the gitlab-agent-profile skill, run its `{baseDir}/scripts/update-profile-stats.py` helper, and commit/push the generated image/proof assets if they changed.
Inputs
The script accepts these environment variables:
GITLAB_AGENT_PROFILE_CHART_OUTPUT: Static SVG chart file to update. Defaults toassets/gitlab-agent-profile.svg.GITLAB_AGENT_PROFILE_WEBP_OUTPUT: Static WebP chart file to update. Defaults toassets/gitlab-agent-profile.webp.GITLAB_AGENT_PROFILE_RECORDS_OUTPUT: JSON proof file to update. Defaults toassets/gitlab-agent-profile-records.json.GITLAB_AGENT_PROFILE_WORKSPACE: Workspace root used for relative output paths. Defaults to the current directory.GITLAB_AGENT_PROFILE_ROOT_GROUP: Root group used to expand short project names. Defaults toxrow-public.GITLAB_AGENT_PROFILE_PROJECTS: Space, comma, or newline separated project paths or project names. Defaults tohelm-openclaw ci-tools claw-support.GITLAB_AGENT_PROFILE_AGENT_USERNAME: Agent username. Defaults to the authenticatedglabuser.GITLAB_AGENT_PROFILE_OWNER_USERNAME: Owner username. Defaults toxrow.GITLAB_AGENT_PROFILE_MONTHS: Number of months to render. Defaults to12.
Relative output values are resolved from GITLAB_AGENT_PROFILE_WORKSPACE.
Project names without / are expanded with GITLAB_AGENT_PROFILE_ROOT_GROUP, so ci-tools becomes xrow-public/ci-tools.
Classification
For merged merge requests:
- Owner: author username matches
GITLAB_AGENT_PROFILE_OWNER_USERNAME. - Agent + reviewer: author username matches
GITLAB_AGENT_PROFILE_AGENT_USERNAMEand the owner is a reviewer or merge user. - Agent (autonomous): author username matches
GITLAB_AGENT_PROFILE_AGENT_USERNAMEand the owner is neither reviewer nor merge user. - Merged total: sum of the three MR categories.
- Direct owner commits: commits on
mainauthored or committed by the owner that are not known MR merge/squash commits and do not start withskip:,skip(...),chore:,chore(...),docs:,docs(...), orrevert. - MRs with
type::fixortype::featurelabels count toward MR totals and contribution score. - If a merged MR has no type label, a Conventional Commit title beginning with
fix:/fix(...)orfeat:/feat(...)is used as a fallback type. - MRs beginning with
skip:,skip(...),chore:,chore(...),docs:, ordocs(...)are never counted, even if they have a counted type label. - MR contribution score: each counted MR starts at
1point and is multiplied by its size factor. - Size factor:
size::small=1,size::medium=2,size::large=3,size::xlarge=5; missing size labels default to1. - Direct owner commits count
0.2point each.
The script ignores merge requests authored by other users.
微信扫一扫