agentsclimarketplace

Auditor

Skill data2story/data2story.github.io/new/hle/blog_opus47_0525_1328/archival/skills/auditor

Detect and fix layout issues in generated HTML using visual rendering tests. Fixes overlap, spacing, and positioning problems without changing content or design intent.From its SKILL.md

Install
npx -y skills add data2story/data2story.github.io --skill auditor

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

7.5 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it

Auditor

Your job is layout repair. The programmer has created the HTML with all the right content and visuals, but there may be CSS/layout issues causing overlap, misalignment, or spacing problems. You fix these technical issues without changing the creative intent.

Setup

  • PROJECT_DIR = first argument
  • Required file: PROJECT_DIR/index.html
  • You will read, analyze, and edit the HTML to fix layout issues

What You Fix

In scope:

  • Visual elements overlapping with text
  • Missing wrapper containers around images/videos/charts
  • Incorrect or missing spacing (margin/padding)
  • Elements not properly centered or aligned
  • Responsive layout breaking on mobile widths
  • Float/positioning issues causing text wrap
  • Overflow causing horizontal scroll

Out of scope (do NOT change):

  • Content or prose text
  • Visual design choices (colors, fonts, sizes)
  • Chart data or specifications
  • Interactive functionality
  • Asset paths or data-* attributes

Step 1: Visual Inspection Strategy

Since you cannot run a real browser, use code analysis to detect common layout issues:

Check 1: Unwrapped visual elements

# Find images not wrapped in a container
grep -n '<img' PROJECT_DIR/index.html | head -20

# Find videos not wrapped in a container  
grep -n '<video' PROJECT_DIR/index.html | head -20

# Find chart divs that might need spacing
grep -n 'class="chart' PROJECT_DIR/index.html | head -20

Pattern to detect: Visual elements (<img>, <video>, chart <div>) placed directly after <p> tags without a wrapper div.

Check 2: Missing spacing

Look for visual elements without proper margin:

  • Images/videos should have margin: 2rem 0 or be wrapped in a container with that margin
  • Chart containers should have vertical spacing
  • Stat callouts should have spacing above and below

Check 3: Centering issues

  • Images should have display: block; margin-left: auto; margin-right: auto or be in a centered container
  • Charts should be centered within their max-width constraint
  • Full-bleed / breakout visuals should use viewport-based centering and must clear inherited max-width from wrappers like figure.visual-container

Check 4: Responsive issues

  • Images should have max-width: 100%; height: auto
  • No fixed widths that exceed 720px (except full-width teasers)
  • Charts should use "width": "container" in Vega specs
  • Timelines or step sequences should not rely on 1000px+ fixed-width absolute layouts inside the story column

Step 2: Apply Fixes

For each issue found, use the Edit tool to make minimal, surgical changes:

Fix Pattern 1: Wrap unwrapped visual elements

Before:

<p>Some text...</p>
<img src="assets/hero.png" data-des="des_01" alt="Hero">
<p>More text...</p>

After:

<p>Some text...</p>
<div class="visual-container" style="margin: 2rem 0;">
  <img src="assets/hero.png" data-des="des_01" alt="Hero" style="max-width: 100%; height: auto; display: block; margin: 0 auto;">
</div>
<p>More text...</p>

Fix Pattern 2: Add spacing to chart containers

Before:

<div id="des_02" data-des="des_02" data-ana="ana_05" class="chart-container">

After:

<div id="des_02" data-des="des_02" data-ana="ana_05" class="chart-container" style="margin: 2rem auto; max-width: 720px;">

Fix Pattern 3: Fix image centering

Before:

<img src="assets/photo.jpg" data-des="des_03">

After:

<img src="assets/photo.jpg" data-des="des_03" style="max-width: 100%; height: auto; display: block; margin: 0 auto;">

Fix Pattern 4: Add responsive constraints

Before:

<video width="1920" height="1080" ...>

After:

<video style="max-width: 100%; height: auto; display: block; margin: 2rem auto;" ...>

Fix Pattern 5: Re-center full-bleed breakouts

Before:

<figure class="visual-container full-bleed" style="position: relative; left: 50%; width: 100vw; margin-left: -50vw;">

After:

<figure class="visual-container full-bleed" style="width: 100vw; max-width: none; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);">

If the wrapper still has a max-width from another selector, override it on the full-bleed element.

Fix Pattern 6: Give the real chart mount a measurable width

Before:

<div class="chart-container">
  <div>
    <div id="chart_des_08"></div>
  </div>
</div>

After:

<div class="chart-container">
  <div style="width: 100%; min-width: 0;">
    <div id="chart_des_08" style="width: 100%; min-width: 0; display: block;"></div>
  </div>
</div>

This fixes blank charts caused by the actual Vega mount collapsing to 0px without changing the chart data or spec.

Step 3: Verify Fixes

After making changes:

  1. Check that you didn't break anything:

    • All data-* attributes still present
    • No content text was modified
    • All asset paths unchanged
    • No closing tags were broken
  2. Grep for remaining issues:

    # Check if any images still lack max-width
    grep '<img' PROJECT_DIR/index.html | grep -v 'max-width'
    
    # Check if any videos lack responsive styling
    grep '<video' PROJECT_DIR/index.html | grep -v 'max-width'
    
  3. Document what you fixed:

    • List the specific issues found (e.g., "3 images without wrapper containers")
    • List the fixes applied (e.g., "wrapped in .visual-container divs with proper spacing")

Rules

  • Use inline styles for fixes (don't modify <style> blocks unless absolutely necessary)
  • Preserve all attributes — especially data-des, data-ana, data-edt, id, class
  • Don't add new visual elements — only fix layout of existing ones
  • Don't change content — no text modifications
  • Make minimal edits — only fix what's broken
  • If a chart is blank because the mount element has no width, you may fix the mount container styles — but do not rewrite the Vega data/spec unless the problem is clearly not layout-related
  • Use Edit tool — don't rewrite entire sections, make surgical changes

Step 4: Report Fixes

After all fixes are applied, write PROJECT_DIR/auditor.json — a structured record of what you fixed.

[
  {"type": "chart_mount_zero_width", "count": 3, "lines": [245, 312, 401]},
  {"type": "full_bleed_centering", "count": 1, "lines": [89]}
]

Use these type names (match the error case filenames in errors/cases/):

  • chart_mount_zero_width — gave mount div explicit width/min-width/display
  • full_bleed_centering — fixed breakout math or cleared inherited max-width
  • layout_overlap — wrapped unwrapped visual elements in containers
  • composite_chart_overflow — added width constraints to facet/vconcat children
  • figure_caption_not_centered — centered figcaption text
  • missing_image_responsive — added max-width/height:auto to images
  • missing_video_responsive — added responsive constraints to videos

If you made no fixes, write an empty array: [].

Output

Modified PROJECT_DIR/index.html with layout issues fixed. PROJECT_DIR/auditor.json with structured fix report.

Done when:

  • All visual elements are properly wrapped and spaced
  • No elements overlap with text content
  • Responsive constraints are in place
  • All original content and attributes are preserved

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,835. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.