界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
文档与办公 · SKILL.md

compound-docs

compound-docs

【文档与办公】Searchable Elixir/Phoenix/Ecto solution documentation system with YAML frontmatter. Builds institutional knowledge from solved problems. Use when consulting past solutions before investigating new issues.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: compound-docs description: "Searchable Elixir/Phoenix/Ecto solution documentation system with YAML frontmatter. Builds institutional knowledge from solved problems. Use when consulting past solutions before investigating new issues." effort: low user-invocable: false

Compound Docs — Institutional Knowledge Base

Searchable, categorized solution documentation that makes each debugging session easier than the last.

Directory Structure

.claude/solutions/
├── ecto-issues/
├── liveview-issues/
├── oban-issues/
├── otp-issues/
├── security-issues/
├── testing-issues/
├── phoenix-issues/
├── deployment-issues/
├── performance-issues/
└── build-issues/

Iron Laws

  1. ALWAYS search solutions before investigating — Check .claude/solutions/ for existing fixes before debugging
  2. YAML frontmatter is MANDATORY — Every solution needs validated metadata per ${CLAUDE_SKILL_DIR}/references/schema.md
  3. One problem per file — Never combine multiple solutions
  4. Include prevention — Every solution documents how to prevent recurrence

Solution File Format

---
module: "Accounts"
date: "2025-12-01"
problem_type: runtime_error
component: ecto_schema
symptoms:
  - "Ecto.Association.NotLoaded on user.posts"
root_cause: missing_preload
severity: medium
tags: [preload, association, n-plus-one]
---

# Association NotLoaded on User Posts

## Symptoms
Ecto.Association.NotLoaded raised when accessing user.posts
in UserListLive after filtering.

## Root Cause
Query in Accounts context missing preload for :posts.

## Solution
Added `Repo.preload(:posts)` to `list_users/1`.

## Prevention
Use n1-check skill before shipping list views.

Searching Solutions

Use Grep to search .claude/solutions/ by symptom (e.g., NotLoaded), by tag (e.g., tags:.*preload), or by component (e.g., component: ecto).

Integration

  • /phx:compound creates solution docs here
  • /phx:investigate searches here before debugging
  • /phx:plan consults for known risks
  • learn-from-fix feeds into this system

References

  • ${CLAUDE_SKILL_DIR}/references/schema.md — YAML frontmatter validation schema
  • ${CLAUDE_SKILL_DIR}/references/resolution-template.md — Full solution template
我的收藏