Step-by-Step Action Plan to Hit GitLab Level 4 (7,500 Points)
-
Current Score:
3,868 points(Level 3) -
Target Score:
7,500 points(Level 4) -
Points Needed:
3,632 points
Step 1: Cash In Your 10 Already-Open MRs (+1,100 Points)
You already did 95% of the work on 10 open MRs—and all 10 have green pipelines (success). Don't leave these points on the table.
1A. Fix the 3 MRs Waiting on You (Today — 30 mins total)
-
gitlab!261178 (+110 pts)
-
What to do: Delete the 1 noisy spec block at
spec/lib/security/ci_configuration/secret_detection_build_action_spec.rb:189that@ashvinsasked to remove. -
Finish: Push commit, resolve thread, comment
@gitlab-bot ready @ashvins.
-
What to do: Delete the 1 noisy spec block at
-
gitlab!262103 (+110 pts)
-
What to do: Apply
@erran's exact inline suggestion onshellescape_ref(remove the 2 top-level regex constants, add the NUL check, inline[^A-Za-z0-9_\-.,:+\/@\n[:^ascii:]]) and add thesh -c "printf %s ..."round-trip test. -
Finish: Push commit, resolve
@erran's threads, reply to@cbonk&@erran.
-
What to do: Apply
-
gitlab!262558 (+110 pts)
-
What to do: Add
Changelog: addedto the commit message, add 1 test checking the file is deleted from storage incleanup_stale_spec_files_worker_spec.rb, paste@jnutt's SQL query plan into the MR description, and setwork_item: https://gitlab.com/gitlab-org/gitlab/-/work_items/633765in the YAML file. -
Finish: Push commit, resolve threads, ping
@shameed3&@jnutt.
-
What to do: Add
1B. Nudge Maintainers on the 2 Approved MRs That Are Stalled (Today — 5 mins)
-
gitlab!261030 (+110 pts) — Already approved by
@ngala. Comment:@gitlab-bot readyor politely ping@mbenayounfor maintainer merge. -
gitlab!261025 (+110 pts) — Already approved by
@jannik_lehmann. Comment@gitlab-bot readyto get a backend maintainer assigned to click Merge.
(Your other 5 open MRs — !4407, !4406, !262418, !261174, CNG!3156 — are already with reviewers/maintainers and will bring in another *~550 pts** as they merge.)*
Score After Step 1:
3,868 + 1,100 = ~4,968 points(~2,532 points left)
Step 2: Claim High-Multiplier community-bonus Issues (+1,000 Points)
Instead of doing ten small MRs, do 3 bonus-labeled issues where a single merge pays 230–430 points.
-
Click to Self-Assign First (Rule: Never write code before assigning):
-
gitlab#635913 — MCP tool to list pipeline schedules (
community-bonus::200= ~330 pts) -
gitlab#628563 — Fix concurrent mobile push subscription limit (
community-bonus::100= ~230 pts) -
gitlab#457538 — Show parent-child relationships in iteration report (
community-bonus::300= ~430 pts)
-
gitlab#635913 — MCP tool to list pipeline schedules (
- Verify 0 Competing MRs: Already verified — none of these 3 have an open MR.
-
Link the Issue in Every MR Description: Always write
Closes #<issue_iid>in the MR description so you get the+30 ptlinked-issue bonus on top of the bonus label.
Score After Step 2:
4,968 + 990 = ~5,958 points(~1,542 points left)
Step 3: Batch 8 Fast MCP Server MRs in gitlab-org/gitlab (+1,040 Points)
The GitLab MCP Server (app/services/mcp/ and lib/api/mcp/) is small, self-contained Ruby code with fast RSpec tests and the exact same AI Foundations reviewers every time.
Pick up these 4 unassigned MCP issues first (each worth ~130 pts):
-
Assign #632547 — Accept
query/search_termaliases in MCPsearchtool (15-line change + spec). - Assign #635931 — List unknown and accepted parameter names in MCP validation errors.
-
Assign #632622 — Allow MCP
save_noteto edit an existing comment whennote_idis passed. -
Assign #604238 — Add
create_merge_request_pipelineMCP tool.
Then do 4 more from the same MCP list (#635916, #635915, #635910, #635909).
-
8 Merged MCP MRs × 130 pts =
+1,040 points.
Score After Step 3:
5,958 + 1,040 = ~6,998 points(~502 points left)
Step 4: Close the Final 500 Points via ai-assist, gitlab-lsp & Technical Posts
Finish the last ~500 points using whichever of these two paths is fastest that week:
-
Option A (4 Fast Code MRs in
ai-assist/gitlab-lsp= +520 pts):-
Assign ai-assist#3375 — Module boundary migration
ai/platform/flow_engine/ -
Assign ai-assist#3422 — Fix
TypeError: string indices must be integersin DWS -
Assign ai-assist#3370 — Fix unrecognized message part
ValueErrorin DWS - Assign gitlab-lsp#3381 — Forward needed environment to sandboxed commands
-
Assign ai-assist#3375 — Module boundary migration
-
Option B (2 Technical Blog Posts + 1 MR = +530 pts):
- Submit 2 deep-dive GitLab technical articles (MCP Server / Duo CLI architecture) for
+200 ptseach (+400 ptstotal) + 1 merged MR (+130 pts).
- Submit 2 deep-dive GitLab technical articles (MCP Server / Duo CLI architecture) for
Score After Step 4:
7,518+ points→ LEVEL 4 UNLOCKED 🏆
Step 5: Daily Checklist (How to Work with Your AI Agent Every Day)
Every time you sit down for a session, run this exact 4-part loop:
- Morning Check (10 mins): Ask the agent: "Check my open GitLab MRs for any new reviewer comments or pipeline failures and fix them immediately." (Reviewers merge fastest when you reply within a few hours.)
-
Claim 1–2 Issues: Click the
contributors.gitlab.com/manage-issuelink to self-assign before coding. -
Local Test Before Push:
- Ruby (
gitlab):bundle exec rubocop <files>andbundle exec rspec <spec> - TypeScript (
gitlab-lsp):npm test -- <test_file> - Python (
ai-assist):poetry run pytest <test_file>andpoetry run flake8
- Ruby (
-
Open MR & Request Review: Include
Closes #<iid>in the description, wait for CI to turn green, then comment@gitlab-bot ready.
Top comments (2)
Interesting roadmap. I like the focus on contributing consistently rather than relying on a few large contributions.
One thing I'd add is that contribution points should be treated as a byproduct of meaningful work, not the main goal. Understanding the codebase, writing reliable tests, and addressing reviewer feedback are what make contributions valuable in the long run.
It would also be worth verifying how the points are awarded and whether pending or merged MRs qualify before estimating the timeline. 🚀
We are both working on contribution as well as code review, verification, and testing all back to back. If this feels good to you, you can follow this page. I'll share a new approach that can be agentically orchestrated.