create-domain-model

Generate SwiftData entities, mappers, and test mocks for TMDb domain models.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill addresses the complexity and inconsistency of mapping external TMDb API data into the local domain, infrastructure, and application layers of the Popcorn architecture.

Core Features & Use Cases

  • Architectural Consistency: Ensures all new domain models follow the required SwiftData, Mapper, and Entity patterns.
  • Automated Workflow: Guides the developer through the multi-layer implementation process, including Domain, Adapter, Infrastructure, and Application layers.
  • Use Case: When adding a new media type like "Season" or "Episode" from TMDb, this skill ensures the correct mappers, test helpers, and SwiftData entities are created in the appropriate directories.

Quick Start

Use the create-domain-model skill to generate the necessary files for a new Person domain model mapped from TMDb.Person.

Frequently Asked Questions about create-domain-model

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

FAQPage Schema
How do I map TMDb API data to SwiftData domain models?

Mapping TMDb API data to SwiftData requires structured mappers and entities across architectural layers. This skill standardizes the implementation by guiding creation of SwiftData entities, mappers, and test mocks for new TMDb-sourced data types.

What architectural layers are required when adding new TMDb data types in Swift?

Adding new TMDb data types requires implementation across Domain, Adapter, Infrastructure, and Application layers. This enforces strict adherence to dependency injection and data persistence contracts within the Popcorn architecture.

How do I create SwiftData entities and test mocks for TMDb media types?

Creating SwiftData entities and test mocks for TMDb media types involves a multi-layer implementation process. This skill automates the workflow, ensuring correct mappers, test helpers, and SwiftData entities are created in appropriate directories.

Does domain-driven design work with SwiftData for TMDb integration?

Domain-driven design works with SwiftData for TMDb integration by enforcing architectural consistency across layers. This skill ensures new domain models follow required SwiftData, Mapper, and Entity patterns to maintain strict dependency injection contracts.

Why does TMDb data mapping cause inconsistencies in Swift domain models?

TMDb data mapping causes inconsistencies in Swift domain models due to the complexity of mapping external API data into local infrastructure and application layers. Standardizing implementation across architectural layers resolves this fragmentation.