What problem does it solve? Contributing fixes to the upstream GitLab API client library (gitlab.com/gitlab-org/api/client-go) involves many non-obvious conventions: community-fork branching, conventional-commit titles with file scopes, bot commands for labels and reviewers, and rate limits that silently drop fields for non-member accounts. This Skill encodes all of those rules so a contribution merges cleanly instead of stalling. ## Core Features & Use Cases - Merge request workflow: Push branches to the community fork, open merge requests against the upstream project with conventional-commit titles, the project's three description headings, and a Related to link to the umbrella drift issue. - Bot automation handling: Request type:: labels and code-owner reviews via @gitlab-bot comments, while respecting rate limits, prepared_at timing, and fields silently dropped for non-member accounts. - Code and documentation compliance: Enforce the upstream review rubric (int64, any, PathEscape, doc comments, testify tests) and open matching documentation merge requests against gitlab-org/gitlab when a field is also missing from doc/api/. - Use Case: You discover the client-go Topic struct is missing organization_id. This Skill walks you through verifying the gap, recording it in the upstream-bugs register, opening a correctly shaped merge request, updating issue 2300, and retiring your local workaround after the release ships. ## Quick Start Use the upstream-contribution skill to open a merge request adding the missing field I found in the client-go Topic struct.