
Learn From Fix
Capture Elixir/Ecto/LiveView lessons and Hex API rules.
Install
npx skills add oliver-kriska/claude-elixir-phoenix --skill learn-from-fix -g -a claude-code -y- Repository
- oliver-kriska/claude-elixir-phoenix572
- Category
- Engineering
- Updated
- 5d ago
- License
- MIT
- Context cost
- Mediumabout 1,687 tokens
- Runs scripts
- No, instructions only
What it does
Capture Elixir/Ecto/LiveView lessons and Hex API rules. Use after corrections or when asked to document learning, record a lesson, prevent a fixed mistake, or remember package guidance with --library.
Learn From Fix
After fixing a bug or receiving a correction, capture the lesson to prevent future mistakes.
Usage
/phx:learn-from-fix Fixed N+1 query in user listing - was missing preload
/phx:learn-from-fix String vs atom key mismatch in params handling
/phx:learn-from-fix LiveView assign_async needs render_async in tests
/phx:learn-from-fix --library ical --scope personal ICal.to_ics output needs CRLF line endings
/phx:learn-from-fix --library ical --scope project Use method: "PUBLISH" for calendar feeds
Workflow
Step 1: Verify the Lesson
Persist only one of:
- A completed fix verified by tests, reproduction, or user confirmation
- An explicit rule the user taught or asked to save
Stop without writing if neither condition is met.
Do not save a hypothesis, unverified workaround, investigation narrative, or
unsolved error. Use /phx:compound for a detailed completed investigation.
Capture the root cause as a concise actionable rule, not the symptom.
Step 2: Select the Route
When both --library <package> and --scope personal|project are present,
use the Library Route. Require both flags; do not guess scope.
For the skill directory only, trim surrounding whitespace and lowercase the
package name. Preserve underscores when forming directory names
(phoenix_live_view becomes hex-phoenix_live_view).
Validate the normalized name against ^[a-z][a-z0-9_]+$. If it does not match,
ask for a valid Hex package identifier instead of replacing characters or
inventing a name. Use the trimmed original identifier, not the normalized
directory name, to look up mix.lock.
Without --library, use the General Correction Route.
Step 3: Check Existing Knowledge
Check if already documented:
