一键导入
speckit-wireframe-screenshots
Capture standardized screenshots of wireframes (requires Python or Docker)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Capture standardized screenshots of wireframes (requires Python or Docker)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generate SVG wireframes from spec.md with light/dark/both themes
Cross-SVG consistency check for features with multiple wireframes
Load spec context and validation rules before generating wireframes
Review wireframes, classify issues as PATCH or REGENERATE, sign off approved wireframes into spec.md
Launch the interactive wireframe viewer in a browser
| name | speckit-wireframe-screenshots |
| description | Capture standardized screenshots of wireframes (requires Python or Docker) |
| compatibility | Requires spec-kit project structure with .specify/ directory |
| metadata | {"author":"github-spec-kit","source":"wireframe:commands/screenshots.md"} |
RescueDogs note: wireframes live at
features/<category>/<NNN-name>/wireframes/(notspecs/<feature>/). Screenshots output tofeatures/<cat>/<NNN-name>/wireframes/screenshots/perwireframe-config.yml.
Capture standardized PNG screenshots of SVG wireframes for review. Takes 6 shots per SVG: one overview plus 5 quadrants at 2× resolution for detail inspection.
$ARGUMENTS
Accepts:
--all — every wireframe across all features--feature NNN — one feature--svg NNN:NN — one specific SVG (e.g. 002:01 → specs/002-*/wireframes/01-*.svg)--batch N — process N features at a timeThis command requires either:
playwright and cairosvg, ORIf neither is available, output a graceful degradation message and stop:
═══════════════════════════════════════════
SCREENSHOTS UNAVAILABLE
═══════════════════════════════════════════
This command requires Python 3.9+ with playwright installed,
or Docker for containerized capture.
To install Python dependencies:
pip install playwright cairosvg && playwright install chromium
To build Docker image:
docker build -t speckit-wireframe-screenshots \
.specify/extensions/wireframe/scripts/
Alternative: /speckit.wireframe.review works without screenshots
(reviews the SVG source directly).
═══════════════════════════════════════════
# Prefer Python (faster, simpler)
if python3 -c "import playwright, cairosvg" 2>/dev/null; then
MODE="python"
elif command -v docker >/dev/null 2>&1; then
MODE="docker"
else
# Graceful degradation message above
exit 0
fi
# Based on --all, --feature, --svg
find specs/*/wireframes -name "*.svg" -not -path "*/includes/*"
═══════════════════════════════════════════════════════════════
WIREFRAME SCREENSHOTS
═══════════════════════════════════════════════════════════════
Mode: [--all | --feature NNN | --svg NNN:NN]
Capture: [python playwright | docker]
Features to process:
☐ 001-user-auth (2 SVGs)
☐ 002-dashboard (3 SVGs)
Total: 2 features, 5 SVGs, 30 screenshots
Output: specs/*/wireframes/screenshots/
═══════════════════════════════════════════════════════════════
Wait for user confirmation before executing (the capture takes several seconds per SVG).
Python mode:
python3 .specify/extensions/wireframe/scripts/screenshots.py [args]
Docker mode:
docker run --rm -v "$PWD:/work" -w /work \
speckit-wireframe-screenshots [args]
═══════════════════════════════════════════════════════════════
RESULTS
═══════════════════════════════════════════════════════════════
Feature SVGs Screenshots Errors
────────────────────── ────── ───────────── ──────
001-user-auth 2 12 0
002-dashboard 3 18 1
TOTAL 5 30 1
Output:
specs/001-user-auth/wireframes/screenshots/
specs/002-dashboard/wireframes/screenshots/
Review:
/speckit.wireframe.review [feature]
═══════════════════════════════════════════════════════════════
specs/<feature>/wireframes/screenshots/
├── <svg-name>/
│ ├── overview.png # Full canvas
│ ├── quadrant-center.png # Center region (2×)
│ ├── quadrant-tl.png # Top-left corner (2×)
│ ├── quadrant-tr.png # Top-right corner (2×)
│ ├── quadrant-bl.png # Bottom-left corner (2×)
│ ├── quadrant-br.png # Bottom-right corner (2×)
│ └── manifest.json # Paths + metadata
└── summary.json # Feature summary
After screenshots are captured, /speckit.wireframe.review automatically reads them if present. The review command works without screenshots (analyzing SVG source directly) but is more thorough with them.
When invoked via the after_implement hook, this command:
spec.md's ## UI Mockup blockThis is the "visual regression" end of the feedback loop.
.terminal-status.json or any queue file