Claude-skill-registry Check Code Block Highlights
Verify that hl_lines attributes in markdown code blocks correctly highlight the intended lines. Use when reviewing documentation with code examples, especially Before/After comparisons, or when highlights seem incorrect.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/check-highlights" ~/.claude/skills/majiayu000-claude-skill-registry-check-code-block-highlights && rm -rf "$T"
manifest:
skills/data/check-highlights/SKILL.mdsource content
Check Code Block Highlights
Verify that
hl_lines attributes in markdown code blocks are correctly set to highlight the intended lines.
Critical Understanding
is snippet-relative, NOT related to hl_lines
:linenums
sets the displayed starting line numberlinenums="21"
highlights the 3rd line of the snippet (which displays as line 23)hl_lines="3"- These are completely independent attributes
Example:
`groovy linenums="21" hl_lines="3" process FOO { <- displayed as line 21 (snippet line 1) input: <- displayed as line 22 (snippet line 2) val x <- displayed as line 23 (snippet line 3) - HIGHLIGHTED } `
When to Use
- After writing or editing code blocks with highlights
- When reviewing Before/After comparison blocks
- When a user reports highlights look wrong
- As part of lesson review/validation
How to Check
For each code block with
hl_lines:
-
Identify the code block - Find blocks with
attributehl_lines="..." -
Count snippet lines - Number each line of the code block starting from 1:
1: #!/usr/bin/env nextflow 2: (blank line) 3: process FOO { 4: publishDir 'results' <- if this should be highlighted, hl_lines should include "4" ... -
Verify intent - For Before/After blocks:
- "After" should highlight the NEW or CHANGED lines
- "Before" should highlight the lines that WILL change (same content positions)
- Both blocks should highlight corresponding lines showing the difference
-
Check for common errors:
- Off-by-one errors (highlighting blank lines instead of code)
- Confusing
withlinenums
(thinking hl_lines="21" highlights displayed line 21)hl_lines - Highlighting section headers (
,input:
) instead of the actual valuesoutput:
Fixing Issues
When you find incorrect highlights:
- Count the actual line positions in the snippet (1-indexed)
- Identify which lines contain the meaningful changes
- Update
to reference those snippet line numbershl_lines - Verify Before/After blocks highlight corresponding positions
Output Format
For each file checked, report:
## [filename] ### Block at line [N]: [description] - Current: hl_lines="X Y Z" - Lines X, Y, Z contain: [what's on those lines] - Issue: [description of problem, if any] - Suggested fix: hl_lines="A B C" (highlighting [what those lines contain]) ### Summary - Blocks checked: N - Issues found: M - [List of fixes needed]
Example Analysis
Given this code block:
`groovy title="example.nf" linenums="1" hl_lines="8 11 14" #!/usr/bin/env nextflow <- snippet line 1 <- snippet line 2 (blank) process SAY_HELLO { <- snippet line 3 <- snippet line 4 (blank) publishDir 'results' <- snippet line 5 <- snippet line 6 (blank) input: <- snippet line 7 val greeting <- snippet line 8 - HIGHLIGHTED <- snippet line 9 (blank) output: <- snippet line 10 path "*.txt" <- snippet line 11 - HIGHLIGHTED <- snippet line 12 (blank) script: <- snippet line 13 """echo hi""" <- snippet line 14 - HIGHLIGHTED } `
Analysis:
hl_lines="8 11 14" correctly highlights the input value (line 8), output value (line 11), and script content (line 14).
Notes
- Blank lines count! They're common sources of off-by-one errors
- In Before/After comparisons, both blocks should highlight the same conceptual elements
- When in doubt, count every line including blanks and comments