improve-codebase-architecture

Identify shallow modules and propose deep module refactoring candidates guided by ADRs.

61|11|Updated Jun 15, 2026
One-click install
npx skills add https://github.com/Matymatyk-business/david-skills --skill improve-codebase-architecture-matymatyk-business
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: improve-codebase-architecture
Source: https://github.com/Matymatyk-business/david-skills/tree/main/skills/improve-codebase-architecture
Command: npx skills add https://github.com/Matymatyk-business/david-skills --skill improve-codebase-architecture-matymatyk-business

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Identify and surface opportunities to deepen shallow modules in a codebase, guided by domain terminology and architectural ADRs, to improve testability and AI navigability.

Core Features & Use Cases

  • Surface shallow modules and seams ripe for deepening based on the project's domain language.
  • Propose concrete refactoring strategies that improve locality and leverage across the interface.
  • Align recommendations with ADRs and CONTEXT.md terminology to minimize rework and improve maintainability.

Quick Start

Scan the current project to surface deepening opportunities and a prioritized plan for turning shallow modules into deep ones.

Frequently Asked Questions about improve-codebase-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I identify shallow modules in my codebase for refactoring?

Shallow modules are identified by scanning your codebase against domain terminology and ADRs. The process surfaces deepening opportunities and seams, outputting structured candidates with implementation impact notes to prioritize refactoring.

What is module deepening in software architecture?

Module deepening converts shallow modules into deep ones to improve locality and interface leverage. It aligns refactoring with domain language and ADRs to enhance codebase testability and AI-navigability while minimizing rework.

How do I refactor a codebase to improve testability and AI navigability?

Refactor by surfacing deepening opportunities that convert shallow modules into deep ones. This improves testability and AI-navigability by proposing concrete strategies that enhance locality and leverage across the interface.

Does this architecture refactoring approach work with ADR-guided codebases?

Yes, this approach specifically applies to codebases with many shallow modules across ADR-guided decisions. It aligns recommendations with ADRs and CONTEXT.md terminology to minimize rework and improve maintainability.

When should I not use module deepening to refactor my architecture?

Module deepening is not suitable for codebases lacking many shallow modules or ADR-guided decisions. If your architecture already features deep modules with high locality, deepening opportunities will be minimal.