ソース情報
- リポジトリ
- TortoiseWolfe/widget
- ソースの最終更新活動
- 2026年8月27日 18:51
- 検出された SKILL.md の言語
- 英語
- スター
- 0
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/TortoiseWolfe/widget --skill speckit-wireframe-generateコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
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
SKILL.md を表示中
| name | speckit-wireframe-generate |
| description | Generate SVG wireframes from spec.md with light/dark/both themes |
| compatibility | Requires spec-kit project structure with .specify/ directory |
| metadata | {"author":"github-spec-kit","source":"wireframe:commands/generate.md"} |
Widget note: this project uses two-level feature paths —
features/<category>/<NNN-name>/wireframes/— not the flatspecs/<feature>/layout referenced below.<FEATURE_DIR>resolves to the actual feature path (runfind features -maxdepth 3 -type d -name '<NNN>*').
- Shipped validator:
.specify/extensions/wireframe/scripts/validate.py- Config overrides:
.specify/extensions/wireframe/wireframe-config.yml- Sync script:
scripts/sync-wireframes.sh(emits topublic/wireframes/for the/wireframesNext.js route).- Reference SVG:
features/foundation/003-user-authentication/wireframes/01-registration-sign-in.svg
Philosophy: Wireframes preview the app. Callouts explain, not clutter.
$ARGUMENTS
Accepts:
001-user-auth or 001) — generates wireframes for that feature--theme {light|dark|both} — override the auto-detected themespecs/ directory or active branch)Choose the theme based on what the feature delivers:
| Feature Type | Theme | Layout | Examples |
|---|---|---|---|
| Frontend | LIGHT (tan) | Desktop + Mobile side-by-side | Forms, dashboards, user settings, profile pages |
| Backend | DARK | Full-width architecture diagram | RLS policies, OAuth flows, API contracts, CI/CD pipelines |
| Hybrid | BOTH | One of each | Admin dashboard (light) + API architecture (dark) |
Read spec.md and classify each User Story:
If user stories split across both categories → generate BOTH themes (one SVG per theme).
If --theme is passed explicitly, honor it and skip auto-detection.
┌────────────────────────────────────────────────────────────────────┐
│ CENTERED TITLE - HUMAN READABLE (y=28) │
│ DESKTOP (16:9) MOBILE (y=52) │
├────────────────────────────────────────┬───────────────────────────┤
│ │ │
│ DESKTOP MOCKUP (1280×720) │ MOBILE MOCKUP (360×720) │
│ x=40, y=60 │ x=1360, y=60 │
│ │ │
│ Clean UI with numbered callouts │ Same callout numbers │
│ ① ② ③ on EVERY annotation concept │ positioned appropriately│
│ │ │
├────────────────────────────────────────┴───────────────────────────┤
│ ANNOTATION PANEL (y=800, full width, height=220 max) │
│ │
│ ① Primary action — description of what this element does. │
│ [US-001] [FR-001] [SC-001] ← colored clickable pills │
│ │
│ ② Secondary element — brief explanation of functionality. │
│ [US-002] [FR-002] [FR-003] │
│ │
├────────────────────────────────────────────────────────────────────┤
│ SIGNATURE: NNN:NN | Feature Name | SpecKit (y=1060, 18px) │
└────────────────────────────────────────────────────────────────────┘
Full-width architecture diagram using the canvas as one panel (no side-by-side mockups). Used for:
On mockups: numbered red circles only.
<g class="callout" transform="translate(150, 200)">
<circle r="14" fill="#dc2626"/>
<text y="5" fill="#fff" font-size="14" font-weight="bold" text-anchor="middle">1</text>
</g>
In annotation panel: User Story-anchored groups with badge pills.
#0891b2) FIRST#2563eb) next#ea580c) lastEach annotation group is anchored by a User Story from spec.md. The narrative ("As a [user], I need [goal] so that [benefit]") goes directly under the US title in the annotation.
| Element | Color |
|---|---|
| Background | #c7ddf5 → #b8d4f0 gradient |
| Panels | #e8d4b8 (parchment) |
| Secondary | #dcc8a8 |
| Inputs | #f5f0e6 |
| Borders | #b8a080 |
| Primary button | #8b5cf6 |
| Callout circles | #dc2626 |
| Text dark | #1f2937 |
| Text muted | #4b5563 |
| Badge FR | #2563eb (blue) |
| Badge SC | #ea580c (orange) |
| Badge US | #0891b2 (cyan) |
NEVER use #ffffff for panels. Parchment #e8d4b8 is the canonical panel color.
| Element | Color |
|---|---|
| Background | #1a1a2e (charcoal) |
| Panels | #334155 (slate) |
| Text | #e2e8f0 (cool light gray) |
| Primary | #a8b2c1 (silver) |
| Accent | #38bdf8 (electric blue) |
| Callout circles | #dc2626 |
| Badge FR | #2563eb |
| Badge SC | #ea580c |
| Badge US | #0891b2 |
Load the matching template from .specify/extensions/wireframe/templates/{light,dark}-theme.svg.
| # | Rule |
| --- | ----------------------------------------------------------------- | ------------ | -------- |
| 1 | Canvas: viewBox="0 0 1920 1080" width="1920" height="1080" |
| 2 | Desktop mockup: x=40, y=60, 1280×720 (light theme only) |
| 3 | Mobile mockup: x=1360, y=60, 360×720 (light theme only) |
| 4 | Callouts: red circles (①②③) on elements needing explanation |
| 5 | Annotation panel: y=800, spans full width |
| 6 | FR/SC/US as clickable colored badge pills |
| 7 | Light theme panels: #e8d4b8, NEVER #ffffff |
| 8 | Minimum font size: 14px |
| 9 | Touch targets: 44px minimum |
| 10 | Badges stay WITHIN container bounds (no overflow) |
| 11 | Title: y=28, centered, 18px bold, #4b5563 |
| 12 | Signature: y=1060, 18px bold, format NNN:NN | Feature Name | SpecKit |
| 13 | Annotation titles: 14px bold #1f2937; narrative: 14px #374151 |
| 14 | Each annotation group anchored by a User Story from spec.md |
| 15 | NO FR/SC badges on UI elements — only in annotation panel |
Read the feature's spec.md:
# Accepts feature ID with or without slug suffix
SPEC_PATH="specs/$(ls specs/ | grep -E '^[0-9]+(-|$)' | head -1)/spec.md"
Identify from spec.md:
Analyze user stories against the heuristic above.
If --theme passed, skip to Step 3 with that theme.
Otherwise classify each US as light or dark and decide:
Output the plan and wait for user approval:
═══════════════════════════════════════════════════════════════
PRE-FLIGHT: [NNN]-[feature]
═══════════════════════════════════════════════════════════════
TITLE: [HUMAN READABLE TITLE]
THEME: [light | dark | both]
USER STORIES (annotation groups):
① US-001: [title] — [narrative summary]
② US-002: [title] — [narrative summary]
③ US-003: [title] — [narrative summary]
SCREENS:
- Desktop: [description]
- Mobile: [description]
OUTPUT PATHS:
- specs/[NNN]-[feature]/wireframes/01-[page-name].svg
BLOCKING CHECKS:
[ ] All User Stories mapped to groups
[ ] No FR/SC badges on UI elements
[ ] Annotation panel fits (max 8 groups across 2 rows)
═══════════════════════════════════════════════════════════════
Wait for user approval before generating.
Load the theme template:
cat .specify/extensions/wireframe/templates/light-theme.svg
# or
cat .specify/extensions/wireframe/templates/dark-theme.svg
Build the SVG following the layout and rules above. Write to specs/<feature>/wireframes/NN-<page-name>.svg.
If Python is available, run the validator:
python3 .specify/extensions/wireframe/scripts/validate.py specs/<feature>/wireframes/<file>.svg
If the validator is not installed, perform the checks manually by re-reading the SVG and verifying against the Core Rules table above.
Output the list of generated wireframes with paths:
═══════════════════════════════════════════
GENERATED
═══════════════════════════════════════════
specs/[NNN]-[feature]/wireframes/
01-[page].svg (light theme, 1920×1080)
Next: /speckit.wireframe.review [feature]
═══════════════════════════════════════════
.terminal-status.json or any queue file — this extension does not manage orchestration statespecs/<feature>/wireframes/ and the sign-off block in specs/<feature>/spec.md#ffffff for panels in light theme