agentleFS
jscraikjscraik/Agent-Skills/Skills/agent-ops/elixir-pro/SKILL.md

elixir-pro

Skill9 starsChanged 46 days agoApache-2.0View on GitHub

Create and review idiomatic Elixir code with OTP patterns, supervision trees, and Phoenix LiveView. Use when building or debugging Elixir services that need reliable concurrency and fault tolerance.

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 12 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈12

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use for Elixir/OTP implementation and review work.

    line 21
  2. Distinctive:

    Use when fault tolerance or process boundaries are central.

    line 22
  3. Distinctive:

    Keep supervision trees explicit and shallow.

    line 38
  4. Distinctive:

    Prefer pure modules for domain logic outside process boundaries.

    line 40
  5. Distinctive:

    Use pattern matching to make invalid states impossible.

    line 45
  6. Distinctive:

    Keep message protocols explicit and documented.

    line 46
  7. Distinctive:

    If supervision strategy is unclear, hold structural changes and confirm intent.

    line 63
  8. Distinctive:

    Keep guidance deterministic so repeated runs produce consistent decisions.

    line 82
  9. Distinctive:

    Run the relevant local checks for touched files and workflow contracts.

    line 92
  10. Distinctive:

    Do not expand scope beyond the request unless explicitly asked.

    line 99
  11. Distinctive:

    Prefer safe, reversible edits over broad refactors.

    line 100
  12. Distinctive:

    Read when: the task needs advanced edge cases, migration-safe patterns, or runtime-specific nuance beyond the core checklist.

    line 111

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Table of Contents

  • When to use
  • Required inputs
  • Deliverables
  • OTP Structure
  • Reliability
  • Examples
  • Failure mode
  • Gotchas

When to use

  • Use for Elixir/OTP implementation and review work.
  • Use when fault tolerance or process boundaries are central.

Required inputs

  • App context and supervision tree scope.
  • Expected process lifecycle behavior.
  • Error and retry expectations.

Deliverables

  • Idiomatic Elixir updates.
  • Clear OTP process boundaries.
  • Explicit reliability notes when behavior changes.

OTP Structure

  • Keep supervision trees explicit and shallow.
  • Model long-lived state with GenServer only when state is required.
  • Prefer pure modules for domain logic outside process boundaries.

Reliability

  • Let supervisors restart failed workers.
  • Use pattern matching to make invalid states impossible.
  • Keep message protocols explicit and documented.

Examples

defmodule PortParser do
  def parse(value) do
    case Integer.parse(value) do
      {port, ""} when port > 0 -> {:ok, port}
      _ -> {:error, :invalid_port}
    end
  end
end

Failure mode

  • If supervision strategy is unclear, hold structural changes and confirm intent.

Gotchas

  • Process state mutations without clear ownership cause flaky behavior.

See Also

SkillWhen to use
[[rust-pro]]Systems-level concurrency patterns that share OTP-style supervision thinking
[[he-fix-bugs]]Triage distributed process failures with evidence-first diagnosis

Topic map: [[agent-ops]]

Philosophy

  • Optimize for clear, verifiable outcomes with the minimum necessary changes.
  • Keep guidance deterministic so repeated runs produce consistent decisions.

Procedure

  1. Confirm scope, constraints, and required inputs before edits.
  2. Apply focused changes tied directly to the requested outcome.
  3. Re-run the highest-signal validations and capture concrete evidence.

Validation

  • Run the relevant local checks for touched files and workflow contracts.
  • Fail fast: stop at the first blocking validation failure and report exact evidence.
  • Re-run checks after fixes and record residual risk if any remains.

Constraints

  • Redact secrets, tokens, credentials, and sensitive data by default.
  • Do not expand scope beyond the request unless explicitly asked.
  • Prefer safe, reversible edits over broad refactors.

Anti-patterns

  • Skipping validation after making changes.
  • Applying broad refactors to solve narrow issues.
  • Assuming behavior without evidence from current checks.

References and assets

  • Open deep guidance: Infrastructure/references/deep-guidance.md
  • Read when: the task needs advanced edge cases, migration-safe patterns, or runtime-specific nuance beyond the core checklist.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.