Learning From Mistakes
Writes a resolved bug up as a one-file lesson under docs/learning-from-mistakes/
Test report
- Verdict
- Tested · Works
- Score
- Tested
- Jul 31, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · 3e1e2d9
Cloned into a throwaway HOME and copied the dir to ~/.claude/skills — SKILL.md landed at the expected path; frontmatter parsed via yaml.safe_load to exactly {name, description}; the two paths the body references (docs/learning-from-mistakes/.gitkeep, NOTES.md) both return HTTP 200; grep for curl|sh, base64 -d, api keys and injection phrasing found nothing. Output test: same scenario both times — a two-hour hunt where `new Date("2026-03-10")` parsed as UTC midnight and shifted invoice dates a day back for US users, with the user pointing at the Date constructor. Baseline (262 words, headings "What happened / Investigation / Fix / Prevention", 2 code blocks, ad-hoc filename) titled the doc by the symptom and ended in fix-specific TODOs (add a lint rule, add a TZ test); the skill artifact (203 words, fixed Symptom/Root cause/Resolution/Lesson, `docs/learning-from-mistakes/date-only-string-parses-as-utc-midnight.md`) titled it by the transferable cause, added a `**Date**: … · **Area**: …` line, credited the user's guidance (0 vs 1 mentions), and its Lesson section states a recognition heuristic the baseline never produced: "A timezone bug that only appears for some users is a parsing bug, not a transport bug." Real cost: the skill's brevity rule dropped both code snippets the baseline included.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 4/5
- Output vs. baseline 7/10
- Docs & honesty 4/5
What Learning From Mistakes does
Turns a just-resolved bug into a short lesson file at docs/learning-from-mistakes/<slug>.md with four fixed sections: Symptom, Root cause, Resolution, Lesson. Triggers when a debugging hunt ends in a non-obvious cause, when the user had to point out the answer, or when asked to write up a bug so it is not relearned. Also instructs the agent to scan the folder before declaring a hard bug unsolvable.
How to install Learning From Mistakes
git clone --depth 1 https://github.com/syahiidkamil/Software-Engineer-AI-Agent-Atlas.git /tmp/learning-from-mistakes-src
mkdir -p ~/.claude/skills
cp -R /tmp/learning-from-mistakes-src/.claude/skills/learning-from-mistakes ~/.claude/skills/learning-from-mistakes
# Single 1.9 KB SKILL.md, no scripts, no dependencies, no API keys.
# Part of the multi-skill ATLAS agent repo; the clone pulls the whole repo, only this dir is copied.
# The skill writes lessons to docs/learning-from-mistakes/<slug>.md relative to your project root.
# Its prose is written in the repo's persona ("ATLAS", "Boss" = the user) and cross-references
# that repo's NOTES.md entropy rule; harmless elsewhere, but expect those two words in output.
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Learning From Mistakes
-
/learning-from-mistakesWrites a resolved bug up as a one-file lesson under docs/learning-from-mistakes/
It also activates on plain-language prompts like these:
-
Record what we learned from this bug -
Save this debugging lesson for next time -
Document the root cause of today's mistake
Frequently asked questions
- Is the Learning From Mistakes skill free?
- Yes. The skill itself is free from syahiidkamil/Software-Engineer-AI-Agent-Atlas. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Learning From Mistakes work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 31, 2026. Verdict: Tested · Works. Cloned into a throwaway HOME and copied the dir to ~/.claude/skills — SKILL.md landed at the expected path; frontmatter parsed via yaml.safe_load to exactly {name, description}; the two paths the body references (docs/learning-from-mistakes/.gitkeep, NOTES.md) both return HTTP 200; grep for curl|sh, base64 -d, api keys and injection phrasing found nothing. Output test: same scenario both times — a two-hour hunt where `new Date("2026-03-10")` parsed as UTC midnight and shifted invoice dates a day back for US users, with the user pointing at the Date constructor. Baseline (262 words, headings "What happened / Investigation / Fix / Prevention", 2 code blocks, ad-hoc filename) titled the doc by the symptom and ended in fix-specific TODOs (add a lint rule, add a TZ test); the skill artifact (203 words, fixed Symptom/Root cause/Resolution/Lesson, `docs/learning-from-mistakes/date-only-string-parses-as-utc-midnight.md`) titled it by the transferable cause, added a `**Date**: … · **Area**: …` line, credited the user's guidance (0 vs 1 mentions), and its Lesson section states a recognition heuristic the baseline never produced: "A timezone bug that only appears for some users is a parsing bug, not a transport bug." Real cost: the skill's brevity rule dropped both code snippets the baseline included.
- What is the Learning From Mistakes SkillProof Score?
- 8.0/10 — installs cleanly 5/5, triggers reliably 4/5, output vs. baseline 7/10, docs & honesty 4/5.
- How do I install Learning From Mistakes?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Learning From Mistakes with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.