From f55852fdcbca92bee7488b2ca12928a3058376fe Mon Sep 17 00:00:00 2001 From: fedster99 Date: Sun, 19 Jul 2026 06:48:58 +0200 Subject: [PATCH] docs: update project documentation for v1.60.2.0 Co-Authored-By: OpenAI Codex --- AGENTS.md | 2 +- README.md | 5 ++++- docs/skills.md | 8 +++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 4df7eec35..d7ea3c6bd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -43,7 +43,7 @@ Invoke them by name (e.g., `/office-hours`). | Skill | What it does | |-------|-------------| -| `/ship` | Run tests, review, push, open PR. Workspace-aware version queue. | +| `/ship` | Run tests, review, push, open PR, and return a full engineering handoff plus concise Why / What / How. UI changes require matched Before/After proof before push. Workspace-aware version queue. | | `/land-and-deploy` | Merge the PR, wait for CI and deploy, verify production health. | | `/canary` | Post-deploy monitoring loop using the browse daemon. | | `/landing-report` | Read-only dashboard for the workspace-aware ship queue. | diff --git a/README.md b/README.md index af534d2c5..21b3fd08a 100644 --- a/README.md +++ b/README.md @@ -163,7 +163,10 @@ You: /qa https://staging.myapp.com [opens real browser, clicks through flows, finds and fixes a bug] You: /ship +Claude: [full engineering handoff: outcome, root cause, decisions, + implementation, verification, risk, remaining work, next decision] Tests: 42 → 51 (+9 new). PR: github.com/you/app/pull/42 + Put simply: Why / What / How ``` You said "daily briefing app." The agent said "you're building a chief of staff AI" — because it listened to your pain, not your feature request. Eight commands, end to end. That is not a copilot. That is a team. @@ -194,7 +197,7 @@ Each skill feeds into the next. `/office-hours` writes a design doc that `/plan- | `/qa-only` | **QA Reporter** | Same methodology as /qa but report only. Pure bug report without code changes. | | `/pair-agent` | **Multi-Agent Coordinator** | Share your browser with any AI agent. One command, one paste, connected. Works with OpenClaw, Hermes, Codex, Cursor, or anything that can curl. Each agent gets its own tab. Auto-launches headed mode so you watch everything. Auto-starts ngrok tunnel for remote agents. Scoped tokens, tab isolation, rate limiting, activity attribution. | | `/cso` | **Chief Security Officer** | OWASP Top 10 + STRIDE threat model. Zero-noise: 17 false positive exclusions, 8/10+ confidence gate, independent finding verification. Each finding includes a concrete exploit scenario. | -| `/ship` | **Release Engineer** | Sync main, run tests, audit coverage, push, open PR. Bootstraps test frameworks if you don't have one. | +| `/ship` | **Release Engineer** | Sync main, run tests, audit coverage, push, open PR, then return a full engineering handoff plus concise Why / What / How. UI changes require matched Before/After proof before push. | | `/land-and-deploy` | **Release Engineer** | Merge the PR, wait for CI and deploy, verify production health. One command from "approved" to "verified in production." | | `/canary` | **SRE** | Post-deploy monitoring loop. Watches for console errors, performance regressions, and page failures. | | `/benchmark` | **Performance Engineer** | Baseline page load times, Core Web Vitals, and resource sizes. Compare before/after on every PR. | diff --git a/docs/skills.md b/docs/skills.md index 8e8cb7adc..b188fb399 100644 --- a/docs/skills.md +++ b/docs/skills.md @@ -19,7 +19,7 @@ Detailed guides for every gstack skill — philosophy, workflow, and examples. | [`/qa-only`](#qa) | **QA Reporter** | Same methodology as /qa but report only. Use when you want a pure bug report without code changes. | | [`/scrape`](#scrape) | **Browser Data Extractor** | Pull data from a web page. First call prototypes via `$B`; subsequent calls on a matching intent run a codified browser-skill in ~200ms. | | [`/skillify`](#skillify) | **Skill Codifier** | Walks back through your conversation, finds the last `/scrape` prototype, synthesizes script + test + fixture, runs the test, asks before committing. | -| [`/ship`](#ship) | **Release Engineer** | Sync main, run tests, audit coverage, push, open PR. Bootstraps test frameworks if you don't have one. One command. | +| [`/ship`](#ship) | **Release Engineer** | Sync main, run tests, audit coverage, push, open PR, then return a full engineering handoff plus concise Why / What / How. UI changes require matched Before/After proof before push. | | [`/land-and-deploy`](#land-and-deploy) | **Release Engineer** | Merge the PR, wait for CI and deploy, verify production health. One command from "approved" to "verified in production." | | [`/canary`](#canary) | **SRE** | Post-deploy monitoring loop. Watches for console errors, performance regressions, and page failures using the browse daemon. | | [`/benchmark`](#benchmark) | **Performance Engineer** | Baseline page load times, Core Web Vitals, and resource sizes. Compare before/after on every PR. Track trends over time. | @@ -657,6 +657,12 @@ Every `/ship` run builds a code path map from your diff, searches for correspond `/ship` checks the [Review Readiness Dashboard](#review-readiness-dashboard) before creating the PR. If the Eng Review is missing, it asks — but won't block you. Decisions are saved per-branch so you're never re-asked. +### Engineering handoff and UI proof + +Every `/ship` attempt ends with the same complete report, whether it succeeds or stops: outcome, root cause, decisions, implementation, verification, operational risk, remaining work, and any decision you need to make. The last section compresses the result into an extremely concise **Why / What / How**. + +For a user-visible UI change, `/ship` captures matched **Before** and **After** screenshots from faithful base and current states before push. Route, app state, data, viewport, theme, and zoom must match. If the comparison cannot be produced safely and faithfully, `/ship` stops before pushing or creating the PR instead of waiving the evidence. + A lot of branches die when the interesting work is done and only the boring release work is left. Humans procrastinate that part. AI should not. ---