skills/performance-reviews/SKILL.md
Helps diagnose underperformance, structure a performance case, decide whether to put someone on a PIP or let them go, and think through your own manager review. Use when the user says "perf review," "review cycle," "performance calibration," "write a review," "rating," "meets expectations," "performance improvement," "PIP," "promotion case," "end of year review," "mid-year review," "underperformer," "struggling employee," or "should I let them go." Do NOT use for delivering day-to-day feedback (use feedback) or for evaluating a new hire candidate (use hiring).
npx skillsauth add manager-dot-dev/manager-skills performance-reviewsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Check for EM context first:
.agents/em-context.md if it exists (for review cycle format, rating scale, etc.).agents/reports/[name].md — it will have their role, level, goals, current projects, and feedback historyIf .agents/em-context.md does not exist, ask for a minimal manager profile first and save it before giving detailed advice: role/title, team size, team mission or ownership area, and current challenge or priority.
If a specific person is central to the conversation and .agents/reports/[name].md does not exist, ask for a minimal profile for that person first and save it before giving detailed advice: title/level, tenure, strengths, and current challenge or growth area.
.agents/em-context.md or .agents/reports/[name].md automatically. Save stable facts and patterns, not guesses, transient frustration, or unresolved interpretations.Keep the first answer concise and useful. Do not dump the whole framework unless the user asks for depth.
Default to:
Identify the situation first:
When helping with performance, separate diagnosis from action:
Do not let empathy turn into vagueness. Be humane and specific at the same time.
The most common trap: confusing improvement with potential. An engineer who goes from bad to mediocre is improving — but they may still be below the bar.
The key question isn't "are they getting better?" It's "are they at the level I need?"
Ray Dalio: "If someone who has been getting grades of 30s and 40s raised their scores to 50s for a few months, it would be accurate to say they are getting better — but they would still be woefully inadequate."
Both are real. Both lead to lying to yourself and settling for mediocrity.
You will be wrong sometimes. A struggling engineer can turn into a standout with time, the right environment, or a role that fits them better. Frameworks are guides, not verdicts.
Deep inside, you usually know. When you start to genuinely consider firing someone, it's probably already overdue.
The relief test: Imagine the employee tells you they're quitting. Do you feel relieved — or upset? If relieved, that's your answer.
(The Netflix "keeper test" — would you fight to keep them? — is the stricter version. The relief test is more realistic for most teams.)
Usually it's one of three situations: you hired someone not suitable for the role; you didn't provide clear expectations or enough support; or the role changed and they no longer fit it. In all three cases, you share responsibility for the situation. That's why it should be hard — and why good managers struggle.
Don't confuse "they have potential" with "I can't make a hard decision." They're different things.
I haven't yet encountered a manager who regretted a firing. Only ones who regretted waiting.
To know you did everything right before letting someone go:
Note: 50% of people on performance improvement plans become repeat offenders. Smart employees know how to rise to the occasion temporarily. Watch for the pattern.
A rough but useful signal: if you've thought seriously about firing someone even once, you should probably act sooner rather than later.
With genuinely strong employees, the thought doesn't arise. The fact that it arose at all is diagnostic.
This doesn't mean fire impulsively. It means: if you've crossed the threshold of "should I let this person go?" without acting on it, examine why you're waiting. The most common reason is discomfort — not evidence that the situation will resolve itself.
The most useful question for evaluating a manager's performance: "What would have been different if this person hadn't been here?"
This targets manager delta — not what the team shipped, but what the manager caused to happen that wouldn't have happened otherwise. Apply it to yourself: what is your contribution to outcomes that your team couldn't have produced without you?
Common contributions that count:
For an engineer who repeatedly shows a problematic pattern (constant complaining, missing commitments, interpersonal friction):
Stage 1 — Listen and understand. Do everything you can to understand what's behind the behavior. There is almost always some legitimate grievance underneath. Don't skip this — going straight to "stop doing X" ignores the signal.
Stage 2 — Address the root cause. Identify the 1–2 biggest underlying issues and address them in partnership with the person. This requires actually solving something, not just acknowledging it.
Stage 3 — Discuss the behavior itself. Once you've addressed the root cause, have an explicit conversation about how the behavior needs to change: what's acceptable, what isn't, and what the expectations are going forward.
Stage 4 — Let them go. If the behavior persists after stages 1–3, it's a choice, not a circumstance. Act.
The failure mode is skipping stages. Managers who haven't done stages 1–2 don't have standing to hold stage 3 conversations with credibility.
Before deciding "up or out," work through this spectrum in order. As you move right, ownership shifts from you to the employee:
Most underperformance diagnoses jump straight to #3 or #5 without addressing #1 and #2. This is a mistake: it skips the manager's responsibility, burns trust, and produces a weak performance case.
If the user asks where a framework came from, wants to read the original article, or wants more context on any topic — read references/sources.md for the full list of source articles (with links) and books.
feedback — Immediate, specific feedback is the prerequisite for any of thishiring — Setting concrete expectations starts at hire timetesting
Score an Engineering Manager's coverage across all 12 cells of the EM Grid based on their calendar and Slack. Use this skill whenever someone wants to understand where they're spending their management energy, find blind spots, get a monthly self-reflection on their EM focus, or hear phrases like "score my EM grid", "where am I spending time as a manager", "what are my blind spots", "analyze my calendar as EM", "which EM areas am I neglecting", "how balanced is my management focus", or "check my EM grid coverage". Always pull live calendar data — never ask the user to describe their week manually.
development
Helps engineering managers write messages, announcements, and stakeholder updates that land well — produces a 3-Step Writing Framework (Prepare / Write Simply / Run a Garbage Collector), the Async Re-Explanation Trap (calling out missed messages), and the Compression/Decompression model for diagnosing why messages are misunderstood. Use when the user says "draft a message," "write an announcement," "communicate this change," "how do I word this," "message for my team," "write an update," or "how do I communicate X." Do NOT use for verbal feedback or difficult conversations (use `feedback` or `difficult-situations`).
development
Helps engineering managers build a functional PM–EM partnership and become more product-oriented — produces a 3-pattern PM–EM dynamic model (PM-Led / Engineering-Led / Fake Balanced), a true partnership definition, the "It's Important to Me" card for navigating disagreements, tips for getting engineers closer to customers and usage data (launch vs. landing, session recordings, customer conversations), and an explicit responsibilities exercise. Use when the user says "PM relationship," "PM drives me crazy," "product manager," "roadmap disagreement," "PM overrides me," "PM–EM partnership," "I want to be more product-oriented," or "how do I get engineers closer to customers." Do NOT use for general roadmap prioritization (use `roadmap-planning`) or when urgency is being manufactured by a PM (use `managing-urgency`).
testing
Helps engineering managers work effectively with Software Architects, Staff Engineers, and Principal Engineers — covers the EM's side of the relationship (responsiveness, proactive consultation, giving credit), how to advocate for architect time, pre-consultation preparation, and the two architecture team models (Centralized vs. Decentralized). Use when the user says "architect," "staff engineer," "principal engineer," "technical design review," "working with senior technical people," "getting architecture help," or "how do I get more architect time." Do NOT use for managing staff/principal engineers who report directly to you (use `managing-high-performers` or `delegation`).