mcpField
C
compound-docs

compound-docs

github.com/oliver-kriska开发57140 次安装1 周前更新
代码仓库

关于 compound-docs

供团队记录和复用调试方案的可搜索文档技能。它按类别组织文档,要求每个问题单独成文并包含 YAML 元数据和预防建议,同时接入列出的 Phoenix 工作流。

主要功能

  1. 01分类整理解决方案文档
  2. 02按症状、标签或组件搜索
  3. 03强制使用 YAML 元数据
  4. 04每个文件记录一个问题
  5. 05为每种修复记录预防措施

适用场景

  1. 01调试前查找已知解决方案
  2. 02记录已解决问题以便复用
  3. 03规划时参考已知风险

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/compound-docs确认已加载。

附带文件references/resolution-template.mdreferences/schema.md

详细介绍

Compound 文档 — 机构知识库

可搜索、分类整理的解决方案文档,让每次调试都比上一次更轻松。

目录结构

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

铁律

  1. 务必先搜索解决方案,再进行调查 — 调试前检查 .claude/solutions/ 中是否已有修复方案
  2. YAML frontmatter 为必需项 — 每个解决方案都需要按照 ${CLAUDE_SKILL_DIR}/references/schema.md 提供经过验证的元数据
  3. 每个文件只解决一个问题 — 切勿合并多个解决方案
  4. 包含预防措施 — 每个解决方案都要说明如何 防止问题再次发生

解决方案文件格式

---
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.

搜索解决方案

使用 Grep 按症状(例如 NotLoaded)、标签(例如 tags:.*preload)或组件(例如 component: ecto)搜索 .claude/solutions/。

集成

  • /phx:compound 在此处创建解决方案文档
  • /phx:investigate 在调试前搜索此处
  • /phx:plan 查阅已知风险
  • learn-from-fix 将内容导入此系统

参考资料

  • ${CLAUDE_SKILL_DIR}/references/schema.md — YAML frontmatter 验证架构
  • ${CLAUDE_SKILL_DIR}/references/resolution-template.md — 完整的解决方案模板

评论

支持 Markdown