mcpbeat

Compound Docs

oliver-kriska/claude-elixir-phoenix-codex-compound-docs

Searchable Elixir/Phoenix/Ecto solution documentation system with; Use when consulting past solutions…

2k tokens
context cost
the whole folder, loaded on every use
3
files
instructions only
0
copies elsewhere
how many repositories repackaged it
514
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/oliver-kriska/claude-elixir-phoenix --skill compound-docs

What comes with it

5 664 bytes besides the instruction
references/resolution-template.md
references/schema.md

The instruction itself

7 sections, as written by the author

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

  • ALWAYS search solutions before investigating — Check

.claude/solutions/ for existing fixes before debugging

  • YAML frontmatter is MANDATORY — Every solution needs

validated metadata per references/schema.md

  • One problem per file — Never combine multiple solutions
  • 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

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

References

  • references/schema.md — YAML frontmatter validation schema
  • references/resolution-template.md — Full solution template

How to use it

Copy the folder

Take oliver-kriska/claude-elixir-phoenix-codex-compound-docs from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.