mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-16 09:12:13 +08:00
* feat(document-release): add Diataxis coverage map, diagram drift detection, and docs debt tracking Inspired by @doodlestein's documentation-website skill. Three key ideas incorporated: 1. Step 1.5: Coverage Map (Blast-Radius Analysis) — before editing any docs, scan the diff for new public surface and assess documentation coverage across Diataxis quadrants (reference/how-to/tutorial/explanation). Flags gaps without auto-generating content. 2. Architecture diagram drift detection — extracts entity names from ASCII/Mermaid diagrams and cross-references against the diff to catch stale diagrams. 3. Enhanced CHANGELOG sell test — Diataxis rubric scoring (0-3) replaces the subjective 'would a user want this?' check. 4. Documentation Debt section in PR body — surfaces coverage gaps and diagram drift as actionable items for future work. All changes are audit-only: the skill flags what's missing, never auto-generates missing documentation pages. Stays in its lane as a post-ship updater. Co-Authored-By: Hermes Agent <agent@nousresearch.com> * feat(document-generate): add Diataxis documentation generation skill New /document-generate skill, the companion to /document-release. While /document-release audits and fixes existing docs post-ship, /document-generate writes missing documentation from scratch using the Diataxis framework. Inspired by doodlestein documentation-website-for-software-project skill. Co-Authored-By: Hermes Agent <agent@nousresearch.com> * chore(docs): regenerate gstack/llms.txt with /document-generate entry CI's check-freshness step ran gen:skill-docs and found llms.txt stale — the index wasn't regenerated when /document-generate was added in the preceding commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(docs): regen document-generate/SKILL.md after merging main Main brought in the Non-ASCII characters directive in the AskUserQuestion Format resolver (scripts/resolvers/preamble/generate-ask-user-format.ts). Regenerating document-generate/SKILL.md propagates the new section into the generated output. check-freshness should now pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(CLAUDE.md): add workflow for fork PRs from garrytan-agents Fork PRs from non-collaborators don't get base-repo secrets passed to their CI workflows, so eval/E2E jobs fail with empty-env auth. New section: when checking out a PR from garrytan-agents, push the branch to garrytan/gstack and re-target the PR from there. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: sync project docs for v1.35.0.0 + bump VERSION - README.md: add /document-generate to skills table (Technical Writer category) + install-command skill lists - CLAUDE.md: add document-generate/ to project structure tree - SKILL.md.tmpl + regenerated SKILL.md: add /document-generate routing line ("write docs from scratch") - VERSION: 1.34.0.0 → 1.35.0.0 (MINOR: new skill + enhancement) CHANGELOG entry deferred to /ship. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: bump version and changelog (v1.35.0.0) CHANGELOG entry for the document-generate skill + document-release Diataxis enhancements. package.json synced to VERSION (drift repair after merging main which had bumped pkg to 1.34.2.0). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: generate /document-generate Diataxis docs (tutorial + how-to + explanation) Fills the documentation debt items flagged by /document-release in PR #1477: critical-gap tutorial coverage and common-gap explanation coverage for the new /document-generate skill. Quadrants: tutorial, how-to, explanation (reference already covered by document-generate/SKILL.md). - docs/tutorial-document-generate.md (1009 words): newcomer 90-second flow - docs/howto-document-a-shipped-feature.md (770 words): post-ship audit + fill workflow - docs/explanation-diataxis-in-gstack.md (1106 words): why Diataxis, trade-offs, alternatives - README.md: links the three docs from the /document-generate skills-table row All cross-links verified — every Related section points at an existing file. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Hermes Agent <agent@nousresearch.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
167 lines
11 KiB
Plaintext
167 lines
11 KiB
Plaintext
# gstack
|
|
|
|
> gstack is Garry's Stack: AI coding skills + a fast headless browser binary + a design CLI. This file indexes every capability so agents can discover and invoke them without crawling individual SKILL.md files.
|
|
|
|
Conventions:
|
|
- Skills are invoked by name (e.g. `/ship`, `/plan-ceo-review`).
|
|
- Browse commands run as `browse <command> [args]` (or `$B` shorthand).
|
|
- Design commands run as `design <command> [args]` (or `$D`).
|
|
- Project-specific config lives in `CLAUDE.md`. Always read it first.
|
|
|
|
## Skills
|
|
|
|
- [/autoplan](autoplan/SKILL.md): Auto-review pipeline — reads the full CEO, design, eng, and DX review skills from disk and runs them sequentially with auto-decisions using 6 decision principles.
|
|
- [/benchmark](benchmark/SKILL.md): Performance regression detection using the browse daemon.
|
|
- [/benchmark-models](benchmark-models/SKILL.md): Cross-model benchmark for gstack skills.
|
|
- [/browse](browse/SKILL.md): Fast headless browser for QA testing and site dogfooding.
|
|
- [/canary](canary/SKILL.md): Post-deploy canary monitoring.
|
|
- [/careful](careful/SKILL.md): Safety guardrails for destructive commands.
|
|
- [/claude](claude/SKILL.md): Claude Code CLI wrapper for non-Claude hosts - three modes.
|
|
- [/codex](codex/SKILL.md): OpenAI Codex CLI wrapper — three modes.
|
|
- [/context-restore](context-restore/SKILL.md): Restore working context saved earlier by /context-save.
|
|
- [/context-save](context-save/SKILL.md): Save working context.
|
|
- [/cso](cso/SKILL.md): Chief Security Officer mode.
|
|
- [/design-consultation](design-consultation/SKILL.md): Design consultation: understands your product, researches the landscape, proposes a complete design system (aesthetic, typography, color, layout, spacing, motion), and generates font+color preview pages.
|
|
- [/design-html](design-html/SKILL.md): Design finalization: generates production-quality Pretext-native HTML/CSS.
|
|
- [/design-review](design-review/SKILL.md): Designer's eye QA: finds visual inconsistency, spacing issues, hierarchy problems, AI slop patterns, and slow interactions — then fixes them.
|
|
- [/design-shotgun](design-shotgun/SKILL.md): Design shotgun: generate multiple AI design variants, open a comparison board, collect structured feedback, and iterate.
|
|
- [/devex-review](devex-review/SKILL.md): Live developer experience audit.
|
|
- [/document-generate](document-generate/SKILL.md): Generate missing documentation from scratch for a feature, module, or entire project.
|
|
- [/document-release](document-release/SKILL.md): Post-ship documentation update.
|
|
- [/freeze](freeze/SKILL.md): Restrict file edits to a specific directory for the session.
|
|
- [/gstack](gstack/SKILL.md): Fast headless browser for QA testing and site dogfooding.
|
|
- [/gstack-upgrade](gstack-upgrade/SKILL.md): Upgrade gstack to the latest version.
|
|
- [/guard](guard/SKILL.md): Full safety mode: destructive command warnings + directory-scoped edits.
|
|
- [/health](health/SKILL.md): Code quality dashboard.
|
|
- [/investigate](investigate/SKILL.md): Systematic debugging with root cause investigation.
|
|
- [/land-and-deploy](land-and-deploy/SKILL.md): Land and deploy workflow.
|
|
- [/landing-report](landing-report/SKILL.md): Read-only queue dashboard for workspace-aware ship.
|
|
- [/learn](learn/SKILL.md): Manage project learnings.
|
|
- [/make-pdf](make-pdf/SKILL.md): Turn any markdown file into a publication-quality PDF.
|
|
- [/office-hours](office-hours/SKILL.md): YC Office Hours — two modes.
|
|
- [/open-gstack-browser](open-gstack-browser/SKILL.md): Launch GStack Browser — AI-controlled Chromium with the sidebar extension baked in.
|
|
- [/pair-agent](pair-agent/SKILL.md): Pair a remote AI agent with your browser.
|
|
- [/plan-ceo-review](plan-ceo-review/SKILL.md): CEO/founder-mode plan review.
|
|
- [/plan-design-review](plan-design-review/SKILL.md): Designer's eye plan review — interactive, like CEO and Eng review.
|
|
- [/plan-devex-review](plan-devex-review/SKILL.md): Interactive developer experience plan review.
|
|
- [/plan-eng-review](plan-eng-review/SKILL.md): Eng manager-mode plan review.
|
|
- [/plan-tune](plan-tune/SKILL.md): Self-tuning question sensitivity + developer psychographic for gstack (v1: observational).
|
|
- [/qa](qa/SKILL.md): Systematically QA test a web application and fix bugs found.
|
|
- [/qa-only](qa-only/SKILL.md): Report-only QA testing.
|
|
- [/retro](retro/SKILL.md): Weekly engineering retrospective.
|
|
- [/review](review/SKILL.md): Pre-landing PR review.
|
|
- [/scrape](scrape/SKILL.md): Pull data from a web page.
|
|
- [/setup-browser-cookies](setup-browser-cookies/SKILL.md): Import cookies from your real Chromium browser into the headless browse session.
|
|
- [/setup-deploy](setup-deploy/SKILL.md): Configure deployment settings for /land-and-deploy.
|
|
- [/setup-gbrain](setup-gbrain/SKILL.md): Set up gbrain for this coding agent: install the CLI, initialize a local PGLite or Supabase brain, register MCP, capture per-remote trust policy.
|
|
- [/ship](ship/SKILL.md): Ship workflow: detect + merge base branch, run tests, review diff, bump VERSION, update CHANGELOG, commit, push, create PR.
|
|
- [/skillify](skillify/SKILL.md): Codify the most recent successful /scrape flow into a permanent browser-skill on disk.
|
|
- [/sync-gbrain](sync-gbrain/SKILL.md): Keep gbrain current with this repo's code and refresh agent search guidance in CLAUDE.md.
|
|
- [/unfreeze](unfreeze/SKILL.md): Clear the freeze boundary set by /freeze, allowing edits to all directories again.
|
|
|
|
## Browse Commands
|
|
|
|
Run with `browse <command> [args]`. Full reference: `browse/SKILL.md`.
|
|
|
|
### Extraction
|
|
- `archive [path]`: Save complete page as MHTML via CDP
|
|
- `download <url|@ref> [path] [--base64] [--navigate]`: Download URL or media element to disk using browser cookies.
|
|
- `scrape <images|videos|media> [--selector sel] [--dir path] [--limit N]`: Bulk download all media from page.
|
|
|
|
### Inspection
|
|
- `attrs <sel|@ref>`: Element attributes as JSON
|
|
- `cdp <Domain.method> [json-params]`: Raw Chrome DevTools Protocol method dispatch.
|
|
- `console [--clear|--errors]`: Console messages (--errors filters to error/warning)
|
|
- `cookies`: All cookies as JSON
|
|
- `css <sel> <prop>`: Computed CSS value
|
|
- `dialog [--clear]`: Dialog messages
|
|
- `eval <file>`: Run JavaScript from a file in the page context and return result as string.
|
|
- `inspect [selector] [--all] [--history]`: Deep CSS inspection via CDP — full rule cascade, box model, computed styles
|
|
- `is <prop> <sel|@ref>`: State check on element.
|
|
- `js <expr>`: Run inline JavaScript expression in the page context and return result as string.
|
|
- `network [--clear]`: Network requests
|
|
- `perf`: Page load timings
|
|
- `storage | storage set <key> <value>`: Read both localStorage and sessionStorage as JSON.
|
|
- `ux-audit`: Extract page structure for UX behavioral analysis — site ID, nav, headings, text blocks, interactive elements.
|
|
|
|
### Interaction
|
|
- `cleanup [--ads] [--cookies] [--sticky] [--social] [--all]`: Remove page clutter (ads, cookie banners, sticky elements, social widgets)
|
|
- `click <sel>`: Click element
|
|
- `cookie <name>=<value>`: Set cookie on current page domain
|
|
- `cookie-import <json>`: Import cookies from JSON file
|
|
- `cookie-import-browser [browser] [--domain d]`: Import cookies from installed Chromium browsers (opens picker, or use --domain for direct import)
|
|
- `dialog-accept [text]`: Auto-accept next alert/confirm/prompt.
|
|
- `dialog-dismiss`: Auto-dismiss next dialog
|
|
- `fill <sel> <val>`: Fill input
|
|
- `header <name>:<value>`: Set custom request header (colon-separated, sensitive values auto-redacted)
|
|
- `hover <sel>`: Hover element
|
|
- `press <key>`: Press a Playwright keyboard key against the focused element.
|
|
- `scroll [sel|@ref]`: With a selector, smooth-scrolls the element into view.
|
|
- `select <sel> <val>`: Select dropdown option by value, label, or visible text
|
|
- `style <sel> <prop> <value> | style --undo [N]`: Modify CSS property on element (with undo support)
|
|
- `type <text>`: Type into focused element
|
|
- `upload <sel> <file> [file2...]`: Upload file(s)
|
|
- `useragent <string>`: Set user agent
|
|
- `viewport [<WxH>] [--scale <n>]`: Set viewport size and optional deviceScaleFactor (1-3, for retina screenshots).
|
|
- `wait <sel|--networkidle|--load>`: Wait for element, network idle, or page load (timeout: 15s)
|
|
|
|
### Meta
|
|
- `chain (JSON via stdin)`: Run a sequence of commands from JSON on stdin.
|
|
- `domain-skill save|list|show|edit|promote-to-global|rollback|rm <host?>`: Per-site notes the agent writes for itself.
|
|
- `frame <sel|@ref|--name n|--url pattern|main>`: Switch to iframe context (or main to return)
|
|
- `inbox [--clear]`: List messages from sidebar scout inbox
|
|
- `skill list|show|run|test|rm <name?> [--arg k=v]... [--timeout=Ns]`: Run a browser-skill: deterministic Playwright script that drives the daemon over loopback HTTP.
|
|
- `watch [stop]`: Passive observation — periodic snapshots while user browses
|
|
|
|
### Navigation
|
|
- `back`: History back
|
|
- `forward`: History forward
|
|
- `goto <url>`: Navigate to URL (http://, https://, or file:// scoped to cwd/TEMP_DIR)
|
|
- `load-html <file> [--wait-until load|domcontentloaded|networkidle] [--tab-id <N>] | load-html --from-file <payload.json> [--tab-id <N>]`: Load HTML via setContent.
|
|
- `reload`: Reload page
|
|
- `url`: Print current URL
|
|
|
|
### Reading
|
|
- `accessibility`: Full ARIA tree
|
|
- `data [--jsonld|--og|--meta|--twitter]`: Structured data: JSON-LD, Open Graph, Twitter Cards, meta tags
|
|
- `forms`: Form fields as JSON
|
|
- `html [selector]`: innerHTML of selector (throws if not found), or full page HTML if no selector given
|
|
- `links`: All links as "text → href"
|
|
- `media [--images|--videos|--audio] [selector]`: All media elements (images, videos, audio) with URLs, dimensions, types
|
|
- `text`: Cleaned page text
|
|
|
|
### Server
|
|
- `connect`: Launch headed Chromium with Chrome extension
|
|
- `disconnect`: Disconnect headed browser, return to headless mode
|
|
- `focus [@ref]`: Bring headed browser window to foreground (macOS)
|
|
- `handoff [message]`: Open visible Chrome at current page for user takeover
|
|
- `restart`: Restart server
|
|
- `resume`: Re-snapshot after user takeover, return control to AI
|
|
- `state save|load <name>`: Save/load browser state (cookies + URLs)
|
|
- `status`: Health check
|
|
- `stop`: Shutdown server
|
|
|
|
### Snapshot
|
|
- `snapshot [flags]`: Accessibility tree with @e refs for element selection.
|
|
|
|
### Tabs
|
|
- `closetab [id]`: Close tab
|
|
- `newtab [url] [--json]`: Open new tab.
|
|
- `tab <id>`: Switch to tab
|
|
- `tab-each <command> [args...]`: Run a command on every open tab.
|
|
- `tabs`: List open tabs
|
|
|
|
### Visual
|
|
- `diff <url1> <url2>`: Text diff between pages
|
|
- `pdf [path] [--format letter|a4|legal] [--width <dim> --height <dim>] [--margins <dim>] [--margin-top <dim> --margin-right <dim> --margin-bottom <dim> --margin-left <dim>] [--header-template <html>] [--footer-template <html>] [--page-numbers] [--tagged] [--outline] [--print-background] [--prefer-css-page-size] [--toc] [--tab-id <N>] | pdf --from-file <payload.json> [--tab-id <N>]`: Save the current page as PDF.
|
|
- `prettyscreenshot [--scroll-to sel|text] [--cleanup] [--hide sel...] [--width px] [path]`: Clean screenshot with optional cleanup, scroll positioning, and element hiding
|
|
- `responsive [prefix]`: Screenshots at mobile (375x812), tablet (768x1024), desktop (1280x720).
|
|
- `screenshot [--selector <css>] [--viewport] [--clip x,y,w,h] [--base64] [selector|@ref] [path]`: Save screenshot.
|
|
|
|
## More
|
|
|
|
- Repository: https://github.com/garrytan/gstack
|
|
- Top-level guide: `SKILL.md`
|
|
- Project ethos: `ETHOS.md`
|
|
- This file is auto-generated by `bun run gen:skill-docs`.
|