self-improvement

Captures learnings, errors, corrections, and feature requests to enable continuous improvement. Use when: (1) User corrects Claude ('No, that's wrong...', 'Actually...'), (2) User requests a capability that doesn't exist, (3) Claude realizes its knowledge is outdated or incorrect, (4) A better appro

By pskoett · 1,845 installs

npx skills add pskoett/pskoett-ai-skills --skill self-improvement

Source repository · Upstream listing

Self Improvement Skill Install For CI only execution, use: Fallback using the Agent Skills CLI: Log learnings and errors to markdown files for continuous improvement. Coding agents can later process these into fixes, and important learnings get promoted to project memory. Pair with [ self healing ](../self healing/SKILL.md): self healing is the active runtime recovery primitive — it diagnoses, patches, verifies, and files HEAL entries to .learnings/HEALS.md when something breaks mid task. Self improvement (this skill) is the passive accumulation and promotion layer — it logs corrections, knowledge gaps, and feature requests, and promotes recurring heal handoffs to permanent memory. They share .learnings/ but write to different files; verify discipline lives in self healing, promotion logic lives here. Quick Reference Situation Action Active failure mid task — agent needs to fix it now Use self healing instead (files verified HEAL to .learnings/HEALS.md ) Command/operation failed in the past (not actively healing) Log to .learnings/ERRORS.md User corrects you Log to .learnings/LEARNINGS.md with category correction User wants missing feature Log to .learnings/FEATURE REQUESTS.md API/external tool fails Log to .learnings/ERRORS.md with integration details Self healing Handoff block meets promotion rule (see Promotion Rule below) Promote the Distilled Rule to CLAUDE.md / AGENTS.md / new skill Knowledge was outdated Log to .learnings/LEARNINGS.md with category knowledge gap Found better approach Log to .learnings/LEARNINGS.md with category best practice Simplify/Harden recurring patterns Log/update .learnings/LEARNINGS.md with Source: simplify and harden and a stable Pattern Key Similar to existing entry Link with See Also , consider priority bump Broadly applicable learning Promote to CLAUDE.md , AGENTS.md , and/or .github/copilot instructions.md OpenClaw workspace targets (SOUL.md, TOOLS.md) See references/openclaw integration.md Setup Create .learnings/ directory in project root if it doesn't exist: Copy the file templates from assets/ ( LEARNINGS.md , ERRORS.md , FEATURE REQUESTS.md ) or create files with headers. Logging Format Learning Entry Append to .learnings/LEARNINGS.md : Error Entry Append to .learnings/ERRORS.md : Actual error message or output Feature Request Entry Append to .learnings/FEATURE REQUESTS.md : ID Generation Format: TYPE YYYYMMDD XXX TYPE: LRN (learning), ERR (error), FEAT (feature) YYYYMMDD: Current date XXX: Sequential number or random 3 chars (e.g., 001 , A7B ) Examples: LRN 20250115 001 , ERR 20250115 A3F , FEAT 20250115 002 Resolving Entries When an issue is fixed, update the entry: 1. Change Status : pending → Status : resolved 2. Add resolution block after Metadata: Other status values: in progress Actively being worked on wont fix Decided not to address (add reason in Resolution notes) promoted Elevated to CLAUDE.md, AGENTS.md, or .github/copilot instructions.md promoted to skill Extracted as a reusable skill (see Automatic Skill Extraction) Promoting to Project Memory When a learning is broadly applicable (not a one off fix), promote it to permanent project memory. When to Promote Learning applies across multiple files/features Knowledge any contributor (human or AI) should know Prevents recurring mistakes Documents project specific conventions Promotion Targets Target What Belongs There CLAUDE.md Project facts, conventions, gotchas for all Claude interactions AGENTS.md Agent specific workflows, tool usage patterns, automation rules .github/copilot instructions.md Project context and conventions for GitHub Copilot OpenClaw workspace targets ( SOUL.md , TOOLS.md ) are covered in references/openclaw integration.md . How to Promote 1. Distill the learning into a concise rule or fact 2. Add to appropriate section in target file (create file if needed) 3. Update original entry: Change Status : pending → Status : promoted Add Promoted : CLAUDE.md , AGENTS.md , or .github/copilot instructions.md Promotion Examples Learning (verbose): Project uses pnpm workspaces. Attempted npm install but failed. Lock file is pnpm lock.yaml . Must use pnpm install . In CLAUDE.md (concise): Learning (verbose): When modifying API endpoints, must regenerate TypeScript client. Forgetting this causes type mismatches at runtime. In AGENTS.md (actionable): Recurring Pattern Detection If logging something similar to an existing entry: 1. Search first : grep r "keyword" .learnings/ 2. Link entries : Add See Also : ERR 20250110 001 in Metadata 3. Bump priority if issue keeps recurring 4. Consider systemic fix : Recurring issues often indicate: Missing documentation (→ promote to CLAUDE.md or .github/copilot instructions.md) Missing automation (→ add to AGENTS.md) Architectural problem (→ create tech debt ticket) Simplify & Harden Feed Use this workflow to ingest recurring patterns from the simplify and harden skill and turn them into durable prompt guidance. Ingestion Workflow 1. Read simplify and harden.learning loop.candidates from the task summary. 2. For each candidate, use pattern key as the stable dedupe key. 3. Search .learnings/LEARNINGS.md for an existing entry with that key: grep n "Pattern Key: <pattern key " .learnings/LEARNINGS.md 4. If found: Increment Recurrence Count Update Last Seen Add See Also links to related entries/tasks 5. If not found: Create a new LRN ... entry Set Source: simplify and harden Set Pattern Key , Recurrence Count: 1 , and First Seen / Last Seen Promotion Rule (System Prompt Feedback) Promote recurring patterns into agent context/system prompt files when all are true: Recurrence Count = 3 Seen across at least 2 distinct tasks Occurred within a 30 day window Promotion targets: CLAUDE.md AGENTS.md .github/copilot instructions.md OpenClaw workspace files when applicable — see references/openclaw integration.md This three condition rule is the single promotion threshold for this skill. The Quick Reference row for self healing Handoff blocks and the aggregator skills ( learning aggregator , learning aggregator ci ) all use this same rule. Write promoted rules as short prevention rules (what to do before/while coding), not long incident write ups. Periodic Review Review .learnings/ at natural breakpoints: When to Review Before starting a new major task After completing a feature When working in an area with past learnings Weekly during active development Quick Status Check Review Actions Resolve fixed items Promote applicable learnings Link related entries Escalate recurring issues Detection Triggers Automatically log when you notice: Corrections (→ learning with correction category): "No, that's not right..." "Actually, it should be..." "You're wrong about..." "That's outdated..." Feature Requests (→ feature request): "Can you also..." "I wish you could..." "Is there a way to..." "Why can't you..." Knowledge Gaps (→ learning with knowledge gap category): User provides information you didn't know Documentation you referenced is outdated API behavior differs from your understanding Errors (→ error entry): Command returns non zero exit code Exception or stack trace Unexpected output or behavior Timeout or connection failure Priority Guidelines Priority When to Use critical Blocks core functionality, data loss risk, security issue high Significant impact, affects common workflows, recurring issue medium Moderate impact, workaround exists low Minor inconvenience, edge case, nice to have Area Tags Use to filter learnings by codebase region: Area Scope frontend UI, components, client side code backend API, services, server side code infra CI/CD, deployment, Docker, cloud tests Test files, testing utilities, coverage docs Documentation, comments, READMEs config Configuration files, environment, settings Best Practices 1. Log immediately context is freshest right after the issue 2. Be specific future agents need to understand quickly 3. Include reproduction steps especially for errors 4. Link related files makes fixes easier 5. Suggest concrete fixes not just "investigate" 6. Use consistent categories enables filtering 7. Promote aggressively if in doubt, add to CLAUDE.md or .github/copilot instructions.md 8. Review regularly stale learnings lose value Gitignore Options Keep learnings local (per developer): Track learnings in repo (team wide): Don't add to .gitignore learnings become shared knowledge. Hybrid (track templates, ignore entries): Hook Integration Enable automatic reminders through agent hooks. This is opt in you must explicitly configure hooks. The same two scripts work across Claude Code and Codex CLI (both deliver JSON on stdin and accept the same additionalContext output shape); Copilot hooks can log but not inject context, so Copilot uses the instructions file channel. Full per agent setup including Codex and Copilot: references/hooks setup.md . Quick Setup (Claude Code) Create .claude/settings.json in your project. The command path must point to where the skill is actually installed: .claude/skills/self improvement/ for gh skill install / npx skills add , or skills/self improvement/ if this repo is vendored into the project. Relative paths resolve from the project root. This injects a learning evaluation reminder after each prompt (~50 100 tokens overhead). Full Setup (With Error Detection) Hooks receive the event payload as JSON on stdin. The error detector parses tool response from that JSON and returns its reminder as additionalContext JSON output, which is required for PostToolUse output to reach the model. Available Hook Scripts Script Hook Type Purpose scripts/activator.sh UserPromptSubmit (Claude Code, Codex) Reminds to evaluate learnings after tasks (plain stdout is added to context for this event on both agents) scripts/error detector.sh PostToolUse (Claude Code, Codex), postToolUse (Copilot, logging only) Parses the stdin JSON payload for error patterns across all three agents' payload shapes; emits an additionalContext reminder See references/hooks setup.md for detailed configuration and troubleshooting. Automatic Skill Extraction When a learning is valuable enough to become a reusable skill, extract it using the provided helper. Skill Extraction Criteria A learning qualifies for skill extraction when ANY of these apply: Criterion Description Recurring Has See Also links to 2+ similar issues Verified Status is resolved with working fix Non obvious Required actual debugging/investigation to discover Broadly applicable Not project specific; useful across codebases User flagged User says "save this as a skill" or similar Extraction Workflow 1. Identify candidate : Learning meets extraction criteria 2. Run helper (or create manually): 3. Customize SKILL.md : Fill in template with learning content 4. Update learning : Set status to promoted to skill , add Skill Path 5. Verify : Read skill in fresh session to ensure it's self contained Manual Extraction If you prefer manual creation: 1. Create skills/<skill name /SKILL.md 2. Use template from assets/SKILL TEMPLATE.md 3. Follow [Agent Skills spec](https://agentskills.io/specification