一键导入
speckit-wireframe-inspect
Cross-SVG consistency check for features with multiple wireframes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Cross-SVG consistency check for features with multiple wireframes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generate SVG wireframes from spec.md with light/dark/both themes
Load spec context and validation rules before generating wireframes
Review wireframes, classify issues as PATCH or REGENERATE, sign off approved wireframes into spec.md
Capture standardized screenshots of wireframes (requires Python or Docker)
Launch the interactive wireframe viewer in a browser
| name | speckit-wireframe-inspect |
| description | Cross-SVG consistency check for features with multiple wireframes |
| compatibility | Requires spec-kit project structure with .specify/ directory |
| metadata | {"author":"github-spec-kit","source":"wireframe:commands/inspect.md"} |
ScriptHammer note: wireframes live at
features/<category>/<NNN-name>/wireframes/(not the flatspecs/<feature>/layout). Shipped inspector at.specify/extensions/wireframe/scripts/inspect-wireframes.pyhandles two-level paths via its auto-root detection; run with--allor pass a specific SVG.
Purpose: Check consistency across multiple wireframes in the same feature, or across the whole project. Runs after /speckit.wireframe.review passes — catches cross-SVG drift that per-SVG review can't see.
$ARGUMENTS
Accepts:
001) — inspect all wireframes for one feature--all — inspect every wireframe across all featuresPer-SVG review catches issues within one wireframe. Inspection catches drift between wireframes:
| Pattern | Expected | Drift example |
|---|---|---|
| Title position | All SVGs: x=960, y=28 | One SVG has y=35 |
| Signature | All SVGs same format | One uses different separator |
| Header include | All use includes/header-desktop.svg | One embeds header inline |
| Mockup bounds | All: desktop x=40, mobile x=1360 | One has desktop at x=50 |
| Color palette | Light theme: #e8d4b8 panels | One uses #e8d5b9 (close but different) |
| Callout style | Red circle, 14px text, white fill | One uses blue circle |
| Badge style | Height=22, rx=4 | One uses height=24 |
If feature ID:
find specs/<feature>/wireframes -name "*.svg" -not -path "*/includes/*"
If --all:
find specs/*/wireframes -name "*.svg" -not -path "*/includes/*"
For each SVG, extract measurable patterns (use Python script if available, otherwise do via SVG text scan):
python3 .specify/extensions/wireframe/scripts/inspect.py --report specs/<feature>/wireframes/
If the script is not installed, read each SVG and extract:
<text> element: x, y, font-size, fill<text> element: x, y, font-size<rect> or <g>: x, y, width, height<use> references (headers, footers)fill="#...." values)For each measurable attribute, find the majority value across all SVGs. Flag any SVG that deviates from the majority.
Example:
Also verify each SVG against hard expectations (independent of majority):
| Check | Expected |
|---|---|
| Title position | x=960, y=28 (centered, 1920/2) |
| Signature position | y=1060 |
| Desktop mockup (light) | x=40, y=60, 1280×720 |
| Mobile mockup (light) | x=1360, y=60, 360×720 |
| Annotation panel | x=40 (or full-width container), y=800 |
| Canvas | viewBox="0 0 1920 1080" |
Append to each affected SVG's .issues.md:
## Inspector Issues (YYYY-MM-DD)
| Check | Expected | Actual | Classification |
| ----------------- | -------------------------- | ------- | ----------------- |
| title_y_position | y=28 (majority, 8/10 SVGs) | y=35 | PATTERN_VIOLATION |
| panel_color_light | #e8d4b8 (majority) | #e8d5b9 | PATTERN_VIOLATION |
═══════════════════════════════════════════
INSPECTION COMPLETE
═══════════════════════════════════════════
Scope: [feature NNN | all features]
Total SVGs inspected: [N]
PASS: [count] SVGs follow consistent patterns
FAIL: [count] SVGs have pattern violations
Top violations:
1. title_y_position: 2 SVGs deviate (001/03, 002/01)
2. panel_color_light: 1 SVG uses near-match color (005/02)
Violations logged to:
specs/*/wireframes/*.issues.md
Next: /speckit.wireframe.generate [feature] --regen
(to regenerate pattern-violating SVGs)
═══════════════════════════════════════════
/speckit.wireframe.review passes for a feature (per-SVG checks are clean)/speckit.wireframe.review for sign-off (to catch inter-SVG drift before it locks in)--all) to audit cumulative driftInspection issues are always classified as PATTERN_VIOLATION — they're neither PATCH nor REGEN in the review sense. They're drift findings. Treatment:
generate --patch.issues.md files — they're auto-generated and append-only.terminal-status.json or any queue file