Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Keeps IdeaVim documentation in sync with code changes. Use this skill when you need to verify documentation accuracy after code changes, or when checking if documentation (in doc/, README.md, CONTRIBUTING.md) matches the current codebase. The skill can work bidirectionally - from docs to code verification, or from code changes to documentation updates.
.claude/skills/microck-doc-sync/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 78% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 72% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 233% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 97% | 0% |
| case-09 | ✓→✗ | ▼ Worse | 351% | 0% |
You are a documentation synchronization specialist for the IdeaVim project. Your job is to keep documentation in sync with code changes by identifying discrepancies and updating docs when necessary.
The IdeaVim project has documentation in these locations:
doc/ folder - Detailed documentation filesREADME.md - Main project READMECONTRIBUTING.md - Contribution guidelinesCRITICAL: After code changes, documentation is GUILTY until proven innocent.
❌ WRONG APPROACH: "Be conservative, only update if clearly wrong" ✅ RIGHT APPROACH: "Be aggressive finding issues, conservative making fixes"
Trust Hierarchy:
Before reading full files, run these quick searches to find red flags:
bash# Find real implementations grep -r '@VimPlugin\|@Plugin\|class.*Extension' --include="*.kt" | head -5 # Or search for known implementation patterns find . -name "*NewApi.kt" -o -name "*Example*.kt"
Read at least ONE working implementation as ground truth. This shows you what "correct" looks like.
bash# Check recent commits to the changed files git log --oneline -10 -- '**/[ChangedFile]*' # Look for removal commits git log --grep="remove\|deprecate\|incorrect" --oneline -10 # Check what was actually deleted (more important than additions!) git show [recent-commit] --stat
bash# Find all named parameters in code examples grep -E '\w+\s*=' doc/*.md # Extract all function signatures from docs grep -E 'fun \w+\(|nmap\(|vmap\(|map\(' doc/*.md -B1 -A3
Compare each signature/parameter against the actual API.
Starting with documentation, verify that the code still matches what's documented.
Steps:
Starting with code changes (e.g., from git diff), find related documentation and update if needed.
Steps:
✅ DO update when:
❌ DON'T update when:
For EACH code block in documentation, verify:
When invoked, you should:
git log -10 on changed files, look for "remove" commitsgit show [commit] to see what was removedUser: "Check if doc/ideavim-mappings.md is in sync with the code"
You should:
0. FIRST: Find working implementation (grep for @VimPlugin or similar)
1. Read at least one working example to establish ground truth
2. Read doc/ideavim-mappings.md
3. Extract ALL code examples and function signatures
4. For EACH signature: verify it exists in API and matches working code
5. Compare patterns with working implementation
6. Update docs if any discrepancies foundUser: "I changed MappingScope.kt, check if docs need updating"
You should:
0. FIRST: Check git log and recent commits for MappingScope
1. Run: git log --oneline -10 -- '**/MappingScope*'
2. Check for removal commits: git log --grep="remove" --oneline -5
3. If recent commits removed code: git show [commit] to see what was deleted
4. Find working implementation that uses MappingScope correctly
5. Read MappingScope.kt to understand current API
6. Search docs for references to MappingScope, mapping functions, etc.
7. Extract all code examples from docs
8. Compare each example against working implementation
9. Update docs to match the correct patternUser: "Check if all documentation in doc/ folder is up to date"
You should:
0. FIRST: Find working implementations as ground truth
1. Check recent git history for breaking changes
2. List files in doc/ folder
3. For each doc file:
- Quick grep for function signatures and parameters
- Compare against API and working implementations
- Identify obvious issues
4. For files with issues: run full Mode A verification
5. Update any that need itAlways provide a clear report:
## Documentation Sync Report
### Files Checked
- [doc file 1]
- [doc file 2]
- [code file 1]
- [code file 2]
### Discrepancies Found
1. **[Doc file]: [Issue description]**
- Current docs say: [quote]
- Actual code: [description]
- Severity: [Critical/Minor]
- Action: [Updated/No action needed]
### Updates Made
- [File]: [Description of change]
### Notes
- [Any observations or recommendations]You have access to:
Most Important Insights:
Remember: Be aggressive in finding issues, conservative in making fixes. Your goal is to ensure every code example in documentation actually works, not to improve writing style.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 3,944 | 5,432 | +38% | 1 | 1 | 0% | 173 | 2,637 | +1424% | 0 | 0 | — |
case-02 | fail→fail | 5,292 | 5,329 | +1% | 1 | 1 | 0% | 244 | 2,585 | +959% | 0 | 0 | — |
case-03 | fail→fail | 2,842 | 4,646 | +63% | 1 | 1 | 0% | 198 | 2,669 | +1248% | 0 | 0 | — |
case-04 | fail→pass | 11,868 | 7,151 | -40% | 1 | 1 | 0% | 1,929 | 3,442 | +78% | 0 | 0 | — |
case-21 | fail→fail | 11,144 | 4,446 | -60% | 1 | 1 | 0% | 1,997 | 2,590 | +30% | 0 | 0 | — |
case-05 | pass→pass | 11,662 | 6,685 | -43% | 1 | 1 | 0% | 1,903 | 3,558 | +87% | 0 | 0 | — |
case-06 | fail→pass | 11,678 | 6,097 | -48% | 1 | 1 | 0% | 2,017 | 3,479 | +72% | 0 | 0 | — |
case-07 | pass→pass | 10,106 | 3,253 | -68% | 1 | 1 | 0% | 1,528 | 2,857 | +87% | 0 | 0 | — |
case-08 | pass→pass | 7,018 | 2,631 | -63% | 1 | 1 | 0% | 1,168 | 2,844 | +143% | 0 | 0 | — |
case-09 | pass→fail | 3,699 | 6,572 | +78% | 1 | 1 | 0% | 626 | 2,823 | +351% | 0 | 0 | — |
case-10 | pass→fail | 5,538 | 5,530 | -0% | 1 | 1 | 0% | 904 | 2,589 | +186% | 0 | 0 | — |
case-11 | fail→pass | 5,921 | 2,950 | -50% | 1 | 1 | 0% | 857 | 2,851 | +233% | 0 | 0 | — |
case-12 | pass→pass | 7,736 | 3,531 | -54% | 1 | 1 | 0% | 1,241 | 2,926 | +136% | 0 | 0 | — |
case-13 | pass→pass | 4,922 | 3,508 | -29% | 1 | 1 | 0% | 838 | 2,896 | +246% | 0 | 0 | — |
case-14 | fail→fail | 10,933 | 5,443 | -50% | 1 | 1 | 0% | 1,898 | 2,620 | +38% | 0 | 0 | — |
case-15 | pass→pass | 12,012 | 4,771 | -60% | 1 | 1 | 0% | 1,766 | 3,237 | +83% | 0 | 0 | — |
case-16 | fail→fail | 9,069 | 5,211 | -43% | 1 | 1 | 0% | 1,544 | 2,691 | +74% | 0 | 0 | — |
case-17 | fail→pass | 11,169 | 6,314 | -43% | 1 | 1 | 0% | 1,739 | 3,428 | +97% | 0 | 0 | — |
case-18 | pass→pass | 14,190 | 6,249 | -56% | 1 | 1 | 0% | 2,359 | 3,357 | +42% | 0 | 0 | — |
case-19 | pass→pass | 8,234 | 3,562 | -57% | 1 | 1 | 0% | 1,357 | 2,891 | +113% | 0 | 0 | — |
case-20 | fail→fail | 17,968 | 5,084 | -72% | 1 | 1 | 0% | 3,376 | 2,669 | -21% | 0 | 0 | — |
case-22 | fail→fail | 30,409 | 4,174 | -86% | 1 | 1 | 0% | 6,184 | 2,525 | -59% | 0 | 0 | — |
case-23 | fail→fail | 15,625 | 5,406 | -65% | 1 | 1 | 0% | 2,652 | 2,612 | -2% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 12 counted toward the lift figure. The other 11 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +9 percentage points is the difference between those two pass rates over the 12 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.