self-improvement
Skill2 starsChanged 9 months agoMITView on GitHub
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.
33 other projects use a version of this, 20 of them edited.
Adopted by
Most recently taken up by
- TrueImmortal82/open-code-skillstheir own version, first seen Nov 8, 2026
- wagmarsouza/trace-lessontheir own version, first seen Nov 8, 2026
- Elong-svg/business-plan-factoryedited, first seen Nov 8, 2026
- cjh-solver/MathModeling-Skills-Arsenaledited, first seen Nov 8, 2026
- cormacc/dotagentstheir own version, first seen Nov 4, 2026
- pfeff/claude-skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use skill-vetter, browser-use and 4 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
LaoK2017Skillskill-vetter
Security review and audit tool for AI agent skills. Use when asked to "vet a skill", "check skill security", "audit a skill", or when reviewing skills before installation to detect malicious code, unauthorized access, and suspicious patterns.
Also in 3 projects that use this
Saik0sSkillbrowser-use
AI-driven browser automation via Model Context Protocol
Also in 3 projects that use this
VercelSkillagent-browser
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
Also in 6 projects that use this
VercelSkillfind-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Also in 6 projects that use this
SentrySkillskill-creator
Create new agent skills following the Agent Skills specification. Use when asked to "create a skill", "add a new skill", "write a skill", "make a skill", "build a skill", or scaffold a new skill with SKILL.md. Guides through requirements, writing, registration, and verification.
Also in 5 projects that use this
BlockSkillfrontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Also in 3 projects that use this
Other versions33 projects use a version of this.
Word for word · 0
None found.
Edited · 20
- wanikua/boluobobo-ai-court-tutorial★ 2.7k73% same
- InternLM/WildClawBench★ 53473% same
- pskoett/pskoett-ai-skills★ 32755% same
- kunwl123456/zeroclaw-skills-collection★ 2785% same
- OpenBMB/EC2-Bench★ 1973% same
- eraycc/Openclaw-Skills★ 1673% same
- cjh-solver/MathModeling-Skills-Arsenal★ 1462% same
- hua695/MathModeling-Skills-Arsenal★ 1262% same
- lanyasheng/self-improving-agent★ 821% same
- seasky7c/legal-skills★ 485% same
10 more not listed
Wrote their own version · 13
- bokan/claude-skill-self-improvement★ 12same name
- ozten/skills★ 7same name
- devantler-tech/agent-skills★ 3same name
- pfeff/claude-skills★ 3same name
- codewandler/flux★ 1same name
- cormacc/dotagents★ 1same name
- juandelossantos/another-agent-skills★ 1same name
- Megaprompting/titans-disposition★ 1same name
- bocodes1/claude-skills★ 0same name
- Leostruka/devin-bundle★ 0same name
3 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository27 other files it gives its agents.
- Agent BrowserSkill
- agent-governanceSkill
- agent-system-learning-loopSkill
- agent-system-live-quality-opsSkill
- agent-system-memory-proactivity-opsSkill
- agent-system-output-hygiene-opsSkill
- agent-system-stability-opsSkill
- auto-updaterSkill
- deep-researchSkill
- domaindetailsSkill
- hnSkill
- humanizerSkill
- memory-hygieneSkill
- model-usageSkill
- nano-pdfSkill
- news-aggregator-skillSkill
- orchestrator-loopSkill
- prompt-guardSkill
- security-reviewSkill
- structured-brainstormingSkill
- subagent-executionSkill
- summarizeSkill
- systematic-debuggingSkill
- tavilySkill
- tdd-workflowSkill
- topic-monitorSkill
- verification-gateSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
26 rules. 0 are common, 18 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 32 edited versions we read keep these.
18
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
Create .learnings/ directory in project root if it doesn't exist:
- Distinctive: line 146
When an issue is fixed, update the entry:
- Distinctive: line 149
Add resolution block after Metadata:
- Distinctive: line 165
When a learning is broadly applicable (not a one-off fix), promote it to permanent project memory.
- Very specific: line 190
Add Promoted: CLAUDE.md, AGENTS.md, or .github/copilot-instructions.md
- Distinctive: line 217
If logging something similar to an existing entry:
- Very specific: line 220
Link entries: Add See Also: ERR-20250110-001 in Metadata
- Distinctive: line 221
Bump priority: if issue keeps recurring
- Distinctive: line 232
Before starting a new major task
- Distinctive: line 233
After completing a feature
- Distinctive: line 234
When working in an area with past learnings
- Distinctive: line 293
Use to filter learnings by codebase region:
- Distinctive: line 310
Suggest concrete fixes: - not just "investigate"
- Very specific: line 312
Promote aggressively: - if in doubt, add to CLAUDE.md or .github/copilot-instructions.md
- Distinctive: line 323
Don't add to .gitignore - learnings become shared knowledge.
- Very specific: line 337
Create .claude/settings.json in your project:
- Distinctive: line 389
When a learning is valuable enough to become a reusable skill, extract it using the provided helper.
- Distinctive: line 413
Verify: Read skill in fresh session to ensure it's self-contained
- Distinctive: line 417
If you prefer manual creation:
- Very specific: line 420
Use template from assets/SKILL-TEMPLATE.md
- Distinctive: line 421
Follow Agent Skills spec:
- Distinctive: line 424
No README.md inside skill folder
- Very specific: line 471
Setup: Add to .github/copilot-instructions.md:
- Distinctive: line 542
sessions_history: - Read transcript from another session
- Very specific: line 548
Keep .learnings/ for project-specific learnings
- Distinctive: line 549
Use clawdbot workspace files for cross-project patterns
“Common” is measured: kept by at least 6 in 10 of the 32 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Self-Improvement Skill
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.
Quick Reference
| Situation | Action |
| Command/operation fails | 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 |
| Knowledge was outdated | Log to .learnings/LEARNINGS.md with category knowledge_gap |
| Found better approach | Log to .learnings/LEARNINGS.md with category best_practice |
| 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 |
| Workflow improvements | Promote to AGENTS.md (clawdbot workspace) |
| Tool gotchas | Promote to TOOLS.md (clawdbot workspace) |
| Behavioral patterns | Promote to SOUL.md (clawdbot workspace) |
Setup
Create .learnings/ directory in project root if it doesn't exist:
mkdir -p .learningsCopy templates from assets/ or create files with headers.
Logging Format
Learning Entry
Append to .learnings/LEARNINGS.md:
## [LRN-YYYYMMDD-XXX] category
**Logged**: ISO-8601 timestamp
**Priority**: low | medium | high | critical
**Status**: pending
**Area**: frontend | backend | infra | tests | docs | config
### Summary
One-line description of what was learned
### Details
Full context: what happened, what was wrong, what's correct
### Suggested Action
Specific fix or improvement to make
### Metadata
- Source: conversation | error | user_feedback
- Related Files: path/to/file.ext
- Tags: tag1, tag2
- See Also: LRN-20250110-001 (if related to existing entry)
---Error Entry
Append to .learnings/ERRORS.md:
## [ERR-YYYYMMDD-XXX] skill_or_command_name
**Logged**: ISO-8601 timestamp
**Priority**: high
**Status**: pending
**Area**: frontend | backend | infra | tests | docs | config
### Summary
Brief description of what failed
### ErrorActual error message or output
### Context
- Command/operation attempted
- Input or parameters used
- Environment details if relevant
### Suggested Fix
If identifiable, what might resolve this
### Metadata
- Reproducible: yes | no | unknown
- Related Files: path/to/file.ext
- See Also: ERR-20250110-001 (if recurring)
---Feature Request Entry
Append to .learnings/FEATURE_REQUESTS.md:
## [FEAT-YYYYMMDD-XXX] capability_name
**Logged**: ISO-8601 timestamp
**Priority**: medium
**Status**: pending
**Area**: frontend | backend | infra | tests | docs | config
### Requested Capability
What the user wanted to do
### User Context
Why they needed it, what problem they're solving
### Complexity Estimate
simple | medium | complex
### Suggested Implementation
How this could be built, what it might extend
### Metadata
- Frequency: first_time | recurring
- Related Features: existing_feature_name
---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:
- Change
**Status**: pending→**Status**: resolved - Add resolution block after Metadata:
### Resolution
- **Resolved**: 2025-01-16T09:00:00Z
- **Commit/PR**: abc123 or #42
- **Notes**: Brief description of what was doneOther status values:
in_progress- Actively being worked onwont_fix- Decided not to address (add reason in Resolution notes)promoted- Elevated to CLAUDE.md, AGENTS.md, or .github/copilot-instructions.md
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 |
SOUL.md | Behavioral guidelines, communication style, principles (clawdbot) |
TOOLS.md | Tool capabilities, usage patterns, integration gotchas (clawdbot) |
How to Promote
- Distill the learning into a concise rule or fact
- Add to appropriate section in target file (create file if needed)
- Update original entry:
- Change
**Status**: pending→**Status**: promoted - Add
**Promoted**: CLAUDE.md,AGENTS.md, or.github/copilot-instructions.md
- Change
Promotion Examples
Learning (verbose):
Project uses pnpm workspaces. Attempted
npm installbut failed. Lock file ispnpm-lock.yaml. Must usepnpm install.
In CLAUDE.md (concise):
## Build & Dependencies
- Package manager: pnpm (not npm) - use `pnpm install`Learning (verbose):
When modifying API endpoints, must regenerate TypeScript client. Forgetting this causes type mismatches at runtime.
In AGENTS.md (actionable):
## After API Changes
1. Regenerate client: `pnpm run generate:api`
2. Check for type errors: `pnpm tsc --noEmit`Recurring Pattern Detection
If logging something similar to an existing entry:
- Search first:
grep -r "keyword" .learnings/ - Link entries: Add
**See Also**: ERR-20250110-001in Metadata - Bump priority if issue keeps recurring
- 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)
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
# Count pending items
grep -h "Status\*\*: pending" .learnings/*.md | wc -l
# List pending high-priority items
grep -B5 "Priority\*\*: high" .learnings/*.md | grep "^## \["
# Find learnings for a specific area
grep -l "Area\*\*: backend" .learnings/*.mdReview 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
- Log immediately - context is freshest right after the issue
- Be specific - future agents need to understand quickly
- Include reproduction steps - especially for errors
- Link related files - makes fixes easier
- Suggest concrete fixes - not just "investigate"
- Use consistent categories - enables filtering
- Promote aggressively - if in doubt, add to CLAUDE.md or .github/copilot-instructions.md
- Review regularly - stale learnings lose value
Gitignore Options
Keep learnings local (per-developer):
.learnings/Track learnings in repo (team-wide): Don't add to .gitignore - learnings become shared knowledge.
Hybrid (track templates, ignore entries):
.learnings/*.md
!.learnings/.gitkeepHook Integration
Enable automatic reminders through agent hooks. This is opt-in - you must explicitly configure hooks.
Quick Setup (Claude Code / Codex)
Create .claude/settings.json in your project:
{
"hooks": {
"UserPromptSubmit": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "./skills/self-improvement/scripts/activator.sh"
}]
}]
}
}This injects a learning evaluation reminder after each prompt (~50-100 tokens overhead).
Full Setup (With Error Detection)
{
"hooks": {
"UserPromptSubmit": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "./skills/self-improvement/scripts/activator.sh"
}]
}],
"PostToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "./skills/self-improvement/scripts/error-detector.sh"
}]
}]
}
}Available Hook Scripts
| Script | Hook Type | Purpose |
scripts/activator.sh | UserPromptSubmit | Reminds to evaluate learnings after tasks |
scripts/error-detector.sh | PostToolUse (Bash) | Triggers on command errors |
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
- Identify candidate: Learning meets extraction criteria
- Run helper (or create manually):
./skills/self-improvement/scripts/extract-skill.sh skill-name --dry-run ./skills/self-improvement/scripts/extract-skill.sh skill-name - Customize SKILL.md: Fill in template with learning content
- Update learning: Set status to
promoted_to_skill, addSkill-Path - Verify: Read skill in fresh session to ensure it's self-contained
Manual Extraction
If you prefer manual creation:
- Create
skills/<skill-name>/SKILL.md - Use template from
assets/SKILL-TEMPLATE.md - Follow Agent Skills spec:
- YAML frontmatter with
nameanddescription - Name must match folder name
- No README.md inside skill folder
- YAML frontmatter with
Extraction Detection Triggers
Watch for these signals that a learning should become a skill:
In conversation:
- "Save this as a skill"
- "I keep running into this"
- "This would be useful for other projects"
- "Remember this pattern"
In learning entries:
- Multiple
See Alsolinks (recurring issue) - High priority + resolved status
- Category:
best_practicewith broad applicability - User feedback praising the solution
Skill Quality Gates
Before extraction, verify:
- Solution is tested and working
- Description is clear without original context
- Code examples are self-contained
- No project-specific hardcoded values
- Follows skill naming conventions (lowercase, hyphens)
Multi-Agent Support
This skill works across different AI coding agents with agent-specific activation.
Claude Code
Activation: Hooks (UserPromptSubmit, PostToolUse)
Setup: .claude/settings.json with hook configuration
Detection: Automatic via hook scripts
Codex CLI
Activation: Hooks (same pattern as Claude Code)
Setup: .codex/settings.json with hook configuration
Detection: Automatic via hook scripts
GitHub Copilot
Activation: Manual (no hook support)
Setup: Add to .github/copilot-instructions.md:
## Self-Improvement
After solving non-obvious issues, consider logging to `.learnings/`:
1. Use format from self-improvement skill
2. Link related entries with See Also
3. Promote high-value learnings to skills
Ask in chat: "Should I log this as a learning?"Detection: Manual review at session end
Clawdbot
Activation: Workspace injection + inter-agent messaging
Setup: Configure workspace path in ~/.clawdbot/clawdbot.json
Detection: Via session tools and workspace files (AGENTS.md, SOUL.md, TOOLS.md)
Clawdbot uses a workspace-based model with injected prompt files. See references/clawdbot-integration.md for detailed setup.
Agent-Agnostic Guidance
Regardless of agent, apply self-improvement when you:
- Discover something non-obvious - solution wasn't immediate
- Correct yourself - initial approach was wrong
- Learn project conventions - discovered undocumented patterns
- Hit unexpected errors - especially if diagnosis was difficult
- Find better approaches - improved on your original solution
Copilot Chat Integration
For Copilot users, add this to your prompts when relevant:
After completing this task, evaluate if any learnings should be logged to
.learnings/using the self-improvement skill format.
Or use quick prompts:
- "Log this to learnings"
- "Create a skill from this solution"
- "Check .learnings/ for related issues"
Clawdbot Integration
Clawdbot uses workspace-based prompt injection with specialized files for different concerns.
Workspace Structure
~/.agent-evolution/ # Default workspace (configurable)
├── AGENTS.md # Multi-agent workflows, delegation patterns
├── SOUL.md # Behavioral guidelines, communication style
├── TOOLS.md # Tool capabilities, MCP integrations
└── sessions/ # Session transcripts (auto-managed)Clawdbot Promotion Targets
| Learning Type | Promote To | Example |
| Agent coordination | AGENTS.md | "Delegate file searches to explore agent" |
| Communication style | SOUL.md | "Be concise, avoid disclaimers" |
| Tool gotchas | TOOLS.md | "MCP server X requires auth refresh" |
| Project facts | CLAUDE.md | Standard project conventions |
Inter-Agent Learning
Clawdbot supports session-based communication:
- sessions_list - See active/recent sessions
- sessions_history - Read transcript from another session
- sessions_send - Send message to another session
Hybrid Setup (Claude Code + Clawdbot)
When using both:
- Keep
.learnings/for project-specific learnings - Use clawdbot workspace files for cross-project patterns
- Sync high-value learnings to both systems
See references/clawdbot-integration.md for complete setup, promotion formats, and troubleshooting.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

