architecture-builderlisted
Install: claude install-skill vmobifystudio/app-dev-team
# Architecture builder
Produce `docs/20-architecture.md` and `docs/21-engineering-principles.md` from `docs/00-vision.md` + `docs/10-prd.md`.
## docs/20-architecture.md sections
1. **Platform decision** — iOS / Android / both, with order if sequential.
2. **iOS stack** —
- Swift version (latest stable)
- Minimum iOS target — resolve `knowledge/stack-defaults.md`'s relative rule (flagship =
latest major minus one) to a **concrete number** here, and record how you resolved it
- UI: SwiftUI by default; UIKit only if PRD demands something SwiftUI struggles with
- State: `@Observable` + `@MainActor` on ViewModels only (Combine / `@Published` /
`ObservableObject` are forbidden — `knowledge/ios-conventions.md`)
- Networking: URLSession + async/await, or a named lib
- Persistence: SwiftData (content apps) or GRDB+SQLite/FTS5 (camera/media) — pick by PRD complexity
- DI: lightweight — protocol + initializer injection
- Testing: **Swift Testing** (`@Test`/`@Suite`) for unit and domain tests, not XCTest. **UI
automation stays XCUITest** — it is XCTest-based, has no Swift Testing equivalent, and
`runtime-gate` runs it, so a blanket "never XCTest" would ban the suite the release gate
expects. Name the snapshot lib. State the coverage floor for the pure-Swift domain engine
package (`knowledge/stack-defaults.md`)
3. **Android stack** —
- Kotlin version
- minSdk / targetSdk (set based on PRD users)
- UI: Jetpack Compose
- A