Ios add feature
A collection of Claude Code skills for iOS, MERN, NEAN, and shared development workflows
npx -y skills add edfenton/claude-skills --skill ios-add-featureAssembled 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
PersistenceStoreprotocol (not SwiftData directly)
View pattern
@StateObjectfor owned ViewModel@EnvironmentObjectfor shared services- No business logic in views
- Accessibility labels on controls
Test pattern (Swift Testing)
struct(notXCTestCaseclass)init()for setup (notsetUp())@Test func methodName()(notest_prefix)#expect(condition)for assertions@Test(arguments:)for parameterized tests
Workflow
- Create feature folder under
Features/ - Create View with basic layout
- Create ViewModel with state and intents
- Wire up to DependencyContainer
- Create tests for ViewModel
- Run
./scripts/lint.shand 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