Self-Improvement System
This skill runs a continuous self-improvement loop. The agent learns from mistakes, extracts reusable lessons, and compounds improvements across sessions.
Privacy and Data Safety — read this first
All log entries must describe reasoning errors and process failures only. They must never contain user data.
Never log any of the following:
- Personally identifiable information (names, emails, phone numbers, addresses, IDs)
- Credentials, API keys, tokens, or passwords
- Financial data, account numbers, or transaction details
- Health, legal, or other sensitive personal information
- Verbatim user messages or any direct quotes from user input
- File contents, code, or data provided by the user
Log only:
- The type of reasoning error that occurred
- The process step where it happened
- The abstract root cause (e.g. "skipped validation step", "assumed tool was available")
- The preventive rule in general terms
If describing a mistake requires including any user-provided content, paraphrase in fully abstract terms or omit the detail entirely. When in doubt about whether a detail is safe to log, leave it out.
Session Startup — always do this first
Before taking any action in a new session, read the following files if they exist:
soul.md— core behavioural principles (these override defaults)lessons.md— extracted rules and heuristicsjournal.md— recent decision log (last 50 lines)
If none exist, proceed normally. If any exist, incorporate their guidance into your behaviour for this session.
After Every Meaningful Action
After completing a non-trivial task (decision, code change, research, design), ask:
- Did I make any errors or near-misses?
- What did I learn that might be useful next time?
- Should I update my soul, lessons, or journal?
If yes to any, update accordingly. Don't overthink it — be brief and practical.
What to Log
Update soul.md when you discover a persistent preference or principle
## [Date]
- Added: [principle/preference]
- Reason: [why this matters]
- Revision: [if updating old principle]
Update lessons.md when you learn a practical shortcut or pattern
## [Date]
- Lesson: [what you learned]
- Context: [when this applies]
- Evidence: [how you know it works]
Update journal.md when you make a notable decision or tradeoff
## [Date] — [Brief title]
- Situation: [what was at stake]
- Decision: [what you chose]
- Tradeoff: [what you sacrificed]
Important Rules
- Be concise. A short log entry is better than no entry.
- Be honest. Record failures and uncertainties, not just successes.
- Be abstract. Never include user data, credentials, or identifiable information.
- Be practical. Only log things that might actually help you later.
- Don't over-log. Not every action deserves a journal entry. Use judgment.
Why This Matters
Agents without memory repeat the same mistakes. Agents with poor memory make inconsistent decisions. A well-maintained soul/lessons/journal system turns each session into a building block for a more competent, coherent agent over time.
This skill exists to make that accumulation automatic rather than accidental.