Claude Skill

techdebt

Analyze Elixir/Phoenix technical debt — duplicates, refactoring opportunities, credo issues. Use when asked about code quality, cleanup, or what to improve.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download oliver-kriska-claude-elixir-phoenix-plugins_elixir-phoenix_skills_techdebt-9767a82.zip · 1 KB
Part of oliver-kriska/claude-elixir-phoenix — 93 skills

Install

skills CLI npx skills add https://github.com/oliver-kriska/claude-elixir-phoenix/tree/main/plugins/elixir-phoenix/skills/techdebt
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install oliver-kriska-claude-elixir-phoenix@llmmart
Git git clone https://github.com/oliver-kriska/claude-elixir-phoenix.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole oliver-kriska/claude-elixir-phoenix collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Technical Debt Detection

Find and eliminate duplicate code patterns, anti-patterns, and refactoring opportunities in Elixir/Phoenix projects.

Iron Laws - Never Violate These

  1. Search before refactoring - Understand full scope of duplication before extracting
  2. Three strikes rule - Extract shared code only after 3+ duplications
  3. Prefer composition - Use behaviours and protocols over inheritance-style abstractions
  4. Test coverage first - Ensure tests exist before refactoring duplicated code

Analysis Checklist

1. Run Credo for Automated Detection

Run mix credo --strict.

Focus on:

  • Design issues (duplication, complexity)
  • Consistency issues (naming, patterns)
  • Refactoring opportunities

2. Find Duplicate Ecto Query Patterns

Use Grep to search for repeated Repo calls (Repo.get!, Repo.get, Repo.one) in lib/**/*.ex. Use Grep to find duplicate query patterns (from.*in.*where) in lib/**/*.ex.

3. Find Duplicate Validation Logic

Use Grep with output_mode: "count" to count def changeset occurrences in lib/**/*.ex. Use Grep to find repeated validations (validate_required, validate_format) in lib/**/*.ex.

4. Find Copy-Pasted Controller Actions

Use Grep to find similar action patterns (def create, def update, def delete) in lib/*_web/**/*.ex.

Common Duplication Patterns

Pattern Symptom Solution
Repeated queries Same Repo.get in multiple contexts Create shared query module
Duplicate validations Same validate_* calls Extract to shared changeset
Similar controllers Copy-pasted CRUD actions Use Phoenix generators consistently
Repeated transforms Same Enum.map patterns Extract to domain module

Reporting Format

For each duplication found, report:

  1. Location: File paths and line numbers
  2. Pattern: What code is duplicated
  3. Extraction: Suggested shared function/module
  4. Effort: Low/Medium/High to fix

Usage

Run /phx:techdebt to analyze the codebase and generate a prioritized report of technical debt with specific remediation steps.

Files (claude-elixir-phoenix)
  • SKILL.md 2.3 KB
    ---
    name: techdebt
    description: Analyze Elixir/Phoenix technical debt — duplicates, refactoring opportunities, credo issues. Use when asked about code quality, cleanup, or what to improve.
    effort: medium
    ---
    
    # Technical Debt Detection
    
    Find and eliminate duplicate code patterns, anti-patterns, and refactoring opportunities in Elixir/Phoenix projects.
    
    ## Iron Laws - Never Violate These
    
    1. **Search before refactoring** - Understand full scope of duplication before extracting
    2. **Three strikes rule** - Extract shared code only after 3+ duplications
    3. **Prefer composition** - Use behaviours and protocols over inheritance-style abstractions
    4. **Test coverage first** - Ensure tests exist before refactoring duplicated code
    
    ## Analysis Checklist
    
    ### 1. Run Credo for Automated Detection
    
    Run `mix credo --strict`.
    
    Focus on:
    
    - Design issues (duplication, complexity)
    - Consistency issues (naming, patterns)
    - Refactoring opportunities
    
    ### 2. Find Duplicate Ecto Query Patterns
    
    Use Grep to search for repeated Repo calls (`Repo.get!`, `Repo.get`, `Repo.one`) in `lib/**/*.ex`.
    Use Grep to find duplicate query patterns (`from.*in.*where`) in `lib/**/*.ex`.
    
    ### 3. Find Duplicate Validation Logic
    
    Use Grep with `output_mode: "count"` to count `def changeset` occurrences in `lib/**/*.ex`.
    Use Grep to find repeated validations (`validate_required`, `validate_format`) in `lib/**/*.ex`.
    
    ### 4. Find Copy-Pasted Controller Actions
    
    Use Grep to find similar action patterns (`def create`, `def update`, `def delete`) in `lib/*_web/**/*.ex`.
    
    ## Common Duplication Patterns
    
    | Pattern | Symptom | Solution |
    |---------|---------|----------|
    | Repeated queries | Same `Repo.get` in multiple contexts | Create shared query module |
    | Duplicate validations | Same `validate_*` calls | Extract to shared changeset |
    | Similar controllers | Copy-pasted CRUD actions | Use Phoenix generators consistently |
    | Repeated transforms | Same `Enum.map` patterns | Extract to domain module |
    
    ## Reporting Format
    
    For each duplication found, report:
    
    1. **Location**: File paths and line numbers
    2. **Pattern**: What code is duplicated
    3. **Extraction**: Suggested shared function/module
    4. **Effort**: Low/Medium/High to fix
    
    ## Usage
    
    Run `/phx:techdebt` to analyze the codebase and generate a prioritized report of technical debt with specific remediation steps.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related