A repository of agent skills including brand-workshop, pixel-art, and plain-english utilities
7 tools with highly specialized, domain-specific purposes (brand validation, pixel art, plain English checks). All have descriptions (10-200 chars, within baseline), but schemas are incomplete: most parameters lack type definitions beyond basic strings. Tool names are descriptive but not verb-first (e.g., 'integrity', 'anchors', 'pagegate' are nouns). Parameters documented but sparse, many lack descriptions or constraints. No output schemas visible. Error handling minimal. Composition is reasonable (each tool does one thing), but parameter naming inconsistent (e.g., 'file' vs 'input' vs 'root'). Security: tools are read-only or write-only with clear file I/O, but no permission gates or audit logging visible.
Palette-anchor gate (D4): % of pixels within --tol of each named anchor; FAIL if any drops below --min.
Cross-platform SKILL.md frontmatter + manifest compatibility checker. Validates Codex compliance rules: description length (1..=1024 Unicode characters), name format (^[a-z0-9]+(-[a-z0-9]+)*$, <=64 bytes), entry file named SKILL.md. Asserts version parity across release manifests.
Scan text for words the plain-english rule block bans. Mechanical check against a swap list read from references/rule-block.md at run time.
Background removal (D9): edge flood-fill (--tol, default 28), drop pale low-saturation components (soft shadows), keep saturated satellites (hearts, sparkles), feather alpha.
Template-integrity gate (D10): zero '{{', balanced CSS braces, HTML structurally valid (strict html5lib parse), every var(--x) used is defined (incl. per-row inline vars like --w on every .fill), alt on every image.
Print gate (D12): render in headless Chromium, assert exactly 1 page on Letter AND A4. --landscape for the landscape template. Requires playwright + pypdf; reports SKIPPED (exit 2) if unavailable — never fake a PASS.
Most tools lack verb-first naming. 'integrity', 'anchors', 'pagegate', 'cutout', 'check-swaps' are nouns or gerunds, not action verbs. LLMs infer intent from verb-first names (get_, create_, validate_, check_). Rename to 'validate_integrity', 'check_anchors', 'validate_pagegate', 'remove_background', 'check_swaps'.
Input schemas incomplete. Most parameters are typed as 'string' with no constraints (enum, pattern, minLength, maxLength). 'anchors' parameter is 'object' with no schema. 'quantize' has enums for 'format' but lacks minima/maxima for numeric params (grid, palette, scale). No output schemas documented anywhere.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Deterministic pixel-art quantize: raster -> true grid-aligned pixel art. Nearest-neighbor downscale to a target grid, median-cut palette quantize (deterministic; honors a fixed ramp), optional error-diffusion dither + orphan-pixel cleanup, nearest-neighbor upscale x N for display.
Parameter descriptions sparse or missing. 'anchors' object param has no description of expected structure (e.g., 'Named color anchors as A=#HEX pairs' is in tool description, not param). 'quantize' params 'ramp', 'dither', 'cleanup', 'scale' lack descriptions. No guidance on valid ranges or formats.
No error handling guidance. Tools report 'SKIPPED (exit 2)' for missing dependencies (pagegate) but no recovery hints. No actionable error messages visible. LLMs cannot self-correct or retry intelligently.
Inconsistent parameter naming across tools. 'file' (integrity, pagegate), 'input' (cutout, quantize), 'root' (check-skill-compat). No consistent convention for file paths. Agents must reason about which param name to use for each tool.