diff --git a/CLAUDE.md b/CLAUDE.md index 44246772..c75453bb 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -356,6 +356,16 @@ gh run view --json jobs --jq '.jobs[] | {name: .name, conclusion: .conclusi **82. `bun` requires PATH setup on devserver01:** `export BUN_INSTALL="$HOME/.bun" && export PATH="$BUN_INSTALL/bin:$PATH"`. The gstack browse binary and Playwright need this. Chromium system deps: `libatk1.0-0 libatk-bridge2.0-0 libcups2 libxkbcommon0 libatspi2.0-0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2`. +**83. FlowPilot ActionBar is `position: fixed; bottom: 0`:** Any UI element placed in normal document flow below the session content will be hidden behind it. New fixed-position elements (like the message bar) must use `bottom: 68px` (action bar height) and the same `left: var(--sidebar-w)` pattern. The conversation column uses `pb-32` for clearance. + +**84. AI session `abandoned` status is fully wired:** `POST /ai-sessions/{id}/abandon` sets status to `abandoned` with optional `reason` param. Frontend: `aiSessionsApi.abandonSession()`, `useFlowPilotSession().abandonSession()`, "Close" button in `FlowPilotActionBar`. Redirects to `/sessions` after closing. + +**85. Date range filter end dates must use end-of-day:** `toDate.toISOString()` sends midnight (start of day), excluding items created later that day. Always set `toDate.setHours(23, 59, 59, 999)` before sending. For string-based date inputs (AI sessions), append `T23:59:59.999Z`. See `SessionHistoryPage.tsx`. + +**86. Script Builder system:** AI-powered script generation at `/script-builder`. Chat-style interface generates PowerShell/Bash/Python scripts from natural language. Backend: `ScriptBuilderSession` model, `script_builder_service.py`, endpoints at `/scripts/builder/`. Frontend: `ScriptBuilderPage`, `ScriptCodeBlock`, `ScriptPreviewModal`, `SaveToLibraryDialog`. FlowPilot can hand off to Script Builder via `action_type: "open_script_builder"` with `sessionStorage` context passing. + +**87. FlowPilot must ask GUI vs script preference:** When a task can be done via GUI or script (e.g., creating AD users), FlowPilot must ask the engineer which approach they prefer BEFORE suggesting either. Never assume the user wants a script. See `FLOWPILOT_SYSTEM_PROMPT` rules in `flowpilot_engine.py`. + --- ## RBAC & Permissions @@ -439,6 +449,38 @@ When a feature, fix, or significant piece of work is finished and merged/committ --- +## gstack (Browser & Workflow Skills) + +**Web browsing:** Always use the `/browse` skill from gstack for all web browsing needs. Never use `mcp__claude-in-chrome__*` tools. + +**Available skills:** + +| Skill | Purpose | +|-------|---------| +| `/office-hours` | Brainstorm new ideas (YC-style office hours) | +| `/plan-ceo-review` | CEO/founder-mode plan review (scope, ambition) | +| `/plan-eng-review` | Engineering plan review (architecture, edge cases) | +| `/plan-design-review` | Design plan review (UI/UX critique) | +| `/design-consultation` | Create a design system / DESIGN.md | +| `/review` | Pre-landing PR code review | +| `/ship` | Ship workflow (tests, review, PR creation) | +| `/browse` | Headless browser for QA testing and site dogfooding | +| `/qa` | Systematic QA testing + auto-fix bugs found | +| `/qa-only` | QA report only (no fixes) | +| `/design-review` | Visual QA — find and fix design inconsistencies | +| `/setup-browser-cookies` | Import cookies from real browser for authenticated testing | +| `/retro` | Weekly engineering retrospective | +| `/investigate` | Systematic debugging with root cause analysis | +| `/document-release` | Post-ship documentation updates | +| `/codex` | Second opinion via OpenAI Codex CLI | +| `/careful` | Safety guardrails for destructive commands | +| `/freeze` | Restrict edits to a specific directory | +| `/guard` | Full safety mode (careful + freeze) | +| `/unfreeze` | Remove edit restrictions | +| `/gstack-upgrade` | Upgrade gstack to latest version | + +--- + ## Deployment (Railway) - **Production:** `resolutionflow.com` (frontend), `api.resolutionflow.com` (backend)