Claude-skill-registry credo-checks
Use when understanding and fixing common Credo check issues for Elixir code quality and consistency.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/credo-checks" ~/.claude/skills/majiayu000-claude-skill-registry-credo-checks && rm -rf "$T"
manifest:
skills/data/credo-checks/SKILL.mdsource content
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