Use when understanding and fixing common Credo check issues for Elixir code quality and consistency.
View on GitHubTheBushidoCollective/han
jutsu-credo
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/TheBushidoCollective/han/blob/main/jutsu/jutsu-credo/skills/credo-checks/SKILL.md -a claude-code --skill credo-checksInstallation paths:
.claude/skills/credo-checks/# 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
```elixir
# Issue: Missing module documentation
defmodule MyModule do
end
# Fixed
@moduledoc """
This module handles user authentication.
"""
defmodule MyModule do
end
```
### Function Complexity
```elixir
# 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
```elixir
# Issue: Single pipe
list |> Enum.map(&(&1 * 2))
# Fixed
Enum.map(list, &(&1 * 2))
```
### Unused Variables
```elixir
# Issue
def process({:ok, result}, _context) do
result
end
# Fixed: Prefix with underscore
def process({:ok, result}, _context) do
result
end
```