I like to keep things simple. Here is how I structure my thinking: 1. Break the task down into smaller, manageable pieces. 2. Create an ICM stage for each piece. 3. If a stage needs to perform a highly repetitive, technical task, decide between: - A Skill, if you need a specialist to do something for you (e.g., a skill to evaluate if your web design actually "smells good" / looks clean). - A Script, if you need a strictly DETERMINISTIC result (e.g., generating a PDF report with a predefined design using HTML + Python). Now, when it comes to clients, always remember: **It doesn't matter what color the cat is, as long as it catches the mouse.** Clients don't care how your folder system works under the hood. They just want to know the bottom-line benefits of using it. My key selling points to pitch to a client are: - No vendor lock-in: you can use Claude, GPT, or any other AI model. - You own the system: if your developer disappears, you aren't left holding the bag. It's on your local drive. - Token economy, it’s way cheaper to run structured stages than going "Wild West style", throwing a giant, messy prompt at the AI and hoping for the best. - Fully auditable, everything is written in plain, readable English. - Open standard, anyone with basic tech skills can jump in, make modifications, and improve the system. At the end of the day, clients only care about two things: 1. How it makes them money. 2. How it saves them time. Keep your conversations within those two parameters and you’ll do great. If you ever get stuck explaining things to a client, just remember the cat. ;)