elixir-cyclic-deps — ai-agents elixir-cyclic-deps, community, ai-agents, ide skills, elixir, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Ideal for Elixir-focused Agents requiring cyclic dependency detection and removal capabilities. 🔮 A smol coding agent in Elixir

# Core Topics

matteing matteing
[18]
[0]
Updated: 2/25/2026

Agent Capability Analysis

The elixir-cyclic-deps skill by matteing is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance. Optimized for ai-agents, elixir.

Ideal Agent Persona

Ideal for Elixir-focused Agents requiring cyclic dependency detection and removal capabilities.

Core Value

Empowers agents to identify and fix cyclic dependencies in Elixir projects, ensuring compatibility with Elixir 1.19 or higher, and providing accurate cycle detection using mix run and System.version() checks.

Capabilities Granted for elixir-cyclic-deps

Checking for cycles in Elixir dependencies
Removing cyclic dependencies for improved project stability
Verifying Elixir version compatibility for cycle detection

! Prerequisites & Limits

  • Requires Elixir 1.19 or higher
  • Explicit user request required for cycle checks or removal
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

elixir-cyclic-deps

Install elixir-cyclic-deps, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

Elixir Cyclic Dependencies

When to Use

Apply this skill only when the user explicitly asks to check or remove cyclic dependencies (e.g. "check for cycles", "remove cyclic dependencies", "fix xref cycles").

Prerequisite: Elixir Version

Cycle detection is correct only on Elixir 1.19 or higher. Before running any cycle checks:

  1. Verify version: elixir -v or inside the project run mix run -e 'IO.inspect(System.version())'.
  2. If the version is below 1.19, stop and inform the user that upgrading to Elixir 1.19+ is required for reliable cycle detection.

Detecting Cycles

Run both commands from the project root. Start with a relaxed threshold, then tighten:

bash
1mix xref graph --format cycles --label compile-connected --fail-above 3 2mix xref graph --format cycles --label compile --fail-above 3
  • compile-connected: cycles in the compile-time dependency graph (modules that compile in a cycle).
  • compile: same graph, different label; both should be run.
  • --fail-above N: exit code fails when cycle count is above N. Use 3 initially, goal is 0.

To list cycles without failing (for inspection), omit --fail-above or set it high:

bash
1mix xref graph --format cycles --label compile-connected 2mix xref graph --format cycles --label compile

Goal: reach --fail-above 0 for both commands (no cycles).

Workflow

  1. Check Elixir version (must be ≥ 1.19).
  2. Establish baseline: run both xref commands with --fail-above 3 (or current project setting). Note cycle count and which modules appear in cycles.
  3. Inspect cycles: run without --fail-above to see full cycle output; identify the smallest set of edges (module A → module B) that, if removed, break cycles.
  4. Plan minimal changeset:
    • Prefer breaking a single dependency (e.g. move shared code to a new module both can depend on) over large refactors.
    • Helper modules are allowed if they yield the smallest change: extract shared logic into a new module that the cycle participants depend on, so the cycle is broken.
    • Avoid duplication; follow existing repository guidelines (e.g. AGENTS.md, .cursor rules) and prior patterns in the codebase.
  5. Implement: make the chosen change, then re-run both xref commands with --fail-above 0 (or gradually lower from 3 → 0).
  6. Verify: mix compile --warnings-as-errors, tests, and any project lint (e.g. mix lint or mix cyclecheck if defined).

Minimal-Change Strategies

StrategyWhen to use
Extract helper moduleTwo or more modules in a cycle need the same logic; extract it to a new module that has no dependency back on the cycle.
Move code downMove a function from module A to module B so that A no longer depends on B (or vice versa), breaking the cycle.
Invert dependencyIf A uses B and B uses A, see if one usage can be replaced by a callback, option, or data structure so only one direction remains.
Split moduleOne module has two distinct responsibilities and participates in two cycles; split into two modules to break cycles.

Choose the option that removes cycles with the least code churn and no new duplication.

Project Integration

If the project has a cyclecheck (or similar) task in mix.exs, use it after changes:

bash
1mix cyclecheck

Ensure it runs both xref commands with the target --fail-above 0 once cycles are cleared.

Summary Checklist

  • Elixir version ≥ 1.19 confirmed
  • Both compile-connected and compile xref cycle commands run
  • Goal: --fail-above 0 for both
  • Minimal changeset (helper modules OK)
  • No code duplication; follows repo guidelines
  • mix compile, tests, and lint pass after changes

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is elixir-cyclic-deps?

Ideal for Elixir-focused Agents requiring cyclic dependency detection and removal capabilities. 🔮 A smol coding agent in Elixir

How do I install elixir-cyclic-deps?

Run the command: npx killer-skills add matteing/opal/elixir-cyclic-deps. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for elixir-cyclic-deps?

Key use cases include: Checking for cycles in Elixir dependencies, Removing cyclic dependencies for improved project stability, Verifying Elixir version compatibility for cycle detection.

Which IDEs are compatible with elixir-cyclic-deps?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for elixir-cyclic-deps?

Requires Elixir 1.19 or higher. Explicit user request required for cycle checks or removal.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add matteing/opal/elixir-cyclic-deps. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use elixir-cyclic-deps immediately in the current project.

Related Skills

Looking for an alternative to elixir-cyclic-deps or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI