本文へ移動
cccskills
無料GitHub で公開

desktop-window-layout-architect

Design desktop window systems that feel native on macOS and Windows: split views, inspectors, auxiliary windows, tiling, snap-safe sizes, default placement, and chrome density. Use when a Tauri/Electron/WinUI/SwiftUI app feels awkward, overlapping, over-chromed, or generic, or when you need a real geometry contract for multiple surfaces. NOT for mobile layouts, marketing pages, or CSS-only component styling without multi-window or multi-pane behavior.

インストール方法を見る

含まれるファイル(23)

  • SKILL.md14.4 KB
  • affordance-scorecard.json2.3 KB
  • agents/desktop-window-layout-architect-worker.md1.3 KB
  • CHANGELOG.md617 B
  • diagrams/INDEX.md489 B
  • diagrams/surface-routing.md569 B
  • diagrams/window-mode-state.md481 B
  • diagrams/workspace-preset-adaptation.md536 B
  • examples/surface-selection-scenarios.md1.1 KB
  • examples/windags-review-workspace.md1.7 KB
  • README.md2.2 KB
  • references/chrome-density-and-commanding.md2.3 KB
  • references/geometry-and-placement.md2.5 KB
  • references/implementation-patterns.md2.6 KB
  • references/INDEX.md1.0 KB
  • references/platform-principles.md5.9 KB
  • references/surface-selection.md2.7 KB
  • references/workspace-presets.md1.7 KB
  • scripts/audit_window_layout.py29.1 KB
  • scripts/preflight.sh2.4 KB
  • templates/layout-audit-template.md505 B
  • templates/window-registry-template.ts1.0 KB
  • templates/workspace-preset-template.json684 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Desktop Window Layout Architect

Make desktop applications feel like they belong on a real operating system, not like web cards trapped in draggable divs.

When to Use

✅ Use for:

  • Tauri, Electron, WinUI, SwiftUI, or hybrid desktop shells that feel spatially wrong.
  • Multi-surface apps with a main canvas plus navigation, inspectors, logs, results, or task artifacts.
  • Overlapping windows, ugly default placement, brittle tiling, or restore/maximize behavior that feels fake.
  • Decisions about split view vs auxiliary window vs floating panel vs modal sheet.
  • Fixing title bar density, command placement, and “too much chrome, not enough field.”

❌ NOT for:

  • Mobile navigation patterns, tab bars, or handset-only adaptive layouts.
  • Landing pages, dashboards in the browser, or ordinary responsive marketing surfaces.
  • Pure component styling where the problem is typography/color/spacing, not window or pane behavior.
  • Backend orchestration, IPC wiring, or packaging/signing issues that do not affect desktop interaction design.

Fast Signals

Use these to pull the relevant geometry and shell clues into context before deciding anything.

Window Management Files

!`rg -n "openWindow|snapWindow|tileWindows|cascadeWindows|arrangeReviewWorkspace|WindowFrame|Titlebar|Taskbar|SplitView|TwoPane|NavigationView" "${ARGUMENTS:-.}" 2>/dev/null | head -n 120`

Geometry and Restore Signals

!`rg -n "innerHeight|innerWidth|defaultSize|minSize|restoreBounds|window-state|isMaximized|position|size" "${ARGUMENTS:-.}" 2>/dev/null | head -n 120`

Support Files

Load only the files that match the current blocking question.

