office-hours-track-awarelisted
Install: claude install-skill Paretofilm/superpowers-gstack
# /superpowers-gstack:office-hours-track-aware
Track-aware wrapper around gstack's /office-hours. The "right" flow:
1. Run upstream office-hours to completion (it writes design.md)
2. Read design.md, infer track from content
3. Ask platform question if native (one-time per project)
4. Write `.gstack/track`
5. Render + auto-open DESIGN.html in Safari **before approval**
6. Ask approval question (Approve / Revise / Restart) **after** user has read
7. On approval + native: suggest swiftui-design-consultation
## Phase 0 — Setup
### Step 0.0: Initialize $SLUG via gstack-slug
Same pattern as swiftui-design-consultation (defensive fallback):
```bash
SLUG_OUTPUT=$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)
if [ -n "$SLUG_OUTPUT" ]; then
eval "$SLUG_OUTPUT"
fi
if [ -z "${SLUG:-}" ]; then
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"
```
### Step 0.1: Read existing track marker if present
```bash
mkdir -p .gstack
EXISTING_TRACK=""
if [ -f .gstack/track ]; then
EXISTING_TRACK=$(cat .gstack/track | tr -d '[:space:]')
fi
echo "EXISTING_TRACK: ${EXISTING_TRACK:-none}"
```
If `EXISTING_TRACK` is already set, skip the platform-question in Phase 3.
## Phase 1 — Run upstream office-hours
Invoke gstack's office-hours via the Skill tool, letting it complete its
no