MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Helps engineering managers prevent and respond to engineer attrition by diagnosing retention risk, choosing the right intervention, and preparing retention conversations.
$ npx skills add manager-dot-dev/manager-skills --skill retaining-developers -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install manager-dot-dev/manager-skills retaining-developers --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "retaining-developers" agent skill from https://github.com/manager-dot-dev/manager-skills/tree/main/skills/retaining-developers into .claude/skills/retaining-developers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retaining-developers", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/manager-dot-dev/manager-skills/tree/main/skills/retaining-developersType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add manager-dot-dev/manager-skills --skill retaining-developers -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install manager-dot-dev/manager-skills retaining-developers --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/manager-dot-dev/manager-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/retaining-developers .agents/skills/retaining-developers && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "retaining-developers" agent skill from https://github.com/manager-dot-dev/manager-skills/tree/main/skills/retaining-developers into .agents/skills/retaining-developers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retaining-developers", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add manager-dot-dev/manager-skills --skill retaining-developers -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install manager-dot-dev/manager-skills retaining-developers --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/manager-dot-dev/manager-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/retaining-developers .cursor/skills/retaining-developers && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "retaining-developers" agent skill from https://github.com/manager-dot-dev/manager-skills/tree/main/skills/retaining-developers into .cursor/skills/retaining-developers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retaining-developers", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/manager-dot-dev/manager-skills.git --path skills/retaining-developers--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add manager-dot-dev/manager-skills --skill retaining-developers -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install manager-dot-dev/manager-skills retaining-developers --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/manager-dot-dev/manager-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/retaining-developers .gemini/skills/retaining-developers && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "retaining-developers" agent skill from https://github.com/manager-dot-dev/manager-skills/tree/main/skills/retaining-developers into .gemini/skills/retaining-developers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retaining-developers", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install manager-dot-dev/manager-skills retaining-developersInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add manager-dot-dev/manager-skills --skill retaining-developers -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/manager-dot-dev/manager-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/retaining-developers .github/skills/retaining-developers && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "retaining-developers" agent skill from https://github.com/manager-dot-dev/manager-skills/tree/main/skills/retaining-developers into .github/skills/retaining-developers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retaining-developers", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add manager-dot-dev/manager-skills --skill retaining-developers -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install manager-dot-dev/manager-skills retaining-developers --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/manager-dot-dev/manager-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/retaining-developers .opencode/skills/retaining-developers && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "retaining-developers" agent skill from https://github.com/manager-dot-dev/manager-skills/tree/main/skills/retaining-developers into .opencode/skills/retaining-developers/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retaining-developers", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
retaining-developersHelps 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. 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.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c47ebc7. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
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.
.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.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.
.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:
When the user asks for help with retention, produce a practical manager response:
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.
Use this before choosing an intervention:
The last question matters. Retention attempts that appear only after someone disengages can feel transactional. Acknowledge that directly when needed.
When a developer quits, it is often because they feel one of these five things. Use the inverse to diagnose and act.
| What they feel | What they need |
|---|---|
| Unappreciated | To feel valued |
| Lonely | To feel connected |
| Bored | To feel challenged |
| Stuck | To feel like they are growing |
| Apathetic | To feel passionate about the work |
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.
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.
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.
Even challenged developers can feel stuck if they cannot see a path forward. Career planning is your job.
Work through it together:
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.
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.
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.
When a developer joins and receives an options grant, three numbers matter and most people do not explain them clearly:
Most people sign offer letters without understanding any of this. Be the person who explains it.
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.
When someone leaves, there are three common scenarios and each needs a different conversation:
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.
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."
By the time someone resigns, you have usually missed signals by weeks or months. Watch for:
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.
Slow down. Do not immediately ask, "What will it take to keep you?" That can make the relationship feel purely transactional.
Use this order:
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.
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.
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 disengagemanaging-high-performers - High performers have specific retention risks: bored, stuck, burnoutdelegation - Delegating challenging work is a retention lever1on1s - The place to diagnose which of the five states someone is inteam-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
SKILL.md and 1 other file (references) in skills/retaining-developers of manager-dot-dev/manager-skills.
Open the folder on GitHubat commit c47ebc7
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Retaining Developers this skillmanager-dot-dev/manager-skills | 114 | — | ~3.5k | Automated safety check: Pass | MIT | |
| MCP Server Builderanthropics/skills | 180k | 64 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Vercel Composition Patternssupabase/supabase | 111k | 59 repos | ~726 | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 38k | 11 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Agent Browser CLIvercel-labs/agent-browser | 44k | 24 repos | ~864 | Automated safety check: Pass | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
obra/superpowers
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.
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…
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.
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.
manager-dot-dev/manager-skills
Foundation skill for engineering managers. An agent skill from manager-dot-dev/manager-skills.
manager-dot-dev/manager-skills
Prepares agendas, diagnoses struggling 1:1 relationships, and gives frameworks for running effective 1:1 meetings with direct reports.
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…
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)…
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.
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.
Retaining Developers fits situations like: the user says developer quit; someone is disengaged; how do I retain; engineer is leaving.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Retaining Developers is instructions for the agent only.
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.
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.
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.
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.
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.
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.