Agent skill

Retaining Developers

by manager-dot-dev in manager-dot-dev/manager-skills

Helps engineering managers prevent and respond to engineer attrition by diagnosing retention risk, choosing the right intervention, and preparing retention conversations.

MITAuto-check passed

Install Retaining Developers

skills CLI
$ npx skills add manager-dot-dev/manager-skills --skill retaining-developers -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install manager-dot-dev/manager-skills retaining-developers --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/manager-dot-dev/manager-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/retaining-developers .claude/skills/retaining-developers && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
retaining-developers
GitHub stars
114
Token cost
~3.5k tokens
SKILL.md length
2,039 words
Files
2 (incl. references)
Skills in repo
27
Repo updated
First seen
Licence
MIT

At a glance

Helps engineering managers prevent and respond to engineer attrition by diagnosing retention risk, choosing the right intervention, and preparing retention conversations.

  • Works in 5 steps: Unappreciated -> Valued → Lonely -> Connected → Bored -> Challenged → …
  • The user says developer quit
  • SKILL.md covers Before Starting, Response Style, How to Use This Skill and Default Response Shape, plus 15 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Retaining Developers is an agent skill from manager-dot-dev/manager-skills. Helps engineering managers prevent and respond to engineer attrition by diagnosing retention risk, choosing the right intervention, and preparing retention conversations. Use when the user says "developer quit," "attrition," "someone is disengaged," "how do I retain," "engineer is leaving," "developer unhappy," "keeping the team," "someone seems checked out," "engineer received another offer," "retention risk," or "my best engineer may leave." Produces a five-state diagnostic, action plan, conversation script…

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/sources.md`).

The repository describes itself as: Skills for engineering managers. The licence is MIT.

When your agent uses it

  • The user says developer quit
  • Someone is disengaged
  • How do I retain
  • Engineer is leaving

Example prompts

  • “developer quit,”
  • “attrition,”
  • “someone is disengaged,”
  • “/retaining-developers”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Unappreciated -> Valued
  2. Lonely -> Connected
  3. Bored -> Challenged
  4. Stuck -> Growing
  5. Apathetic -> Passionate

What it can do on your machine

Read from SKILL.md and the folder at commit c47ebc7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Retaining Developers loads about 3.5k tokens when it runs, and up to ~3.7k if it reads all its reference files. Until then it costs about 175 tokens; SKILL.md has 2,039 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~175
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from manager-dot-dev/manager-skills at commit c47ebc7, republished under its MIT licence (© manager-dot-dev). 2,039 words, ~3,492 tokens.

Download SKILL.mdSave it as .claude/skills/retaining-developers/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
retaining-developers
description
Helps engineering managers prevent and respond to engineer attrition by diagnosing retention risk, choosing the right intervention, and preparing retention conversations. Use when the user says "developer quit," "attrition," "someone is disengaged," "how do I retain," "engineer is leaving," "developer unhappy," "keeping the team," "someone seems checked out," "engineer received another offer," "retention risk," or "my best engineer may leave." Produces a five-state diagnostic, action plan, conversation script, compensation/equity guidance, zero-budget recognition ideas, and warning signs. Do NOT use when the issue is day-to-day motivation only; use engineer-motivation.
metadata.version
2.1.2

Retaining Developers

Before Starting

Check for EM context first. If .agents/em-context.md exists, read it. If a specific person is mentioned, check .agents/reports/[name].md.

If .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.

If the conversation reveals durable new context later, update .agents/em-context.md or .agents/reports/[name].md automatically. Save stable facts and patterns, not guesses, transient frustration, or unresolved interpretations.

Response Style

Keep the first answer concise and useful. Do not dump the whole framework unless the user asks for depth.

Default to:

  • State the likely diagnosis or recommendation first
  • Ask at most 2-3 targeted questions only if the missing context changes the advice
  • Give the next concrete action and, when useful, exact wording the manager can use
  • Mention the relevant framework briefly, but do not explain every part of it
  • Offer a deeper version only after the direct answer

How to Use This Skill

  • Engineer seems disengaged or at risk -> diagnose with The 5 States
  • Compensation or raise conversation -> start with Unappreciated -> Valued
  • Equity or options conversation at hire, refresh, or departure -> use Stock Options and Equity Conversations
  • Want to recognize someone but have no budget -> use Zero-Budget Recognition
  • Worried someone might be leaving but has not said anything -> use 5 Warning Signs of a Disengaging Engineer
  • Engineer already has another offer -> use When Someone Has Another Offer

Default Response Shape

When the user asks for help with retention, produce a practical manager response:

  1. Risk read: low / medium / high, with evidence from the prompt.
  2. Likely state: unappreciated, lonely, bored, stuck, apathetic, or mixed.
  3. What to verify in the next 1:1: 3-5 questions that are direct but not interrogating.
  4. Action plan: what to do this week, this month, and structurally.
  5. Conversation script: concrete wording the manager can use.
  6. What not to do: common overreactions that will make the situation worse.

If someone has already resigned or has another offer, do not pretend normal retention tactics are enough. Shift to: understand the reason, decide if there is a credible counter, treat them respectfully, and protect the relationship.


Retention Risk Diagnostic

Use this before choosing an intervention:

  • Signal strength: Is this one weak signal, a pattern over weeks, or a direct statement that they may leave?
  • State: Which of the five states best explains the behavior?
  • Specificity: Can the manager name the exact moment, project, decision, or pattern that caused the shift?
  • Agency: Is there something the manager can actually change, or is this outside the manager's control?
  • Time horizon: Is the risk immediate, emerging, or long-term?
  • Trust level: Will the engineer believe the manager is acting because they care, or only because they are afraid of losing them?

The last question matters. Retention attempts that appear only after someone disengages can feel transactional. Acknowledge that directly when needed.


The 5 States

When a developer quits, it is often because they feel one of these five things. Use the inverse to diagnose and act.

What they feelWhat they need
UnappreciatedTo feel valued
LonelyTo feel connected
BoredTo feel challenged
StuckTo feel like they are growing
ApatheticTo feel passionate about the work

1. Unappreciated -> Valued

Initial salary is critical. The first salary you offer sets an anchor that is hard to correct later. Underpaying at hire means you will always be playing catch-up. Raises feel like corrections, not rewards, and the gap in perceived appreciation accumulates.

Raise salary before they ask. When a developer has to ask for a raise, the damage is already done. It signals that you were not paying attention or were not advocating for them. Be proactive. Also: do not deny raises because the engineer earns more than you. That is not a competition.

Do not steal the thunder. When something good happens, like a promotion, milestone, or successful launch, let the engineer announce it. Good news should come from them. If you announce their achievements for them, you take the moment; if they announce it themselves, you amplify it.

Just tell them. Many managers recognize good work internally and assume the engineer knows. They often do not. Say it directly in a 1:1: "I wanted to tell you: the way you handled X was exactly what I needed. That made a real difference."

Recognition: Give them the stage. Let them write the Slack announcement for features they shipped, tag them publicly, and push for your people to get company recognition. Route praise through its source: if a VP is excited, ask them to tell the team directly.


2. Lonely -> Connected

You cannot force people to connect, but you can create opportunities: team meetings, focus days outside the office, activities during working hours, and shared work that creates real memories.

Be honest in interviews about what your team culture actually looks like. If your team is mostly married with kids and nobody hangs out after work, say so. Do not let someone join expecting something that is not there.


3. Bored -> Challenged

The best lever is to delegate interesting tasks: writing technical designs, mentoring a new engineer, leading a cross-team effort, or owning a project area you currently hold.

Ask directly: "Do you feel challenged? What's missing from your work today?" Managers often assume they know what developers want instead of having the conversation.


4. Stuck -> Growing

Even challenged developers can feel stuck if they cannot see a path forward. Career planning is your job.

Work through it together:

  • What are the requirements for the next level?
  • How far are they from it, and why? Be fully honest.
  • What tasks do they need to take on to get there?
  • What evidence will promotion decision-makers need to see?

If they want a management path and there is no open slot, make them your second-in-command where appropriate and let them experience parts of the work. Help them prepare. Never promise a timeline you do not control.


5. Apathetic -> Passionate

When developers do not care about the product or customers, and only care about technical puzzles, engagement is fragile. Connect the team to the business: share customer success stories, bring in senior leaders to talk with the team, and involve developers in customer conversations when possible.

Do not fake passion. Find a real customer, business, craft, or ownership connection that the engineer can actually care about.


Stock Options and Equity Conversations

Equity is one of the most misunderstood parts of compensation and one of the most common sources of silent resentment or missed retention opportunities. As EM, you are often the one who has, or can get, the context to have this conversation well.

At Hire

When a developer joins and receives an options grant, three numbers matter and most people do not explain them clearly:

  • Exercise price (strike price): What they will pay per share to own it. Set at fair market value on grant date.
  • Current price (FMV): What the company is currently worth per share.
  • The 10X scenario: What this could be worth if the company grows 10X.

Most people sign offer letters without understanding any of this. Be the person who explains it.

Show full SKILL.md (805 more words)Show less
At Tenure

Additional grants are a common and underused retention tool. After a year or two of strong performance, a developer's original grant is largely vested and the "golden handcuffs" loosen. A refresh grant re-anchors the retention value and signals that you are investing in them long-term.

If your company has a refresh grant program, use it proactively. Do not wait for a developer to ask or start interviewing.

At Departure

When someone leaves, there are three common scenarios and each needs a different conversation:

  1. Staying at a startup, going to a bigger company: They may be leaving unvested equity on the table. Help them understand what they are walking away from.
  2. Leaving before a liquidity event: Most options expire 90 days after departure. If they have in-the-money options, they may need to decide whether to exercise and pay for them.
  3. Leaving after a long tenure: If most options are vested, the financial picture is cleaner, but still worth reviewing together.

These conversations are not about keeping people against their will. They are about treating people with respect by making sure they understand their own financial situation.


Zero-Budget Recognition

Some of the most memorable recognition moments cost nothing. These are specific ideas that have worked:

Creative onboarding. When a new developer joins, send a personal newsletter introducing them to the team. Include their background, what they care about, and an interesting fact. It signals that they matter as a person, not just a resource.

The physical promotion ceremony. When a developer is promoted, do not just post it in Slack. Order a physical placard with their new title. Present it in person or ship it. The object makes the moment real.

The birthday widget. Add team birthdays to your engineering dashboard or status page. When someone's birthday appears on the Grafana screen the team stares at all day, it creates a small but noticed moment.

Surprise senior leader catch-up. Arrange a 30-minute casual conversation between a high-performing developer and a VP or senior leader they would not normally interact with. Not a presentation, just a conversation. The message it sends: you are seen at the highest levels.

Personalized books. When you see a developer struggling with a problem, send them a relevant book with a personal note. It says: "I pay enough attention to know what you are working on."


5 Warning Signs of a Disengaging Engineer

By the time someone resigns, you have usually missed signals by weeks or months. Watch for:

  1. They stop speaking up in architecture meetings
  2. They stop pushing for better practices
  3. Documentation efforts disappear
  4. Tech debt tickets keep getting deprioritized without comment
  5. Standup updates get shorter and more mechanical

Each signal individually might mean nothing. Together, they often mean someone has already accepted another offer in their head and is waiting for the paperwork.


When Someone Has Another Offer

Slow down. Do not immediately ask, "What will it take to keep you?" That can make the relationship feel purely transactional.

Use this order:

  1. Understand: "What made you start looking?" and "What does this new role give you that you feel you are missing here?"
  2. Check credibility: Can you actually change the root cause, or only offer a temporary patch?
  3. Decide on a counter: Counter only if the fix is real, fast, and fair to the rest of the team.
  4. Protect the relationship: If they leave, make the exit respectful. Alumni relationships matter.

If the root cause is boredom, stuckness, or compensation, a counter may work only if you can act concretely. If the root cause is trust, apathy, or a long pattern of neglect, a counter often just delays the resignation.


What Not to Do

  • Do not offer generic praise when the person needs specific recognition, compensation action, or growth.
  • Do not create fake growth opportunities with no real scope or decision authority.
  • Do not guilt someone for leaving. It teaches the rest of the team that honesty is unsafe.
  • Do not promise promotion timelines you do not control.
  • Do not wait for annual review cycles if the retention risk is active now.

Final Caveat

Not everything is in your hands. People get offers you cannot match, want to change domains, start companies, or relocate. When the time comes, part on good terms. Do not take it personally.


Dive Deeper

If the user asks where a framework came from, wants to read the original article, or wants more context, read references/sources.md.


  • engineer-motivation - The 3 Drivers framework helps understand what motivates each person before they disengage
  • managing-high-performers - High performers have specific retention risks: bored, stuck, burnout
  • delegation - Delegating challenging work is a retention lever
  • 1on1s - The place to diagnose which of the five states someone is in
  • team-health - Broader team signals often map to these five states

© manager-dot-dev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/retaining-developers of manager-dot-dev/manager-skills.

  • SKILL.md
  • references/sources.md

Open the folder on GitHubat commit c47ebc7

Compare with similar skills

Retaining Developers next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Retaining Developers compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Retaining Developers this skillmanager-dot-dev/manager-skills114—~3.5kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
Vercel Composition Patternssupabase/supabase111k59 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official38k11 repos~4.1kAutomated safety check: NotesApache-2.0
Agent Browser CLIvercel-labs/agent-browser44k24 repos~864Automated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 59 repos~726 tokens
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 11 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Agent Browser CLI

    vercel-labs/agent-browser

    Official

    Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…

    44k GitHub starsUsed in 24 repos~864 tokens
    Productivity & AutomationAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed

More from manager-dot-dev/manager-skills

All 27 skills in this repo
  • Em Grid Scorer

    manager-dot-dev/manager-skills

    Score an Engineering Manager's coverage across all 12 cells of the EM Grid based on their calendar and Slack.

    114 GitHub stars~5.8k tokensUpdated 5 mo ago
    Auto-check passed
  • Em Context

    manager-dot-dev/manager-skills

    Foundation skill for engineering managers. An agent skill from manager-dot-dev/manager-skills.

    114 GitHub stars~1.6k tokensUpdated 5 mo ago
    Auto-check passed
  • 1on1s

    manager-dot-dev/manager-skills

    Prepares agendas, diagnoses struggling 1:1 relationships, and gives frameworks for running effective 1:1 meetings with direct reports.

    114 GitHub stars~3k tokensUpdated 5 mo ago
    Auto-check passed
  • Business Literacy

    manager-dot-dev/manager-skills

    Explains business financial terms and frameworks for engineering managers — produces term definitions (ARR, COGS, CAC, LTV, gross margin, burn rate, EBITDA, AARRR), translation formulas for making…

    114 GitHub stars~2.4k tokensUpdated 5 mo ago
    Auto-check passed
  • Career Development

    manager-dot-dev/manager-skills

    Helps engineering managers support direct report growth — produces a stage-by-stage model of engineering impact (Circles of Influence), a framework for non-linear career planning (Tarzan Method)…

    114 GitHub stars~2.3k tokensUpdated 5 mo ago
    Auto-check passed
  • Delegation

    manager-dot-dev/manager-skills

    Guides managers out of the bottleneck role — provides the Team Rep pattern, Epic Ownership model, Task-Relevant Maturity framework, kingdom ownership, and three-layer assignment strategy.

    114 GitHub stars~3.3k tokensUpdated 5 mo ago
    Auto-check passed

Questions about Retaining Developers

What does Retaining Developers do?

Helps engineering managers prevent and respond to engineer attrition by diagnosing retention risk, choosing the right intervention, and preparing retention conversations. Retaining Developers is an agent skill from manager-dot-dev/manager-skills. Helps engineering managers prevent and respond to engineer attrition by diagnosing retention risk, choosing the right intervention, and preparing retention conversations.

When should I use Retaining Developers?

Retaining Developers fits situations like: the user says developer quit; someone is disengaged; how do I retain; engineer is leaving.

How do I install Retaining Developers in Claude Code?

Run `npx skills add manager-dot-dev/manager-skills --skill retaining-developers -a claude-code`. Or copy the skill folder (skills/retaining-developers in manager-dot-dev/manager-skills) into .claude/skills/retaining-developers in your project. Claude Code loads it when a task matches its description.

How do I install Retaining Developers in Codex?

Run `npx skills add manager-dot-dev/manager-skills --skill retaining-developers -a codex`. Or copy the skill folder (skills/retaining-developers in manager-dot-dev/manager-skills) into .agents/skills/retaining-developers in your project. Codex loads it when a task matches its description.

Can I use Retaining Developers in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add manager-dot-dev/manager-skills --skill retaining-developers -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/retaining-developers, .gemini/skills/retaining-developers, .github/skills/retaining-developers and .opencode/skills/retaining-developers in your project.

What does Retaining Developers need to run?

SKILL.md names no scripts, command-line tools or credentials: Retaining Developers is instructions for the agent only.

Does Retaining Developers access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Retaining Developers safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Retaining Developers use?

Retaining Developers is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Retaining Developers use?

About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 174 tokens, read only when the agent opens those files.

What are the alternatives to Retaining Developers?

Skills that share tags, products or a category with Retaining Developers: MCP Server Builder (anthropics/skills, 180k stars), Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars) and Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Retaining Developers?

manager-dot-dev (a GitHub organization) maintains it in manager-dot-dev/manager-skills, which has 114 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on May 9, 2026.

Source: manager-dot-dev/manager-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.