跳到正文
cccskills
免费在 GitHub 公开

phx-document

Use when asked to document Elixir code: add or fill in @moduledoc and @doc for modules and functions. Documents tested code only; may add a README section or ADR. Not for docs lookup or audits.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(5)

  • SKILL.md2.9 KB
  • references/doc-best-practices.md600 B
  • references/doc-templates.md1.1 KB
  • references/documentation-patterns.md6.9 KB
  • references/output-format.md803 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Document

Generate documentation for newly implemented features.

Usage

phx-document .claude/plans/magic-link-auth/plan.md
phx-document magic link authentication
phx-document  # Auto-detect from recent plan

Iron Laws

  1. Never remove existing documentation — Existing docs may reflect design intent that isn't obvious from code alone; update rather than replace
  2. @moduledoc on every public module — Undocumented modules accumulate quickly and create onboarding friction for new team members
  3. ADRs capture the "why", not the "what" — Code shows what was built; ADRs explain why this approach was chosen over alternatives
  4. Match @doc to function's public API — Document parameters, return values, and edge cases; callers shouldn't need to read the implementation
  5. DO NOT add @doc to untested code — documentation implies a stable contract; document only after tests confirm the function behaves as described

What Gets Documented

OutputDescription
@moduledocFor new modules missing documentation
@docFor public functions without docs
README sectionFor user-facing features
ADRFor significant architectural decisions

Workflow

Step 0: Pre-check (avoid no-op runs)

Run git diff --name-only HEAD~5 | grep '\.ex$' | head -20 to check for new .ex files.

If no new .ex files were added (only modifications), skip the full audit and report: "No new modules — documentation coverage unchanged." A full audit of unchanged coverage produces nothing to add.

  1. Identify new modules from recent commits or plan file
  2. Check documentation coverage (@moduledoc, @doc)
  3. Generate missing docs using templates
  4. Add README section if user-facing feature
  5. Create ADR if architectural decision was made
  6. Write report to .claude/plans/{slug}/reviews/{feature}-docs.md

When to Generate ADRs

TriggerCreate ADR
New external dependencyYes
New database tableMaybe (if schema non-obvious)
New OTP processYes (explain why process needed)
New contextMaybe (if boundaries non-obvious)
New auth mechanismYes
Performance optimizationYes

Integration with Workflow

phx-plan → phx-work → phx-review
       ↓
phx-document  ← YOU ARE HERE (optional, suggested after review passes)

References

  • references/doc-templates.md — @moduledoc, @doc, README, ADR templates
  • references/output-format.md — Documentation report format
  • references/doc-best-practices.md — Elixir documentation best practices
  • references/documentation-patterns.md — Detailed documentation patterns

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

analyze

免费

Analyze a legacy app in any language before rewriting it in Elixir: inventory, features as goals, why each mechanism exists, runtime topology, external contracts. Use to start or refresh a rewrite.

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

architect

免费

Design the idiomatic Elixir architecture for a rewrite: set the compatibility bar (ADR-000), consult phx specialists on open questions, then build contexts, ledger and ADRs. Use after /rewrite:analyze.

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

Ash Framework — resources, actions, policies, aggregates; Use when generating resources via mix ash.codegen, editing…

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

Ash Framework — resources, actions, policies, aggregates, calculations, AshPhoenix.Form, LiveView, migrations. Use when generating resources via mix ash.codegen, editing changes, checks, types, validations, or domain code interfaces.

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

assigns

免费

Compatibility alias for the Elixir/Phoenix plugin's LiveView assigns audit. Invoke explicitly with /lv:assigns.

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

Inspect LiveView socket assigns for memory bloat — missing temporary_assigns, unused assigns, unbounded lists needing streams, memory estimates. Use when LiveView memory grows or you need to add temporary_assigns.

中文简介正在准备中。当前显示原文说明。

oliver-kriska/claude-elixir-phoenix5692026年10月20日 更新

查看 oliver-kriska 的全部技能

报告此技能的问题