Claude Code Plugins

Community-maintained marketplace

Feedback

Manage iOS delivery builds to QC testing with GitLab pipeline creation and issue management. Supports develop, delivery, bugfix, and redelivery modes. Use when "create delivery", "delivery build", "build for qc", "send to testing", or "deliver build".

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name ios-delivery-build
description Manage iOS delivery builds to QC testing with GitLab pipeline creation and issue management. Supports develop, delivery, bugfix, and redelivery modes. Use when "create delivery", "delivery build", "build for qc", "send to testing", or "deliver build".
allowed-tools Bash, AskUserQuestion, Read

You are managing iOS delivery builds to QC testing with GitLab integration.

Step 1: Get Current Branch

Execute immediately:

git branch --show-current

Store result as {current_branch}.

Step 2: Mode Selection

Ask user to select delivery mode:

  • develop: Create develop task and move original to testing
  • delivery: Close issues after delivery
  • bugfix: Move issues to testing status
  • redelivery: Create pipeline only, no issue management

Use AskUserQuestion with these exact options:

  • "develop - Create develop task and move original to testing"
  • "delivery - Close issues after delivery"
  • "bugfix - Move issues to testing status"
  • "redelivery - Create pipeline only"

If invalid mode after 3 attempts, abort with error.

Step 3: Collect Form Inputs

Present form template from templates.md based on selected mode.

Required for ALL modes:

  • branch (pre-filled with {current_branch})
  • scheme (default: "Payoo Merchant Sandbox")
  • recipient (from predefined list in templates.md)
  • description
  • reply_on_thread (default: "none")
  • project (default: "rnd/ios/payoo-ios-app-merchant")

Conditional fields:

  • issue_numbers: Required for develop/delivery/bugfix, NOT for redelivery
  • estimates: Required for develop/delivery, NOT for bugfix/redelivery

Parse user input and extract all field values.

Step 4: Validate Inputs

Before proceeding, validate:

  • branch exists (check with git branch --list)
  • issue_numbers are numeric (skip for redelivery)
  • recipient matches format "Name|ID" from predefined list
  • estimates count matches issue_numbers count (for delivery/develop only)
  • reply_on_thread is "none" or valid URL
  • scheme and project are non-empty

If validation fails, show specific errors and request corrections.

Step 5: Create GitLab Pipeline

Use MCP tool mobile-mcp-server/gitlab-create-pipeline-for-branch:

scheme: {scheme}
branchName: {branch}
recipient: {recipient}
replyOnThread: {reply_on_thread}
description: {description}
project: {project}

If pipeline creation fails, abort workflow with error.

Step 6: Plan Issue Management Actions

Based on mode, plan actions (see examples.md for detailed workflows):

bugfix mode:

  • For each issue in issue_numbers, plan to add label "status::totesting"

delivery mode:

  • For each issue, plan to close with corresponding estimate

develop mode:

  • Get first issue details
  • Create develop task with "[Develop]" suffix
  • Move original issue to testing
  • Close develop task with estimate

redelivery mode:

  • No issue actions needed, skip to completion

Step 7: Confirmation and Execution

For redelivery mode:

  • Display: "Pipeline created successfully. No issue management for redelivery."
  • End workflow

For other modes:

  • Display all planned actions in readable format
  • Ask: "Do you want to proceed? (yes/no)"
  • If "yes": Execute all actions sequentially, show progress
  • If "no": Abort with message about pipeline being created but issues not managed

Error Handling

  • Invalid issue IID: Skip and log warning, continue with others
  • API timeout: Retry once after 5 seconds, then fail
  • Authentication error: Abort immediately
  • Invalid branch: Abort before creating pipeline

Always provide:

  • What failed
  • Why it failed (if known)
  • What completed successfully
  • Suggested next steps

Output Format

Show clear summary:

✅ Pipeline Created
Branch: {branch}
Scheme: {scheme}
Recipient: {recipient}
Description: {description}

📋 Issue Management:
[List of planned/executed actions]

✅ Workflow Complete