gitlab-mr-review
Review a GitLab merge request: fetch MR (default repo = project name), analyze the diff, and optionally post review comments. Use when asked to review an MR, do a code review on GitLab, or when the user wants MR feedback. Triggers on: review MR, review merge request, review this MR, code review GitLab, glab mr review.
What this skill does
# GitLab Merge Request Review
Perform a code review on a GitLab merge request. Prefer **glab MCP** for fetching MR data; use **glab CLI** when MCP is unavailable.
---
## Repo and MR Resolution
### Default repo
- **Default:** The GitLab project is assumed to be the **same as the current project name** (e.g. workspace or repo directory name).
- If the current directory is a Git repo with a GitLab remote, use that to infer `namespace/project` when possible.
### When repo is missing or wrong
If any of these are true:
- Not in a Git repo, or
- No GitLab remote, or
- The MR to review is in a **different** project,
then **ask the user** for:
- **Repo:** GitLab project path (`namespace/project` or full path), or the repo URL.
- **MR:** Merge request IID (e.g. `42`) or branch name, if not the current branch.
Do not guess the repo; ask once you know the default does not apply or cannot be determined.
---
## Workflow
1. **Resolve repo**
- Use default (project name / current GitLab remote).
- If not available or not the target repo, ask user for repo (and MR if needed).
2. **Resolve MR**
- Prefer the merge request for the **current branch**.
- If user specified an MR IID or branch, use that.
- If none can be determined, ask for MR IID or branch.
3. **Fetch MR data**
- **MCP:** Use glab MCP tools to get MR details and diff (e.g. view MR, get diff).
- **CLI:** `glab mr view [MR_IID]` and `glab mr diff [MR_IID]` (omit MR_IID when one MR is in context for current branch).
- Ensure you have the full diff and title/description before reviewing.
4. **Perform the review**
- Analyze the diff for:
- Correctness and logic
- Security and data handling
- Style, naming, and structure
- Tests and edge cases
- Docs and comments where relevant
- Produce a concise review: summary, list of findings (with file/line or hunk context), and suggestions.
5. **Optional: post as MR comment**
- **Only after user confirmation.** Do not post to GitLab until the user explicitly agrees.
- **MCP:** Use the tool to add a comment (e.g. MR note) with the review text.
- **CLI:** `glab mr note [MR_IID] --message "..."` with the review body (escape or quote appropriately).
---
## Getting MR data
- **MCP:** Use available glab MCP tools to:
- List or get the current/specified MR
- Retrieve the MR diff
- **CLI (from repo with glab auth):**
- `glab mr view` - view MR for current branch (or `glab mr view <IID>`)
- `glab mr diff` - diff for current branch MR (or `glab mr diff <IID>`)
- If repo is different: `glab mr view -R namespace/project <IID>` and `glab mr diff -R namespace/project <IID>`
---
## Review output format
1. **Summary:** 2-4 sentences on what the MR does and overall assessment.
2. **Findings:** Group by severity or category (e.g. "Blocking", "Suggestions", "Nits").
- For each item: file (and line/hunk if possible), issue, and suggested change or question.
3. **Conclusion:** Approve / approve with comments / request changes (or equivalent), and any follow-up steps.
Keep the review actionable: clear, specific, and tied to the diff.
---
## Checklist
- [ ] Repo resolved (default = project name; else asked user for repo)
- [ ] MR resolved (current branch or user-specified IID/branch)
- [ ] MR details and full diff fetched (MCP or CLI)
- [ ] Review written with summary, findings with context, and conclusion
- [ ] If posting comment: user confirmed; then used MCP or `glab mr note`
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.