Use when understanding and fixing common Credo check issues for Elixir code quality and consistency.
Detects and fixes Credo code quality issues in Elixir projects. Triggers when you encounter style violations, complexity problems, or anti-patterns in Elixir files.
/plugin marketplace add TheBushidoCollective/han/plugin install jutsu-notetaker@hanThis skill cannot use any tools. It operates in read-only mode without the ability to modify files or execute commands.
Understanding and fixing common Credo issues.
Ensure consistent code style across the project.
Identify design issues and anti-patterns.
Improve code readability and maintainability.
Highlight refactoring opportunities.
Catch potential bugs and issues.
# Issue: Missing module documentation
defmodule MyModule do
end
# Fixed
@moduledoc """
This module handles user authentication.
"""
defmodule MyModule do
end
# 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
# Issue: Single pipe
list |> Enum.map(&(&1 * 2))
# Fixed
Enum.map(list, &(&1 * 2))
# Issue
def process({:ok, result}, _context) do
result
end
# Fixed: Prefix with underscore
def process({:ok, result}, _context) do
result
end