← ClaudeAtlas

swiftui-design-consultationlisted

Apple-canon design system consultation for SwiftUI projects. Produces DESIGN.md (human source of truth) + a Swift Package starter (DesignSystem.swift + Package.swift + Tests) wired with semantic colors, SF Pro typography, Liquid Glass material discipline, named motion presets, and accessibility baseline. Orchestrates the swiftui-rag MCP surface for canonical patterns and HIG citations, uses /htmlify for Phase 3 proposal preview, chains into macos-native-review for HIG conformance gating. Use when starting a new SwiftUI project, when an existing SwiftUI project lacks a coherent design system, or when refreshing one. Phase 0 inlines the platform-question if .gstack/track is missing (since v2.3.0 — previously delegated to standalone swiftui-track skill, which was removed).
Paretofilm/superpowers-gstack · ★ 2 · Web & Frontend · score 64
Install: claude install-skill Paretofilm/superpowers-gstack
# /superpowers-gstack:swiftui-design-consultation Apple-canon design system consultation for SwiftUI projects. Output: `DESIGN.md` + `DesignSystem/` Swift Package + `DESIGN.html` (via htmlify). ## Phase 0 — Setup ### Step 0.0: Initialize gstack helpers (set $SLUG) This skill writes per-project state under `~/.gstack/projects/$SLUG/`, so `$SLUG` (the gstack project identifier derived from the git remote) must be set before any other Phase reads or writes it. ```bash # Pull gstack-slug into the current shell. Sets $SLUG = repo-slug # from `git remote get-url origin` per gstack convention. # # CAREFUL: `eval "$(... 2>/dev/null)" || fallback` does NOT work — if # gstack-slug is missing, command substitution returns empty, `eval ""` # succeeds (exit 0), and the fallback never runs. Capture output first # and check non-empty explicitly. SLUG_OUTPUT=$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null) if [ -n "$SLUG_OUTPUT" ]; then eval "$SLUG_OUTPUT" fi if [ -z "${SLUG:-}" ]; then # Fallback: derive slug from git toplevel basename, or pwd basename # if not in a git repo. SLUG="$(basename "$(git rev-parse --show-toplevel 2>/dev/null || pwd)")" export SLUG fi if [ -z "$SLUG" ] || [ "$SLUG" = "/" ]; then echo "FATAL: could not derive SLUG. Aborting." >&2 exit 1 fi mkdir -p ~/.gstack/projects/"$SLUG" echo "SLUG: $SLUG" ``` `$SLUG` is referenced throughout subsequent phases for state-file paths (`~/.gstack/projects/$SLUG/design-proposal-{ts}.md`, `~/.gstack/project