FileLoad whenPurpose
references/INDEX.mdFirstDecide which deep-dive file to read instead of loading everything
references/platform-principles.mdWhen grounding decisions in OS conventionsApple HIG, Windows Fluent, and Tauri state-restoration synthesis
references/surface-selection.mdWhen deciding split pane vs panel vs auxiliary windowSurface taxonomy and role-based routing
references/geometry-and-placement.mdWhen defining default sizes, mins, snap safety, or restore rulesGeometry contract and placement heuristics
references/chrome-density-and-commanding.mdWhen the UI feels crowded or command-heavyTitle bars, gutters, bottom bars, action placement
references/workspace-presets.mdWhen designing review, compare, authoring, or inspect modesRole-aware workspace recipes
references/implementation-patterns.mdWhen translating guidance into codeTauri/Electron/WinUI/SwiftUI implementation notes
scripts/preflight.shBefore any repo-specific auditRead-only inspection of likely shell/layout files
scripts/audit_window_layout.pyWhen you want a fast static auditEmits findings plus JSON, Markdown, or HTML reports about geometry, tiling, snap safety, and restore behavior
templates/layout-audit-template.mdWhen returning a structured reviewReusable final answer skeleton
templates/window-registry-template.tsWhen designing a new window registry or refactorRole- and mode-aware config template
templates/workspace-preset-template.jsonWhen defining breakpoints and workspace presetsSerializable layout contract
examples/windags-review-workspace.mdWhen auditing a graph + inspector + artifact appConcrete before/after reasoning
examples/surface-selection-scenarios.mdWhen the right surface is unclearTrigger examples that provoke different surface choices
agents/desktop-window-layout-architect-worker.mdWhen a clean-room critique or parallel audit helpsNarrow worker for isolated layout review

Output Contract

Unless the user explicitly asks for something narrower, structure the answer like this:

  1. Surface Map — what surfaces should exist and their roles
  2. Geometry Contract — default size, min size, collapse rules, snap safety
  3. Placement Contract — first-open placement, restore behavior, parent-relative rules
  4. Chrome and Commanding — what belongs in title bars, panes, bottom bars, and menus
  5. Workspace Presets — how the layout should adapt across wide / medium / narrow desktop widths
  6. Implementation Moves — the smallest code changes that produce the biggest improvement

Use templates/layout-audit-template.md when emitting this structure verbatim.

Core Process

flowchart TD
  A[Identify app type and current pain] --> B{Same task context?}
  B -->|Yes| C[Prefer panes inside one primary window]
  B -->|No| D{Transient or persistent?}
  D -->|Transient| E[Modal sheet or popover]
  D -->|Persistent task area| F[Auxiliary window]
  C --> G{Supplemental live selection details?}
  G -->|Yes| H[Trailing inspector or inspector panel]
  G -->|No| I[Sidebar + content or two-pane layout]
  H --> J[Define geometry contract]
  I --> J
  F --> J
  E --> J
  J --> K[Define placement and restore rules]
  K --> L[Trim chrome and command duplication]
  L --> M[Validate against wide, medium, narrow desktop widths]
  M --> N[Ship role-aware presets instead of fixed percentages]

Step 1: Classify the Surface Model

Decide whether the problem belongs to:

  • a primary window with multiple panes,
  • an auxiliary window dedicated to one task,
  • a floating panel like an inspector,
  • or a modal/sheet for short blocking work.

Rules:

  • If users need to read two or three related regions together, default to a single primary window with panes, not multiple floating windows.
  • If a surface tracks the current selection and updates live, prefer a trailing inspector or inspector panel.
  • If a surface represents a separate durable task with its own lifecycle, use an auxiliary window.
  • If the interaction is short and blocking, use a sheet/popover/modal, not a whole extra window.

Step 2: Map Roles Before Coordinates

Assign each surface a role:

  • navigation
  • canvas
  • detail
  • inspector
  • artifact
  • console
  • utility

Then rank them:

  • Field-first: canvas/detail/artifact that benefits from visual area
  • Supportive: navigation/inspector/console
  • Transient: utility/panel/modal

Never choose percentages before roles. Percentages are outputs of role priority, not the other way around.

Step 3: Write a Geometry Contract

Define, per surface:

  • default size,
  • minimum content size,
  • minimum snap-safe width,
  • collapse priority,
  • and whether it can hide.

Hard rules:

  • On Windows, keep the minimum width of a snappable primary window at 500 epx or less, and preferably around 330 epx when possible.
  • If panes are resizable, set mins and maxes that keep dividers usable.
  • If the sum of pane minimums does not fit, change layout mode. Do not enforce mins after a percentage split and let panes overlap.
  • Keep the primary content area dominant. Tooling should compress or hide before the main canvas does.

