Version: 1.0.0
This file stores candidate reusable lessons discovered during real project work.
It sits between:
OBSERVATION
and:
PERMANENT AI-SYSTEM CHANGE
Not every observation should become:
AGENTS.md updateThe learning ledger allows evidence to accumulate first.
Use:
OBSERVE
↓
CAPTURE
↓
REUSE / REPEAT?
↓
PROMOTE
instead of:
OBSERVE
↓
IMMEDIATELY ADD PERMANENT RULE
This prevents instruction bloat.
Capture a learning candidate when real work reveals:
Do not record:
The ledger should contain signal.
Copy this template for each candidate.
---
## YYYY-MM-DD — Short Descriptive Title
### Observed During
Describe the task or project context.
### Evidence
What actually happened?
Include evidence such as:
- repeated error
- user correction
- failed test
- successful repeated method
- manual workaround
- project convention
### Candidate Lesson
State the possible reusable lesson in one or two clear sentences.
### Scope
Choose one:
- GLOBAL AGENT
- MODEL-SPECIFIC
- PROJECT-SPECIFIC
- SKILL-SPECIFIC
- PROMPT-SPECIFIC
- TEMPLATE
- AUTOMATION
- PROJECT DOCUMENTATION
- UNKNOWN
### Candidate Destination
Examples:
AGENTS.md
CLAUDE.md
.ai/skills/existing-skill/SKILL.md
.ai/skills/new-skill/SKILL.md
.ai/prompts/example.md
.ai/templates/example.md
project documentation
none
### Confidence
LOW
MEDIUM
HIGH
### Repetition Count
1
Increase when the same lesson appears again.
### Action
PENDING
PROMOTED
REJECTED
REVISIT
### Promotion Reason
Complete only if promoted.
### Result After Reuse
What happened when the promoted improvement was used again?
### Related Changelog
Version or changelog entry, if applicable.
---
Use when:
one incident
uncertain cause
weak evidence
possible coincidence
Do not usually promote a LOW-confidence lesson.
Use when:
pattern appeared more than once
cause is reasonably understood
lesson appears reusable
A MEDIUM lesson may justify a small skill or prompt improvement.
Use when:
repeated evidence
clear user correction
reproducible failure
verified project convention
successful repeated procedure
HIGH-confidence lessons are strong candidates for promotion.
Repetition count tracks how often the pattern appears.
Example:
Repetition Count: 1
Later:
Repetition Count: 2
Then:
Repetition Count: 4
Repeated evidence increases confidence.
Do not treat repetition count as the only criterion.
One serious verified failure may justify immediate action.
Before promoting a learning, check:
Is it reusable?
Is the cause understood?
Is the lesson actionable?
Does it already exist elsewhere?
Is the proposed destination correct?
Can we test the improvement?
Could the change create broader problems?
If not, leave it pending.
Use when the lesson applies to:
most agents
most tasks
repository-wide agent behavior
Example:
Always inspect existing database migration scripts before designing a new migration.
Use when the lesson specifically concerns Claude behavior.
Example:
Claude should inspect the diff after broad search-and-replace edits.
Prefer this when the lesson extends an existing procedure.
Example:
mirror-audit should check service-account permissions during deployment reviews.
Create only when:
procedure is reusable
trigger is recognizable
workflow is substantial enough
existing skills do not own it
Use when the lesson concerns launching or structuring a repeated interaction.
Use when the reusable asset is primarily structural.
Use when the lesson is a project fact.
Example:
Production deployments must target IIS App Pool ScheduliciousPool.
That is not a general agent rule.
Reject candidate learning when:
it was a one-off incident
the original diagnosis was wrong
it duplicates existing guidance
it creates more process than value
the project changed
testing shows the proposed improvement is worse
Do not delete the entry immediately.
A rejected lesson can provide useful historical context.
Mark:
Action: REJECTED
and explain why.
Several Classic ASP controller implementations.
Four controllers required the same initialization sequence:
Controller creation follows a stable reusable project pattern and should not be rediscovered each time.
PROJECT-SPECIFIC
.ai/skills/classic-asp-controller/SKILL.md
HIGH
4
PROMOTED
The procedure occurred repeatedly and has a clear input/process/output structure.
Pending.
JavaScript edit.
A semicolon was accidentally omitted.
Agents should remember semicolons.
LOW
1
REJECTED
Ordinary isolated coding mistake. Existing syntax checking already handles this.
Automated CSV import into Access.
The import command returned successfully even when some records were rejected.
Successful command completion is insufficient verification for data imports.
Imports should compare:
expected rows
imported rows
rejected rows
SKILL-SPECIFIC
.ai/skills/access-csv-import/SKILL.md
HIGH
2
PENDING
Several small bug fixes.
The planning prompt generated long multi-section plans for changes involving one or two lines.
Planning depth should scale with task complexity.
PROMPT-SPECIFIC
.ai/prompts/plan.md
HIGH
3
PROMOTED
Large repository investigation.
Claude read broad directories despite the target subsystem being known.
Claude should search first and expand file context incrementally.
MODEL-SPECIFIC
CLAUDE.md
MEDIUM
2
PROMOTED
Periodically review PENDING entries.
For each entry decide:
PROMOTE
KEEP PENDING
REJECT
MERGE WITH ANOTHER LEARNING
Look especially for several related entries that should become one generalized skill.
Suppose the ledger contains:
PowerShell deployment failed because service wasn't stopped.
PowerShell deployment failed because App Pool was locked.
PowerShell deployment failed because files were still in use.
Instead of three skills, generalize:
Safe Windows Application Deployment
with:
pre-deployment checks
service/app-pool handling
file lock checks
deployment
restart
health verification
rollback
The generalized procedure is the useful asset.
Do not capture only failures.
Useful successful observations include:
"This audit consistently catches migration problems."
"This three-step debugging process isolated the issue quickly."
"This template produces reliable project updates."
"This deployment validation catches configuration drift."
These can become:
Success is training data for the AI-OS.
User corrections are high-value signals.
If the user repeatedly says:
"Don't use React in this project."
"Always use parameterized ADODB commands."
"Each street needs its own worksheet."
"Do not rewrite the whole file."
determine whether the correction represents:
task-specific instruction
project rule
persistent workflow preference
general agent improvement
Store it in the narrowest correct location.
A single correction does not automatically imply a universal rule.
Example:
User:
"Don't use React for this application."
Do not infer:
"User never wants React anywhere."
Instead record the project-specific constraint if relevant.
REAL WORK
↓
OBSERVATION
↓
LEARNING ENTRY
↓
MORE EVIDENCE?
↓
GENERALIZE
↓
CHOOSE DESTINATION
↓
MODIFY AI-OS
↓
SYSTEM AUDIT
↓
TEST
↓
CHANGELOG
↓
MARK PROMOTED
Keep this file useful.
Periodically:
Do not turn the ledger into an endless event log.
No project-specific learning has been recorded yet.
The first entries should come from real project work.
Powered by TurnKey Linux.