用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/TortoiseWolfe/eightysix --skill speckit-wireframe-screenshots命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Generate SVG wireframes from spec.md with light/dark/both themes
Cross-SVG consistency check for features with multiple wireframes
基于 SOC 职业分类
正在显示 SKILL.md
| 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"} |
eightysix 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