Step 4: Write a Placement Contract

Define:

  • first-open placement,
  • reopen / restore behavior,
  • parent-relative placement for auxiliary surfaces,
  • clamp behavior when viewport/display changes,
  • and maximize/snap restore semantics.

Rules:

  • First launch can center a window. After that, restore prior normal bounds.
  • Auxiliary windows should open near the invoking parent without obscuring the point of origin.
  • Floating panels should not masquerade as normal documents.
  • Keep at least a draggable title region visible when clamping a moved window back onscreen.
  • Model explicit window modes such as normal, maximized, snapped-left, snapped-right, tiled, with restoreBounds.

Step 5: Reduce Chrome Before Rearranging Content

Check whether the app is losing field to shell chrome:

  • title bars too tall,
  • duplicate headings inside panes,
  • oversized caption buttons,
  • permanent bottom bars,
  • or navigation plus commanding stacked redundantly.

Prefer:

  • a single meaningful window title,
  • thin dividers,
  • toolbar/title integration,
  • and command placement near the relevant pane.

Avoid putting critical actions in bottom bars on macOS-style desktop apps.

Step 6: Design Workspace Presets

Instead of one fixed arrangement, define at least three desktop-width regimes:

  • Wide: persistent sidebar + canvas + inspector/artifact
  • Medium: sidebar or inspector becomes collapsible/overlay
  • Narrow desktop: single primary pane plus toggleable support pane or tabs

The goal is not generic “responsiveness.” The goal is preserving task comprehension as width changes.

Step 7: Validate Like a Desktop Product

Validate at minimum:

  • 1280×720
  • 1440×900
  • 1728×1117 or similar high-density laptop
  • ultrawide / dual-monitor assumptions if relevant

Check:

  • no overlap after minimum sizes apply,
  • snap works,
  • restore works,
  • no content-critical bottom bar is hidden,
  • and auxiliary surfaces do not steal focus unnecessarily.

Anti-Patterns

Anti-Pattern: Every Problem Gets Another Window

Novice: "If the screen feels crowded, split it into more floating windows." Expert: Related work should usually stay inside one primary window with panes. New windows are for distinct task areas, not for every supportive region. Timeline: Apple’s current HIG explicitly pushes supplementary information toward split views and inspectors before new windows; Windows pushes adaptive panes and navigation surfaces before ad hoc floaters.

Anti-Pattern: Chrome Is Free

Novice: "A 40px child title bar, thick borders, giant controls, and an always-on bottom action bar are fine." Expert: Desktop users will trade ornamental chrome for field. Keep title bars draggable, legible, and system-like, but aggressively protect the content area. Timeline: Windows 11 title bars remain concise and system-integrated; Apple guidance emphasizes content-first windows and warns against hiding critical actions in bottom bars.

Anti-Pattern: Percentages First, Minimums Later

Novice: "Split the screen 66/34 and 58/42, then clamp each pane to its minimum." Expert: That causes overlap. Start from minimum viable pane sizes and role priority. If the floor sum does not fit, switch to a different preset. Timeline: Mature desktop shells moved toward breakpoint- and mode-based arrangements because static percentages fail under resize and snap.

Anti-Pattern: Static Cascade Equals Window Management

Novice: "New windows can open at x + 24, y + 24; that’s enough." Expert: Window managers need restore bounds, snap modes, clamp-on-move, viewport recovery, and parent-relative placement. Cascade is an escape hatch, not the whole policy. Timeline: Users now expect snap layouts, restore semantics, and remembered bounds out of the box on both Windows and modern desktop frameworks like Tauri.

Anti-Pattern: Inspector as a Mini Document Window

