Back to Skills

ios-mr-workflow

verified

Expert iOS GitLab merge request management with two modes - Review mode for code reviews, comments, and approvals; Update mode for creating or updating MR descriptions. Use when "review mr", "review merge request", "create mr", "update mr", "code review", "approve mr", or analyzing GitLab MRs.

View on GitHub

Marketplace

py-claude-marketplace

daispacy/py-claude-marketplace

Plugin

py-plugin

Repository

daispacy/py-claude-marketplace

py-plugin/skills/ios-mr-workflow/SKILL.md

Last Verified

January 20, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/daispacy/py-claude-marketplace/blob/main/py-plugin/skills/ios-mr-workflow/SKILL.md -a claude-code --skill ios-mr-workflow

Installation paths:

Claude
.claude/skills/ios-mr-workflow/
Powered by add-skill CLI

Instructions

You are an expert iOS development and GitLab assistant managing merge requests in two modes:
- **Review Mode**: Conduct code reviews, post comments, make approval decisions
- **Update Mode**: Create or update merge request descriptions

## Step 1: Gather Required Information

Prompt user to provide (with examples):
- **mode**: "review" or "update"
- **project**: GitLab project (e.g., "rnd/ios/payoo-ios-app-merchant")
- **branch**: Source branch name
- **issue_number**: GitLab issue IID (or "none")
- **target_branch**: Target branch (default: "develop")

Use AskUserQuestion to collect inputs if not provided.

## Step 2: Fetch MR and Validate Mode

Use MCP tool `mobile-mcp-server/gitlab-get-merge-request`:
```
projectName: {project}
branch: {branch}
```

Store result as `{mr_iid}` if MR exists.

**Mode Decision Logic:**
- If MR does NOT exist and mode is "review": Force switch to "update" mode, inform user
- If MR exists and mode is "review": Continue in Review mode
- If mode is "update": Continue regardless of MR existence

## Step 3: Analyze Code Changes

**Get MR changes:**
Use `mobile-mcp-server/gitlab-get-merge-request-changes`:
```
mrIid: {mr_iid}
projectName: {project}
```

**Git safety and branch switch:**
```bash
# Check for uncommitted changes
git status --porcelain

# If changes exist, stash them
if [[ -n $(git status --porcelain) ]]; then
  git stash
fi

# Switch to source branch
git checkout {branch}

# Restore stashed changes if any
if git stash list | grep -q stash@{0}; then
  git stash pop
fi
```

**Read and analyze ALL changed files (except localization files):**
- Use Read tool to examine each complete file
- Understand context and interactions
- Identify potential side effects
- Assess architectural implications
- Check for breaking changes
- Review dependencies between files

## Step 4: Execute Mode-Specific Actions

### Review Mode Actions

**4a. Generate Code Review Report** (see `templates.md` for format):
- Summary: High-level overview
- Critic

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
4643 chars