Guide to analyze a current work session and propose improvements to skills. Use (1) automatically after working with a skill to capture learnings, (2) when the user suggests improvements, corrections, or additions during a skill-related session, or (3) when the user manually invokes `self-improve`.
npx skills add https://github.com/lawve-ai/awesome-legal-skills --skill skill-optimizer-lawvable
Analyze the current conversation and propose improvements to skills based on corrections, successes, and edge cases discovered during the work session.
self-improve - Analyze session and propose improvementsself-improve [skill-name] - Target a specific skillself-improve on - Enable automatic mode (hook)self-improve off - Disable automatic modeself-improve status - Show automatic mode statusself-improve [skill-name] history - Show modification historyself-improve)If skill name not provided, list available skills from skills/ directory and ask:
Which skill should I analyze for this session?
[List skills found in skills/ directory]
Scan the conversation for signals - moments where the user expressed feedback:
| Signal Type | Examples |
|-------------|----------|
| Correction | "No", "That's not right", "It's missing X", "Always do Y", user rewrites output |
| Success | "Perfect", "Yes", "Exactly", user accepts without changes |
| Edge case | User needed a workaround, skill couldn't handle the request |
For each correction signal, evaluate if it can become a good skill instruction.
1. COMPLETE
The instruction includes all information needed to apply it. No need to look elsewhere or make assumptions.
| Grade | Example |
|-------|---------|
| Pass | "Structure output as: Key Terms / Risk Areas / Suggested Revisions" |
| Fail | "Use the standard format" (which format?) |
| Fail | "Follow our firm's guidelines" (what guidelines?) |
2. PRECISE
No vague or subjective terms. Two different people reading the instruction would understand it the same way.
| Grade | Example |
|-------|---------|
| Pass | "Flag non-compete clauses over 12 months as high risk" |
| Fail | "Be more thorough in the analysis" |
| Fail | "Make it more appropriate for clients" |
3. ATOMIC
One instruction addresses one single requirement. Multiple checks should be split into separate instructions.
| Grade | Example |
|-------|---------|
| Pass | "Check for governing law clause" |
| Fail | "Check for governing law, jurisdiction, and arbitration clauses" (three checks - split them) |
4. STABLE
If referencing regulations or standards, specify the version or date. The instruction should be evaluable the same way regardless of when it's read.
| Grade | Example |
|-------|---------|
| Pass | "Review the termination provisions under our internal policy [policy name and reference], dated December 12, 2024." |
| Fail | "Follow latest market standards" (which standards? will change over time) |
| Criteria Met | Action |
|--------------|--------|
| All 4 criteria pass | Add to skill directly |
| Less than 4 criteria | Ask for clarification (see Step 5) |
When feedback doesn't meet all criteria, ask for what's missing using the AskUserQuestion tool:
I detected a correction but need more information to improve the skill.
You said: "[user's feedback]"
To create a clearer instruction, I need the following information:
[Structured tool call listing what's missing based on failed criteria]
If the user provides clarification → Update the instruction and proceed to Step 6.
If the user prefers the original → Proceed to Step 6 with the original instruction.
--- Learning: [skill-name] ---
Proposed additions:
1. "[exact instruction to add]"
Source: "[quote from conversation]"
2. "[exact instruction to add]"
Source: "[quote from conversation]"
---
Apply these changes? [Y/n]
skills/[skill-name]/SKILL.mdskills/[skill-name]/CHANGELOG.md ## [DATE (format: "January 7, 2026")]
[Description of changes in natural language, 1-3 sentences]
For signals that couldn't be processed, offer to save:
Save these observations for later review?
- "[signal 1]" - Status: [why insufficient]
- "[signal 2]" - Status: [why insufficient]
If yes, append to skills/[skill-name]/OBSERVATIONS.md
rm -f ./.disabled
touch ./.disabled
Check .disabled file existence and report.
skills/[skill-name]/SKILL.mdskills/[skill-name]/CHANGELOG.md with a rollback noteUser said: "Always flag non-compete clauses over 12 months as high risk"
Evaluation:
Result: Add directly
User said: "Flag any non-market-standard indemnification clause"
Evaluation:
Action: Ask for clarification using the AskUserQuestion tool:
I detected a correction but need more details.
You said: "Flag any non-market-standard indemnification clause"
To make this actionable, can you specify:
- What makes an indemnification clause "non-market-standard"? (e.g., uncapped liability, coverage of indirect damages, no carve-outs for gross negligence)
Do you want to provide more details, or should I add the instruction as you stated it?
If user clarifies: Update the instruction and add it.
If user prefers the original: Add the instruction as stated.
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
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.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take lawve-ai/skill-optimizer-lawvable from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.