Plan dual TUI/CLI mode for Kotlin Clikt+Mordant CLI app
Takeaway: Next time I'd point it straight at the relevant cliApp source files and skill docs up front instead of letting it rediscover the whole module structure from scratch.
Takeaway: Next time I'd point it straight at the relevant cliApp source files and skill docs up front instead of letting it rediscover the whole module structure from scratch.
Takeaway: I'd start by pointing the agent straight at the maestro run-ios-local.sh script and the simctl UDID lookup instead of letting it explore the repo structure first, since that's what it ended up using anyway.
Takeaway: Next time I'd point straight at the ICloudBackupTransport file since the crash log made the source pretty obvious, and let the agent confirm the main-thread-blocking theory with a quick web search before touching code.
Takeaway: Next time I'd point the agent straight at the .xcodeproj instead of the .xcworkspace, since the workspace-based xcodebuild -list call just errored out and wasted a step.
Takeaway: Next time I'd ask for the parallel sub-agent model to be verified up front, since the first run wasted a cycle on a 404 for a non-existent model name.
Takeaway: Next time I'd skip trying to bootstrap the messenger/sub-agent planner up front and just have the agent start reviewing and committing test changes directly, since the planner kept failing or reporting 'no plan found' and ate most of the session.
Takeaway: Next time I'd ask upfront to run a quick build after each individual conflict resolution instead of one big build at the end — the ICloudBackupTransport and TwoFacLib merges needed several reset/re-merge cycles to untangle because the failures surfaced too late and mixed together.
Takeaway: I'd start by pre-registering the correct subagent name ('worker') in the prompt so I don't waste a round-trip hitting an 'Unknown agent' error before it even starts.
Takeaway: I'd tell it up front which files/paths are likely stale so it doesn't waste turns hitting ENOENT on renamed importer adapters and onboarding files — that was the main friction.
Takeaway: Next time I'd just ask upfront for a complete search across all source sets (android, ios, desktop) instead of finding the desktopMain file in a follow-up prompt.
Takeaway: Next time I'd just say upfront that the picker needs to work on Android, iOS and Web too, not just desktop — that would have saved a whole extra research and implementation pass.
Takeaway: I'd start the next session by pointing straight at the plan file and the exact behavior I want (like I did with the CancellationException bug report), since giving the agent the precise symptom and fix upfront meant it found the bug fast and fixed it correctly first try.
Takeaway: I'd start by naming the provider metadata type up front (BackupProvider, not BackupProviderInfo) so I wouldn't need a follow-up rename pass across sharedLib, composeApp and cliApp plus a second commit and ABI re-check.