reference-analysis-validator
Measure and validate supplied reference images, wireframes, texture atlases, and Blender renders before declaring a reconstruction 1:1. Use when an asset must match a template, when visual feedback says the output is off, when part counts must be exact, or before exporting a brand mascot/logo reconstruction. Pairs with reference-to-3d, contour-to-mesh, orthographic-registration, atlas-uv-fitting, and Blender MCP.
Works with
Agent Skills format with YAML frontmatter. Claude Code reads it as-is.
--- name: "reference-analysis-validator" description: "Measure and validate supplied reference images, wireframes, texture atlases, and Blender renders before declaring a reconstruction 1:1. Use when an asset must match a template, when visual feedback says the output is off, when part counts must be exact, or before exporting a brand mascot/logo reconstruction. Pairs with reference-to-3d, contour-to-mesh, orthographic-registration, atlas-uv-fitting, and Blender MCP." license: "MIT" --- # Reference Analysis Validator This skill converts “looks close” into measurable gates. For brand/logo/mascot work, **do not model or export until a source manifest and validation thresholds exist**. ## Required outputs Create these in the asset output folder: - `reference_manifest.json` — classified source files, expected parts, thresholds. - `source_analysis/*.json` — image metadata, masks/components/landmarks. - `validation/front_overlay_reference.png` — reference and render overlay. - `validation/front_mask_validation.json` — IoU/SSIM/bbox/centroid report. ## Workflow 1. Classify sources: front, side, back, top, texture atlas, decals, maps, lightmap, aura/context. 2. Build/refresh `reference_manifest.json` with hard expected counts and view roles. 3. Extract masks/components from each source using `scripts/reference_manifest_compiler.py` or existing analyzers. 4. Render model from matching orthographic camera with reference planes hidden. 5. Compare reference mask vs render mask using `scripts/render_overlay_validator.py`. 6. Refuse final export if hard gates fail. ## Modality rule Compare like with like. A wireframe edge mask compared against a shaded beauty render gives misleadingly low IoU. For hard gates, render a flat silhouette/matte pass from Blender or compare reference edges to render edges. Use `render_overlay_validator.py --reference-mode ... --render-mode ...` when the source and render need different mask extraction modes. ## Default validation gates - primary structural part count: exact. - front silhouette IoU: target >= 0.90 for rigid/logotype shapes; >= 0.82 acceptable for first mascot reconstruction pass. - bbox center drift: <= 12 px at 1024 px validation size. - bbox size drift: <= 3% of image dimension. - face/eye/smile landmark drift: <= 2% of image dimension when landmarks are defined. ## Failure policy If a repeated mismatch occurs, record the measured failure, then route to the missing specialty skill: - wrong silhouette → `contour-to-mesh` - wrong depth/side/back → `orthographic-registration` - wrong textures → `atlas-uv-fitting` - wrong whole workflow → `mascot-logo-reconstruction` ## Read when needed - `references/metrics-and-thresholds.md` for metric definitions and recommended gates. ## Sources distilled Official/library docs to prefer while extending this skill: - OpenCV contour features: moments, area, perimeter, bounding rectangles. - OpenCV shape matching / Hu moments. - OpenCV homography and geometric transforms. - scikit-image SSIM for perceptual comparison.
More General & Other skills
find-skills
vercel-labs/skills
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.
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

