Start with the user job
One sentence: who opens the app, what they need to finish, and on which device family. For us that family is iPhone and iPad under iOS, not Android.
List screens and states
Empty, loading, error, and success for each primary flow. If a state is missing from the list, do not assume it is free.
Name accounts and data
Sign in or not. What is stored on device. What leaves the device. Health or payments need extra care and must be called out.
Write the out of scope block
Examples: Android, push marketing campaigns, Admin CMS v2, live chat. Putting them out of scope protects the quote. More on boundaries: first version includes / leaves out.
Approve before pixels
Design expands to fill ambiguity. Approve the list first. Then design and build. Process overview: how it works.