ios-delivery-build

daispacy's avatarfrom daispacy

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".

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 31, 2025

When & Why to Use This Skill

This Claude skill automates the iOS delivery build process by seamlessly integrating GitLab pipeline creation with intelligent issue management. It streamlines the workflow between development and QC testing by handling branch validation, build triggering, and automated status updates across multiple delivery modes, significantly reducing manual overhead for mobile engineering teams.

Use Cases

  • Automating the transition of bug fixes to the QC testing phase by automatically updating GitLab issue labels and triggering build pipelines.
  • Streamlining the final delivery process by closing completed issues with time estimates and generating production-ready builds in one workflow.
  • Managing complex development tasks where new sub-tasks need to be created while moving original issues to testing status.
  • Executing quick redeliveries for build verification without disrupting existing issue management or project metadata.
nameios-delivery-build
descriptionManage 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-toolsBash, 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