agentsclimarketplace

Ios add feature

Skill edfenton/claude-skills/ios/ios-add-feature

A collection of Claude Code skills for iOS, MERN, NEAN, and shared development workflows

Install
npx -y skills add edfenton/claude-skills --skill ios-add-feature

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Scaffold a new feature with View, ViewModel, and tests following ios-std conventions.

SKILL.md

2.5 KB, as published. Nobody here has run it

Purpose

Add a complete feature module to an existing iOS project with View, ViewModel, and tests.

Arguments

  • feature-name — Feature name in PascalCase (e.g., Settings, UserProfile)
  • --with-detail — Include detail view for drill-down
  • --with-form — Include form/edit view
  • --no-tests — Skip test file generation

What gets created

Default

Features/<Feature>/
├── <Feature>View.swift           # Main view
├── <Feature>ViewModel.swift      # ViewModel with state + intents
└── <Feature>Row.swift            # List row component (if list-based)

Tests/UnitTests/
└── <Feature>ViewModelTests.swift # ViewModel tests

With --with-detail

Features/<Feature>/
├── <Feature>View.swift
├── <Feature>ViewModel.swift
├── <Feature>DetailView.swift     # Detail view
└── <Feature>DetailViewModel.swift

With --with-form

Features/<Feature>/
├── <Feature>View.swift
├── <Feature>ViewModel.swift
├── <Feature>FormView.swift       # Create/edit form
└── <Feature>FormViewModel.swift

Conventions

File naming

  • Views: <Feature>View.swift
  • ViewModels: <Feature>ViewModel.swift
  • Rows/cells: <Feature>Row.swift
  • Tests: <Feature>ViewModelTests.swift

ViewModel pattern

  • @MainActor final class
  • @Published private(set) for state
  • Public methods for intents
  • Dependencies injected via init
  • Uses PersistenceStore protocol (not SwiftData directly)

View pattern

  • @StateObject for owned ViewModel
  • @EnvironmentObject for shared services
  • No business logic in views
  • Accessibility labels on controls

Test pattern (Swift Testing)

  • struct (not XCTestCase class)
  • init() for setup (not setUp())
  • @Test func methodName() (no test_ prefix)
  • #expect(condition) for assertions
  • @Test(arguments:) for parameterized tests

Workflow

  1. Create feature folder under Features/
  2. Create View with basic layout
  3. Create ViewModel with state and intents
  4. Wire up to DependencyContainer
  5. Create tests for ViewModel
  6. Run ./scripts/lint.sh and tests to verify

Output

Summarize: files created, how to access the feature, test coverage.

Reference

For templates and patterns, see reference/ios-add-feature-reference.md

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.