mcpField
C
compound-docs

compound-docs

github.com/oliver-kriskaDevelopment57140 installsUpdated 1w ago
Repository

About compound-docs

A searchable documentation skill for teams to record and reuse solutions from debugging work. It organizes one problem per file with required YAML metadata and prevention guidance, and integrates with the listed Phoenix workflows.

Key features

  1. 01Categorized solution documentation
  2. 02Search by symptom, tag, or component
  3. 03Required YAML frontmatter schema
  4. 04One problem per solution file
  5. 05Prevention guidance for each fix

Use cases

  1. 01Checking for known fixes before debugging
  2. 02Recording a resolved issue for later reuse
  3. 03Consulting known risks while planning

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oliver-kriska/claude-elixir-phoenix --skill compound-docs

After installing, type/compound-docsin Claude Code to confirm it loaded.

Bundled filesreferences/resolution-template.mdreferences/schema.md

Details

From the project README

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

Comments

Markdown supported