You didn’t have time Tuesday to fix how you were doing this. You had time to almost make a bad call and catch it, close the lid for a second, and keep going on nerve. Today you’ve got twenty minutes before the next batch, and that’s enough to try something different before you’re back under the clock.
Pull up the runbook. Not the whole thing, just the section for tonight’s work, the migration steps, the same fourteen-step sequence you were leaning on Tuesday without ever actually handing it over. You’re going to do something you’ve never tried: instead of describing the task from scratch, the way you did at 6:40 with the clock running, you’re going to hand over what you already trust and see what happens when the assistant has to work from it instead of around it.
Copy the actual text. Paste it into the chat, and this time, don’t ask for a script. Ask for something else first.
Here’s the prompt, word for word:
Here is our team's actual runbook section for this task. Before
you write anything, do two things:
1. List every term, field, or check in this runbook that you are
NOT 100% certain about. Don't guess at what they mean. Ask.
2. For everything else, tell me plainly what you understood the
runbook to be asking for, in your own words, so I can confirm
you read it right before you write a single line of code.
Do not generate a script until I've answered your questions and
confirmed your understanding.
[paste runbook section here]Send it.
What comes back is not a script. It’s a list, three things, and it’s honest about which ones it’s guessing on instead of just guessing anyway. First: what field actually marks a VM as excluded, since the runbook just says “skip anything on hold” without naming it. This is the one that almost got you Tuesday, and this time, instead of inventing Migration_Hold out of nowhere, it’s asking. Second: what “checked” means for the post-boot verification step, your runbook just says “confirm it’s healthy” without defining healthy, ping response, service status, something else entirely. Third: whether “secondary” in step fourteen means a specific named host or any host currently in the failover pool, because the runbook was written by someone, maybe you, on a day when that ambiguity didn’t matter and nobody’s touched the wording since.
You answer all three in about ninety seconds, because you already know the answers, you’ve known them for years, you’ve just never had to say them out loud to anything before. DoNotMigrate. Healthy means it responds on the management port within sixty seconds of boot, full stop, that’s the bar, always has been. Secondary means the named failover host, not the pool, there’s a reason for that and it’s a long story from three outages ago that you don’t have time to tell tonight.
Then it restates back the seven steps it did understand, in plain language, one at a time, and asks you to confirm before it touches code. You read it. It’s right. All seven, right, because those seven were never actually ambiguous to begin with, you wrote them clearly enough eleven years ago that nothing needed guessing, and it’s a strange thing to realize mid-read: most of the runbook was never the problem. Three sentences out of fourteen steps were doing all the damage Tuesday, and you didn’t know which three until something finally asked instead of filling them in.
Now it writes the script. And this time, when you check the exclusion logic, it’s checking DoNotMigrate. Because you told it to, instead of it guessing at something that sounded plausible enough to almost get past you at 6:44 on a Tuesday.
Save the prompt above somewhere you’ll actually find it again, not buried in a chat history you’ll never scroll back through. Next time you’re staring down a deadline and reaching for a coding assistant, don’t describe the task from scratch. Hand it the part of the runbook that already exists, and make it ask before it assumes. The parts you’ve already gotten right stay right, untouched, exactly as clear as you left them. The parts that were actually unclear, the ones a fast read would have sailed past without even noticing they were soft, get caught before they’re code instead of after you’ve already clicked run and gone home not knowing what you missed.
You’re not learning to write PowerCLI tonight. You’re doing the thing you were always good at, telling someone exactly what “correct” looks like in your environment, the thing that’s kept this cluster running for eleven years, and for the first time, something’s actually listening before it acts instead of racing ahead of you.
If you’ve found a way to make a coding assistant work with what you already know instead of guessing around it, I’d like to hear what you tried.



