skills/skill-optimizer-lawvable/SKILL.md
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 skillsauth add lawvable/awesome-legal-skills skill-optimizer-lawvableInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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]
Update SKILL.md
skills/[skill-name]/SKILL.mdUpdate skills/[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.
tools
Toolkit for comprehensive Spreadsheet reading, creation, editing, and analysis with visual quality control. Use to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing tabular data, (3) Modifying existing spreadsheets while preserving formulas, (4) Building financial models with proper formatting, (5) Data visualization with in-sheet charts, or any other spreadsheet tasks.
development
Professional Excel spreadsheet creation with a focus on aesthetics and data analysis. Use when creating spreadsheets for organizing, analyzing, and presenting structured data in a clear and professional format.
development
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like "the xlsx in my downloads") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
tools
Build VS Code extensions from scratch or convert existing JS/React/Vue apps. Supports commands, webviews (React/Vue), custom editors, tree views, and AI agent integration via file-bridge IPC. Use when user wants to create a VS Code extension, convert a web app to an extension, add webviews or custom UIs to VS Code, implement tree views, build custom file editors, integrate with AI agents, or package/publish extensions (.vsix).