本文へ移動
cccskills
無料GitHub で公開

elixir-code-review

Reviews Elixir code for idiomatic patterns, OTP basics, and documentation. Use when reviewing .ex/.exs files, checking pattern matching, GenServer usage, or module documentation.

インストール方法を見る

含まれるファイル(5)

  • SKILL.md3.8 KB
  • references/code-style.md1.8 KB
  • references/documentation.md2.4 KB
  • references/otp-basics.md2.8 KB
  • references/pattern-matching.md2.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Elixir Code Review

Quick Reference

Issue TypeReference
Naming, formatting, module structurereferences/code-style.md
With clauses, guards, destructuringreferences/pattern-matching.md
GenServer, Supervisor, Applicationreferences/otp-basics.md
@moduledoc, @doc, @spec, doctestsreferences/documentation.md

Review Checklist

Code Style

  • Module names are CamelCase, function names are snake_case
  • Pipe chains start with raw data, not function calls
  • Private functions grouped after public functions
  • No unnecessary parentheses in function calls without arguments

Pattern Matching

  • Functions use pattern matching over conditionals where appropriate
  • With clauses have else handling for error cases
  • Guards used instead of runtime checks where possible
  • Destructuring used in function heads, not body

OTP Basics

  • GenServers use handle_continue for expensive init work
  • Supervisors use appropriate restart strategies
  • No blocking calls in GenServer callbacks
  • Proper use of call vs cast (sync vs async)

Documentation

  • All public functions have @doc and @spec
  • Modules have @moduledoc describing purpose
  • Doctests for pure functions where appropriate
  • No @doc false on genuinely public functions

Security

  • No String.to_atom/1 on user input (use to_existing_atom/1)
  • No Code.eval_string/1 on untrusted input
  • No :erlang.binary_to_term/1 without :safe option

Valid Patterns (Do NOT Flag)

  • Empty function clause for pattern match - def foo(nil), do: nil is valid guard
  • Using |> with single transformation - Readability choice, not wrong
  • @doc false on callback implementations - Callbacks documented at behaviour level
  • Private functions without @spec - @spec optional for internals
  • Using Kernel.apply/3 - Valid for dynamic dispatch with known module/function

Context-Sensitive Rules

IssueFlag ONLY IF
Missing @specFunction is public AND exported
Generic rescueSpecific exception types available
Nested case/condMore than 2 levels deep

When to Load References

  • Reviewing module/function naming → code-style.md
  • Reviewing with/case/cond statements → pattern-matching.md
  • Reviewing GenServer/Supervisor code → otp-basics.md
  • Reviewing @doc/@moduledoc → documentation.md

Gates — before reporting

Do these in order for the review batch. Do not publish findings until each step passes.

  1. Protocol loaded — Read review-verification-protocol and apply its checks for each finding category you use (unused, validation, security, performance, etc.). Pass: For every substantive finding, you can name which protocol subsection you satisfied or state N/A with reason (pure style).
  2. Anchored evidence — Pass: Each finding includes a concrete locator: path:line (or line range), or Module.function/arity plus a short quoted snippet from the file.
  3. Claims backed by artifacts — For assertions like unused code, missing validation, or security risk, Pass: You attach the supporting artifact (e.g. search results, file read scope) or downgrade the item to an explicit question / uncertain with what you did not verify.

Before Submitting Findings

Complete Gates — before reporting (section above) first; the verification protocol is mandatory input to those gates.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when you need to mine a conversation, session transcript, or design discussion for architectural decisions before writing ADRs. Identifies problem-solution pairs, trade-off debates, technology choices, and explicit "[ADR]" tags. Triggers on "what decisions did we make", "extract decisions from this chat", "find the choices in our discussion", or "summarize architectural decisions". Also useful after long planning sessions to capture decisions that were made implicitly. Does NOT write ADR documents — use adr-writing or write-adr for that.

日本語の概要は準備中です。原文の説明を表示しています。

existential-birds/beagle822026年9月16日 更新

Use when writing or formatting an ADR document using the MADR template, applying Definition of Done (E.C.A.D.R.) criteria, or verifying ADR completeness. Triggers on "write the ADR", "format as MADR", "check ADR quality", "mark gaps in ADR". Also triggers when a decision has been extracted and needs to become a document. Does NOT extract decisions from conversations (use adr-decision-extraction) or orchestrate the full extract-confirm-write workflow (use write-adr).

日本語の概要は準備中です。原文の説明を表示しています。

existential-birds/beagle822026年9月16日 更新

Use when auditing an agent codebase against the 12-Factor Agents methodology, reviewing LLM-powered system architecture, or assessing agentic app compliance. Triggers on "analyze agent architecture", "12-factor audit", "how compliant is this agent", or "evaluate this LLM app". Also applies when comparing frameworks or planning agent improvements. Not for quick checklists — this performs deep per-factor codebase analysis with file-level evidence.

日本語の概要は準備中です。原文の説明を表示しています。

existential-birds/beagle822026年9月16日 更新

Vercel AI Elements for workflow UI components. Use when building chat interfaces, displaying tool execution, showing reasoning/thinking, or creating job queues. Triggers on ai-elements, Queue, Confirmation, Tool, Reasoning, Shimmer, Loader, Message, Conversation, PromptInput.

日本語の概要は準備中です。原文の説明を表示しています。

existential-birds/beagle822026年9月16日 更新

Reviews App Intents code for intent structure, entities, shortcuts, and parameters. Use when reviewing code with import AppIntents, @AppIntent, AppEntity, AppShortcutsProvider, or @Parameter.

日本語の概要は準備中です。原文の説明を表示しています。

existential-birds/beagle822026年9月16日 更新

Use when the user wants a cited, structured read of local documents and project knowledge. Triggers on: "analyze these docs", "scan my project for context", "read the docs folder", "summarize what's in .beagle/concepts/", "extract context from docs/", "what's in this folder", "go read everything in X and tell me what's there". Also invoked programmatically by other beagle skills (prfaq-beagle Ignition, brainstorm-beagle reference points, strategy-interview context grounding) via the companion contract. Does NOT trigger on codebase lookups ("find this function", "search the repo"), web research (use web-research), LLM-as-judge evaluation (use llm-judge), or document editing (use humanize-beagle). Produces a written scan plan, parallel-subagent findings, and a cited synthesis report on disk — never inline prose, never unsourced claims.

日本語の概要は準備中です。原文の説明を表示しています。

existential-birds/beagle822026年9月16日 更新

existential-birds のスキルをすべて見る

このスキルの問題を報告する