update-domain-model

Update domain models and SwiftData persistence layers for TMDb SDK changes.

1|Updated Dec 8, 2025
One-click install
npx skills add https://github.com/adamayoung/popcorn --skill update-domain-model
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: update-domain-model
Source: https://github.com/adamayoung/popcorn/tree/main/.claude/skills/update-domain-model
Command: npx skills add https://github.com/adamayoung/popcorn --skill update-domain-model

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill standardizes the multi-layered process of updating domain models in the Popcorn architecture, ensuring consistency across the Domain, Adapter, Infrastructure, and Application layers when adding new TMDb properties.

Core Features & Use Cases

  • Layered Synchronization: Provides a step-by-step checklist to update entities, mappers, and persistence models simultaneously.
  • TDD Enforcement: Guides the user through writing tests for new mappers before implementation to ensure robust data handling.
  • Use Case: When a new field like release_date_precision is added to the TMDb API, use this Skill to propagate the change from the domain entity through to the SwiftData persistence layer and the application-level view models.

Quick Start

Use the update-domain-model skill to add the new production_companies property to the Movie domain model within the PopcornMovies context.

Frequently Asked Questions about update-domain-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I update a SwiftUI domain model when the TMDb API changes?

To update a SwiftUI domain model after TMDb API changes, modify the domain entities, mappers, and SwiftData persistence models across multiple architectural layers. This process enforces test-driven development patterns to ensure robust data mapping and architectural integrity.

What is the best way to propagate new TMDb properties across Domain and SwiftData layers?

Propagating new TMDb properties requires synchronized updates across Domain, Adapter, Infrastructure, and Application layers. A step-by-step checklist modifies domain entities, updates mappers, and adjusts SwiftData persistence models simultaneously to maintain architectural consistency.

How does test-driven development apply to adding TMDb fields in Swift?

Test-driven development for new TMDb fields requires writing tests for new mappers before implementation. This systematic modification pattern ensures robust data handling and validates all new data mappings and entity updates prior to deployment.

Can I use this approach to synchronize SwiftData persistence models with TMDb SDK updates?

Yes, you can synchronize SwiftData persistence models with TMDb SDK updates. The process facilitates systematic modification of domain entities and persistence layers, ensuring that new fields like release_date_precision propagate fully from the domain entity to application-level view models.

Why do I need to update multiple architectural layers for a single TMDb property addition?

Updating multiple architectural layers for a single TMDb property addition standardizes the multi-layered process of updating domain models. This ensures consistency across the Domain, Adapter, Infrastructure, and Application layers and prevents data mapping mismatches.

When should I refactor domain models in a SwiftUI application?

You should refactor domain models in a SwiftUI application when adding new properties to the TMDb API. This standardizes the architectural updates needed across entities, mappers, and SwiftData persistence models to maintain application integrity.