Novice: "The inspector can minimize, live forever in the task list, and behave like a peer document." Expert: Inspectors are supplemental. They either live in a trailing pane or behave like panels with lighter lifecycle semantics. Timeline: Apple’s panel guidance is explicit: panels are not documents, generally should not minimize, and should appear/disappear with app relevance.

Worked Examples

Example 1: Review Workspace for a Graph App

Load examples/windags-review-workspace.md.

Use it when the app has:

  • a graph/canvas,
  • a details inspector,
  • an exported artifact or log,
  • and currently opens them as overlapping windows.

Example 2: Choosing the Right Supplemental Surface

Load examples/surface-selection-scenarios.md.

Use it when the team is arguing about:

  • pane vs panel,
  • panel vs auxiliary window,
  • or modal vs persistent surface.

Quality Gates

  • The app has a named surface map before anyone debates percentages.
  • Every primary or auxiliary window has a default size, minimum content size, and restore policy.
  • Snap-safe surfaces support a minimum width of 500 epx or less on Windows; target 330 epx where practical.
  • No fixed workspace preset can overlap once minimum sizes are applied.
  • Title bars remain draggable and system legible; the app does not fake caption behavior badly.
  • The primary canvas/content region retains visual priority over inspectors and utilities.
  • Related content is unified into split panes before additional windows are introduced.
  • Bottom bars never contain mission-critical primary actions unless there is a strong, explicit reason.
  • The layout has explicit wide / medium / narrow desktop behavior.
  • Restored windows reappear onscreen even after display or viewport changes.

NOT-FOR Boundaries

Do not use this skill when:

  • the problem is just CSS polish inside a single page,
  • the product has no multi-surface behavior,
  • or the user needs mobile-first interaction patterns instead of desktop workspace ergonomics.

If the request is mostly about color, typography, or visual taste, pair this with a design skill after the surface model is fixed.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Expert in 2000s-era music visualization (Milkdrop, AVS, Geiss) and modern WebGL implementations. Specializes in Butterchurn integration, Web Audio API AnalyserNode FFT data, GLSL shaders for audio-reactive visuals, and psychedelic generative art. Activate on "Milkdrop", "music visualization", "WebGL visualizer", "Butterchurn", "audio reactive", "FFT visualization", "spectrum analyzer". NOT for simple bar charts/waveforms (use basic canvas), video editing, or non-audio visuals.

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

Expert legal research agent for finding and scraping expungement data state by state. Knows authoritative sources, URL patterns, Firecrawl configuration, and 2026 legal landscape.

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

Expert in 3D computer vision labeling tools, workflows, and AI-assisted annotation for LiDAR, point clouds, and sensor fusion. Covers SAM4D/Point-SAM, human-in-the-loop architectures, and vertical-specific training strategies. Activate on '3D labeling', 'point cloud annotation', 'LiDAR labeling', 'SAM 3D', 'SAM4D', 'sensor fusion annotation', '3D bounding box', 'semantic segmentation point cloud'. NOT for 2D image labeling (use clip-aware-embeddings), general ML training (use ml-engineer), video annotation without 3D (use computer-vision-pipeline), or VLM prompt engineering (use prompt-engineer).

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

Apply crisis decision-making research to agent routing, uncertainty triage, and coordination failure analysis in time-pressured systems. Use when diagnosing handoff failures, analytical paralysis, or expert judgment under incomplete information. NOT for routine coding, simple CRUD design, or static single-agent tasks with complete information.

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

Use for insight, reframing, contradiction, impasse, and anomaly-driven problem solving when execution effort no longer helps. NOT for routine optimization, error correction, or well-specified tasks with known solution paths.

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

Apply cognitive task analysis to expert work that depends on perceptual cues, branching judgment, and recurring monitoring loops. Use when decomposing expert capability into agent structure, simulation design, or validation interviews. NOT for ordinary step-by-step SOP capture or simple pipelines with no tacit cue layer.

日本語の概要は準備中です。原文の説明を表示しています。

curiositech/port-daddy22026年10月12日 更新

curiositech のスキルをすべて見る

このスキルの問題を報告する