Agent skill
credo-custom-checks
Use when creating custom Credo checks for project-specific code quality rules and standards in Elixir.
Install this agent skill to your Project
npx add-skill https://github.com/TheBushidoCollective/han/tree/main/plugins/validation/credo/skills/credo-custom-checks
SKILL.md
Credo Custom Checks
Creating custom Credo checks for project-specific rules.
Creating a Custom Check
defmodule MyApp.Credo.Check.NoHardcodedSecrets do
use Credo.Check,
category: :warning,
base_priority: :high,
explanations: [
check: """
Detects hardcoded secrets in code.
"""
]
@impl true
def run(%SourceFile{} = source_file, params) do
issue_meta = IssueMeta.for(source_file, params)
Credo.Code.prewalk(source_file, &traverse(&1, &2, issue_meta))
end
defp traverse(
{:@, _, [{:secret_key, _, [value]}]} = ast,
issues,
issue_meta
)
when is_binary(value) do
new_issue = issue_for(issue_meta, value)
{ast, [new_issue | issues]}
end
defp traverse(ast, issues, _issue_meta) do
{ast, issues}
end
defp issue_for(issue_meta, value) do
format_issue(
issue_meta,
message: "Hardcoded secret found: #{String.slice(value, 0..5)}...",
trigger: value
)
end
end
Using Custom Checks
# .credo.exs
%{
configs: [
%{
name: "default",
requires: ["./lib/my_app/credo/check/*.ex"],
checks: %{
enabled: [
{MyApp.Credo.Check.NoHardcodedSecrets, []}
]
}
}
]
}
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
create-blog-post
Research Reddit discussions and write a blog post about how Han addresses the topic
research-new-features
Research Claude AI/Code feature requests and discussions on Reddit
create-jutsu
Create a new technique plugin for a technology (language, tool, framework, or validation)
create-do
Create a new discipline plugin with specialized agents
create-hashi
Create a new bridge plugin for MCP server integration
plugin-development
Use when creating or modifying Han plugins. Covers plugin structure, configuration, hooks, skills, and best practices.
Didn't find tool you were looking for?