---
title: "Workflow: Add a Feature to an Existing iOS App"
description: "<required_reading> **Read these NOW:** 1. references/app-architecture.md 2. references/swiftui-patterns.md"
type: skill
canonical_url: https://claudary.paisolsolutions.com/skills/add-feature-1
source: "Claudary"
difficulty: intermediate
author: "Claude Code Knowledge Pack"
date: 2026-07-10T10:59:13.160Z
license: CC-BY-4.0
attribution: "Workflow: Add a Feature to an Existing iOS App — Claudary (https://claudary.paisolsolutions.com/skills/add-feature-1)"
---

# Workflow: Add a Feature to an Existing iOS App
<required_reading> **Read these NOW:** 1. references/app-architecture.md 2. references/swiftui-patterns.md

## Overview

# Workflow: Add a Feature to an Existing iOS App

<required_reading>
**Read these NOW:**
1. references/app-architecture.md
2. references/swiftui-patterns.md

**Plus relevant refs based on feature** (see Step 2).
</required_reading>

<process>
## Step 1: Understand the Feature

Ask:
- What should it do?
- Where does it belong in the app?
- Any constraints?

## Step 2: Read Relevant References

| Feature Type | Reference |
|--------------|-----------|
| Data persistence | references/data-persistence.md |
| Networking/API | references/networking.md |
| Push notifications | references/push-notifications.md |
| In-app purchases | references/storekit.md |
| Background tasks | references/background-tasks.md |
| Navigation | references/navigation-patterns.md |
| Polish/UX | references/polish-and-ux.md |

## Step 3: Understand Existing Code

Read:
- App entry point
- State management
- Related views

Identify patterns to follow.

## Step 4: Implement with TDD

1. Write test for new behavior → RED
2. Implement → GREEN
3. Refactor
4. Repeat

## Step 5: Integrate

- Wire up navigation
- Connect to state
- Handle errors

## Step 6: Build and Test

```bash
xcodebuild -scheme AppName -destination 'platform=iOS Simulator,name=iPhone 16' build test
xcrun simctl launch booted com.company.AppName
```

## Step 7: Polish

- Haptic feedback for actions
- Animations for transitions
- Accessibility labels
- Dynamic Type support
</process>

<integration_patterns>
**Adding state:**
```swift
@Observable
class AppState {
    var newFeatureData: [NewType] = []
    func performNewFeature() { ... }
}
```

**Adding a view:**
```swift
struct NewFeatureView: View {
    @Environment(AppState.self) private var appState
    var body: some View { ... }
}
```

**Adding navigation:**
```swift
NavigationLink("New Feature", value: NewFeatureDestination())
.navigationDestination(for: NewFeatureDestination.self) { _ in
    NewFeatureView()
}
```

**Adding a tab:**
```swift
TabView {
    NewFeatureView()
        .tabItem { Label("New", systemImage: "star") }
}
```
</integration_patterns>

---

Source: [Claudary](https://claudary.paisolsolutions.com/skills/add-feature-1) · https://claudary.paisolsolutions.com
