I've had this conversation badly twice and well once. here's what I learned.
the bad versions:
version 1: I asked directly "am I on track for promotion?" in a random 1:1. my manager got defensive and said "let's talk about that at your next review" and then we didn't. I'd triggered the "this person is going to be annoying about promo" mode.
version 2: I assumed silence meant yes and was blindsided when the cycle came and went and my manager said she "wasn't sure I was ready yet." we'd never actually had the conversation.
the version that worked:
I framed it as a development conversation instead of a demand. I said something like: "I want to make sure I'm building toward the right things over the next 6 months. can we talk through what the gap looks like between where I am now and the next level?" then I shut up and listened.
that question does a few things. it signals you're planning ahead, not demanding a timeline. it invites your manager to give you the real answer rather than a defensive one. and it gives you something to actually track.
then I asked: "if we were going to put me up for promotion in the next cycle, what would need to be true that isn't true today?"
that's the question. that's the one that gets you real information.
if your manager dodges:
some managers will still say "you're doing great" without specifics. that's a sign that either they don't know the criteria themselves (more common than you'd think) or they're managing you out slowly and don't want to say so.
if you get vague positive feedback consistently with no specifics, escalate to your skip in a scheduled 1:1 and ask the same question. not as a complaint about your manager, just as "I'd love calibration from multiple levels." most skips appreciate being asked.
timing:
best time to have this conversation is 3-4 months before the next promo cycle. too early and nothing's actionable. too late and you're scrambling for evidence you didn't collect.