Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
thebushidocollective avatar

Credo Checks

  • 1 installs
  • 186 repo stars
  • Updated July 19, 2026
  • thebushidocollective/han

Understand and fix common Credo check issues for Elixir code quality across consistency, design, readability, refactoring, and warning categories.

About

Explains common Credo check categories and how to fix flagged issues in Elixir code. A developer uses it when resolving Credo warnings in an Elixir project.

  • Consistency, design, readability, refactoring, warning checks
  • Fixing common flagged issues

Credo Checks by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #984 of 1,352 Code Review & Quality skills by installs in the Skillselion catalog
  • Data as of Aug 1, 2026 (Skillselion catalog sync)
npx skills add https://github.com/thebushidocollective/han --skill credo-checks

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars186
Last updatedJuly 19, 2026
Repositorythebushidocollective/han

What it does

Understand and fix common Credo check issues for Elixir code quality across consistency, design, readability, refactoring, and warning categories.

Files

SKILL.mdMarkdownGitHub ↗

Credo Checks

Understanding and fixing common Credo issues.

Check Categories

Consistency Checks

Ensure consistent code style across the project.

Design Checks

Identify design issues and anti-patterns.

Readability Checks

Improve code readability and maintainability.

Refactoring Checks

Highlight refactoring opportunities.

Warning Checks

Catch potential bugs and issues.

Common Issues

Module Documentation

# Issue: Missing module documentation
defmodule MyModule do
end

# Fixed
@moduledoc """
This module handles user authentication.
"""
defmodule MyModule do
end

Function Complexity

# Issue: High cyclomatic complexity
def complex_function(x) do
  if x > 10 do
    if x < 20 do
      if rem(x, 2) == 0 do
        :even_mid
      else
        :odd_mid
      end
    else
      :high
    end
  else
    :low
  end
end

# Fixed: Extract to separate functions
def classify_number(x) do
  case {x > 10, x < 20, rem(x, 2) == 0} do
    {false, _, _} -> :low
    {true, false, _} -> :high
    {true, true, true} -> :even_mid
    {true, true, false} -> :odd_mid
  end
end

Pipe Chain

# Issue: Single pipe
list |> Enum.map(&(&1 * 2))

# Fixed
Enum.map(list, &(&1 * 2))

Unused Variables

# Issue
def process({:ok, result}, _context) do
  result
end

# Fixed: Prefix with underscore
def process({:ok, result}, _context) do
  result
end

Related skills

Code Review & Qualitybackendtesting

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.