一键导入
update-domain-model
Add properties to an existing domain model from TMDb
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Add properties to an existing domain model from TMDb
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Build the project for testing
Build the project
Take the current plan all the way to a ready-to-merge pull request — review the plan (scaled to risk), implement it test-first, code-review and fix, security-review, verify the acceptance criteria, open the PR, and watch it green. Use after you have an approved plan (e.g. from plan mode) and want the rest of the feature pipeline run end-to-end. Invoking it is itself plan approval — it then runs autonomously to a single hard stop: ready-to-merge.
Run a specific test target or test class
Run all unit tests
Run snapshot tests
| name | update-domain-model |
| description | Add properties to an existing domain model from TMDb |
Guide for adding properties to an existing domain model from TMDb SDK types. See references/domain-model-patterns.md (in the create-domain-model skill) for code patterns, file locations, and common pitfalls.
Ask the user for:
DocC documentation: https://adamayoung.github.io/TMDb/documentation/tmdb/
Source code (in Xcode DerivedData after build):
.../SourcePackages/checkouts/TMDb/Sources/TMDb/Domain/Models/
Compare the TMDb type reference (see TMDB_MAPPING.md) with the current domain entity.
For new complex types (enums, structs), create domain entities:
Contexts/Popcorn<X>/Sources/<X>Domain/Entities/<NewType>.swiftAdd properties to the struct, init, and init defaults:
Contexts/Popcorn<X>/Sources/<X>Domain/Entities/<Name>.swiftFor each new complex type, write tests first then implement:
Adapters/.../Tests/.../Mappers/<NewType>MapperTests.swiftAdapters/.../Sources/.../Mappers/<NewType>Mapper.swiftUpdate tests then implementation:
Adapters/.../Tests/.../Mappers/<Name>MapperTests.swiftAdapters/.../Sources/.../Mappers/<Name>Mapper.swiftFor new complex types that need persistence:
Contexts/Popcorn<X>/Sources/<X>Infrastructure/DataSources/Local/Models/<Context><NewType>Entity.swiftAdd properties and relationships:
Contexts/Popcorn<X>/Sources/<X>Infrastructure/DataSources/Local/Models/<Context><Name>Entity.swiftUpdate all 3 methods (entity->domain, domain->entity, update-in-place) with tests:
Contexts/.../Tests/<X>InfrastructureTests/Mappers/<Name>MapperTests.swiftContexts/.../Sources/<X>Infrastructure/DataSources/Local/Mappers/<Name>Mapper.swiftContexts/Popcorn<X>/Sources/<X>Application/Models/<Name>Details.swiftContexts/Popcorn<X>/Sources/<X>Application/Mappers/<Name>DetailsMapper.swiftContexts/.../Tests/<X>ApplicationTests/Mappers/<Name>DetailsMapperTests.swiftUpdate <Name>+Mocks.swift in all test targets that use it.
Run the full pre-PR checklist: make lint, /build, /test (formatting is applied automatically by the PostToolUse hook)
$ARGUMENTS