MCPInstall

managing-tech-debt

Help users manage technical debt strategically. Use when someone is dealing with legacy code, planning refactoring work, deciding between rewrites vs. incremental fixes, trying to get buy-in for tech debt reduction, or balancing new features with maintenance.

Installs
1.6K
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/refoundai/lenny-skills --skill managing-tech-debt
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads managing-tech-debt automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Managing Tech Debt

Help the user manage technical debt strategically using insights from 18 product leaders.

How to Help

When the user asks for help with tech debt:

  1. Understand the situation - Ask about the nature of the debt (legacy systems, code quality, architectural limitations), how it's manifesting (slow velocity, incidents, inability to ship), and the business context
  2. Diagnose the urgency - Determine if this is blocking critical business needs or a slower-burning issue
  3. Choose the right approach - Help them decide between incremental improvement, targeted refactoring, or (rarely) a full rewrite
  4. Build the business case - Help quantify the cost of the debt and communicate value to stakeholders

Core Principles

Rewrites almost never work

Camille Fournier: "Engineers notoriously, notoriously, notoriously, massively underestimate the migration time for old system to new system. By the way, you still have to support the old system while you're working on the new system." Full rewrites are traps. Prefer incremental evolution - uplift specific components rather than starting from scratch.

Tech debt is product debt

Ebi Atawodi: "Infrastructure is the product. Period. I cannot build a skyscraper on a shaky foundation. So it is your problem too - it's not for the engineer to be barging on the door." Technical debt should be owned by PMs as "product debt," not treated as an engineering-only concern. Include it in your Top 10 Problems list.

Startups should strategically take on debt

Gaurav Misra: "As a startup your job is to take on technical debt because that is how you operate faster than a bigger company." Debt is leverage - evaluate if a problem can be solved by a future hire rather than today. But monitor the "interest" - if maintenance takes 80-90% of time, you've run out of runway.

Delete code more than you write it

Farhan Thawar: "We have a Delete Code Club. We can almost always find a million-plus lines of code to delete. Everything gets easier - the codebase loads faster, it's easier to understand." Create dedicated time or teams focused solely on removing unused code. Deletion improves velocity and clarity.

Tech debt is visible to users

Matt Mullenweg: "You can see [tech debt] in the interface or how their products integrate with themselves." Fragmented UIs and poor integration between features are user-facing symptoms of accumulated debt. Look for inconsistencies to identify where debt has accumulated.

Quantify the value of paying down debt

Casey Winters: "The most impactful projects are the hardest to measure, so they get chronically underfunded. Build custom metrics to show the value, run small tests that prove the worthwhile-ness of the investment." Create custom metrics and run experiments to demonstrate business value. Align with engineering and design to present a unified front.

Fix bugs immediately, don't backlog them

Geoff Charles: "We don't have a bug backlog. We fix every bug once they're surfaced almost." Assign bugs directly to the engineer on call to ensure immediate pain awareness. Bug backlogs become graveyards.

Debt ceilings innovation

Eeke de Milliano: "Sometimes teams are just getting bogged down by urgent work - too much tech debt, bugs, instability. There's no way they can focus on bigger, creative stuff if they're heads-down dealing with incidents all day." Diagnose when a team is stuck in a "hierarchy of needs" trap. Prioritize debt reduction to free up headspace for creative work.

Tech debt is a champagne problem

Julia Schottenstein: "We would be so lucky to have tech debt because that means people are using the product. What we didn't need at launch was a distributed scheduler - we had no users." Build the simplest, most naive version first. Accept debt as a trade-off for getting product into users' hands.

Plan for dark tunnels

Melanie Perkins: "We thought it would take six months... it took two years of not shipping any product." Major rewrites are "dark tunnels" that stall shipping. If you must do them, gamify the work to maintain team momentum during the long slog.

Design for 1-2 years out

Austin Hay: "Think one to two years down the road about what we're going to need. When setting up tools, ask: 'What happens a year from now if I don't change anything?'" Implement foundational elements like SSO or proper data schemas early to avoid catastrophic migrations later.

Questions to Help Users

  • "Is this debt blocking critical business needs, or is it a slower-burning issue?"
  • "What percentage of engineering time is going to maintenance vs. new features?"
  • "Have you tried to estimate how long a rewrite would actually take? Who made that estimate?"
  • "What would happen if you did nothing for another 6 months?"
  • "Is there a way to incrementally improve this rather than rewriting?"
  • "How would you quantify the cost of this debt to stakeholders?"

Common Mistakes to Flag

  • Planning a full rewrite - Rewrites almost never work as planned. They take 2-3x longer than estimated and you must support both systems simultaneously
  • Treating tech debt as engineering's problem - This is product debt. PMs should own it alongside engineers
  • Letting bug backlogs accumulate - Bug backlogs become graveyards. Fix immediately or decide not to fix at all
  • Over-engineering before product-market fit - Debt is a champagne problem. Build naive solutions first and accept debt as the cost of learning
  • Not quantifying the cost - Tech debt investments get underfunded because their value isn't measured. Build metrics and run experiments to prove ROI

Deep Dive

For all 20 insights from 18 guests, see references/guest-insights.md

Related Skills

  • Technical Roadmaps
  • Platform & Infrastructure
  • Engineering Culture
  • Evaluating Trade-offs

FAQ

What does the managing-tech-debt skill do?

Help users manage technical debt strategically. Use when someone is dealing with legacy code, planning refactoring work, deciding between rewrites vs. incremental fixes, trying to get buy-in for tech debt reduction, or balancing new features with maintenance.

How do I install managing-tech-debt?

Run npx skills add https://github.com/refoundai/lenny-skills --skill managing-tech-debt in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/managing-tech-debt/ (personal) or .claude/skills/managing-tech-debt/ (project).

Which AI agents can use managing-tech-debt?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is managing-tech-debt safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains managing-tech-debt?

It is published by refoundai in refoundai/lenny-skills. It has 1,570 recorded installs.

More from refoundai/lenny-skills

View all →

personal-productivity

refoundai/lenny-skills

Help users manage their time and tasks more effectively. Use when someone is overwhelmed with work, struggling with focus, trying to balance multiple responsibilities, or asking how to get more done.

writing-prds

refoundai/lenny-skills

Help users transform abstract ideas into actionable project specs that align engineering and design teams on the problem and success metrics.

Docs & Writing3.3K installs

ai-product-strategy

refoundai/lenny-skills

Help users decide where to apply AI effectively, manage the transition from deterministic to probabilistic software, and build long-term defensibility through verticalization and proprietary data.

2.7K installs

competitive-analysis

refoundai/lenny-skills

Help users understand and respond to competition. Use when someone is positioning against competitors, evaluating market threats, running competitive war games, or deciding how much to focus on competitors versus customers.

2.7K installs

founder-sales

refoundai/lenny-skills

Help users master the transition from product development to active selling by leveraging their unique status as founders to bridge the trust gap and define a scalable sales motion.

Business & Finance2.7K installs

analyzing-user-feedback

refoundai/lenny-skills

Help users convert massive volumes of qualitative and quantitative feedback into high-confidence product decisions through rigorous synthesis and internal immersion.

2.6K installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.