Files
gstack/docs/hosts.md
T
Garry Tanandcapy-ai[bot] ab9a854be2 v1.91.246.0 docs(readme): cut the README to the first ten minutes; move everything else to docs/ pages verbatim (GSTA-99) (#3428)
* docs(readme): cut the README to the first ten minutes; move everything else to docs/ pages verbatim (GSTA-99)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix: pre-landing review fixes

Restore the /setup-gbrain code block the README split left open: README.md kept
the ```bash opener and docs/gbrain-quick-tour.md got only the closing fence, so
both pages rendered their body as one code block. Drop the self-referential
'Full reference' link in docs/domain-skills.md and make the troubleshooting
quick-answer link an in-page anchor.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs: describe the proactive core-set default in why-gstack

The moved 'Proactive skill suggestions' paragraph now documents the four-skill
core set, gstack-config set proactive core|all|off and the docs/proactive.md
page that #3432 (gsta-99-proactive-core) adds; the CHANGELOG names it as the one
non-verbatim paragraph of the move.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix: pre-landing review fixes (round 2)

Promote docs/uninstall.md's moved sections from ### to ## so the page outline
matches the other pages the README split created; no inbound link targets
those anchors.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs: documentation audit fixes

The README Docs table no longer claims docs/standalone-binaries.md covers
every gstack-* CLI (it documents the standalone ones), and
docs/ADDING_A_HOST.md step 6 points at the README host-matrix row and
docs/hosts.md, where the per-host notes now live.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs: disclose the update check fully and list every setup hook

The README privacy summary now names both GitHub requests the update check
makes and the version/OS report it adds with telemetry on, as the full text
it replaced did. docs/install.md's hooks section lists the team-mode
SessionStart hook and the AskUserQuestion PreToolUse/PostToolUse hooks beside
the timeline Stop hook.

* docs: name the update check's conditional compare-API request

bin/gstack-update-check also GETs api.github.com's compare endpoint when the
remote VERSION equals the local one but main has moved; the README privacy
summary and docs/privacy.md now list it beside the ls-remote and VERSION
fetch (documentation audit).

* fix: pre-landing review fixes (merge resolution)

docs/install.md:21 carried main's stable-channel sentence twice after the
merge, the second copy with its backticked spans stripped; the paragraph
again matches README.md:41 verbatim with the relative link.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs: say outside reviews are on by default in the README privacy summary

The one-paragraph summary dropped the default-on disclosure the full text
kept; mirror docs/privacy.md's parenthetical so the top-level page says which
path sends code off-machine without an opt-in.

* v1.91.246.0 stamp

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-26 13:22:30 +00:00

9.3 KiB

Running gstack on other agents

The README has the host matrix: one row per agent with its tier, install command and first invocation. This page has the rest: OpenClaw, how a checkout decides which agents it renders for, the per-host notes, outside-review providers, the Codex behavioral profile, model tiers, and the design binary's models.

OpenClaw

OpenClaw spawns Claude Code sessions via ACP, so every gstack skill just works when Claude Code has gstack installed. Paste this to your OpenClaw agent:

Install gstack: run git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup to install gstack for Claude Code. Then add a "Coding Tasks" section to AGENTS.md that says: when spawning Claude Code sessions for coding work, tell the session to use gstack skills. Include these examples — security audit: "Load gstack. Run /cso", code review: "Load gstack. Run /review", QA test a URL: "Load gstack. Run /qa https://...", build a feature end-to-end: "Load gstack. Run /autoplan, implement the plan, then run /ship", plan before building: "Load gstack. Run /office-hours then /autoplan. Save the plan, don't implement."

After setup, just talk to your OpenClaw agent naturally:

You say What happens
"Fix the typo in README" Simple — Claude Code session, no gstack needed
"Run a security audit on this repo" Spawns Claude Code with Run /cso
"Build me a notifications feature" Spawns Claude Code with /autoplan → implement → /ship
"Help me plan the v2 API redesign" Spawns Claude Code with /office-hours → /autoplan, saves plan

See docs/OPENCLAW.md for advanced dispatch routing and the gstack-lite/gstack-full prompt templates.

Native OpenClaw Skills (via ClawHub)

Four methodology skills that work directly in your OpenClaw agent, no Claude Code session needed. Install from ClawHub:

clawhub install gstack-openclaw-office-hours gstack-openclaw-ceo-review gstack-openclaw-investigate gstack-openclaw-retro
Skill What it does
gstack-openclaw-office-hours Product interrogation with 6 forcing questions
gstack-openclaw-ceo-review Strategic challenge with 4 scope modes
gstack-openclaw-investigate Root cause debugging methodology
gstack-openclaw-retro Weekly engineering retrospective

These are conversational skills. Your OpenClaw agent runs them directly via chat.

Which agents a checkout renders for

An explicit --host X installs for X only and never changes another agent's install. /gstack-upgrade refreshes every install it registered, one row per host, and says which ones failed.

A checkout carries skills only for the agents installed from it. Setup records them in .gstack-installed-hosts and never drops one, so adding an agent later is just ./setup --host <name>. Copies rendered for other agents are pruned: generated files move to ~/.gstack/backups/host-renders/, and files gstack can't prove it generated stay where they are. A global Claude install went from 632 SKILL.md files (34.7 MB) to its own 63 (2.5 MB), which keeps Cursor-agent from freezing on the skills tree (#1694). In a development checkout, bun run build still renders every agent; inside an install it renders the recorded ones, and GSTACK_RENDER_HOSTS=all bun run build renders them all.

Per-host notes

Copilot invokes gstack skills by their prefixed names (/gstack-review) because /review is a Copilot built-in. Copilot ignores skill hooks, so /careful and /freeze only advise there, and COPILOT_HOME other than ~/.copilot is not supported yet (setup refuses and changes nothing).

Antigravity CLI also invokes skills by prefixed name (/gstack-review). Setup writes only ~/.gemini/antigravity-cli/skills/gstack*: Gemini CLI's ~/.gemini/skills and settings are never touched, and --host auto selects Antigravity only when agy is on PATH or ~/.gemini/antigravity-cli exists, never for a Gemini-CLI-only ~/.gemini. The Antigravity 2.0 app and IDE read ~/.gemini/config/skills, which this host does not install.

Outside reviews require the selected CLI to be installed and authenticated: Claude Code when using gstack in Codex, or Codex on other harnesses. External harnesses discover these commands as /gstack-claude-code and /gstack-codex; each harness omits its own wrapper. Explicit provider requests keep that provider. The existing codex_reviews setting controls automatic outside reviews where supported, regardless of the provider selected.

/claude has been renamed to /claude-code. Re-run ./setup --host <name> to migrate managed installations, including other harnesses sharing the checkout. Setup preserves the previous installation if replacement generation or installation fails and prints repair instructions.

Instruction-only agents

Instruction-only tier (any rules-reading agent — Zed, Amp, Jules, side projects): copy the 2KB digest at agents-digest/gstack-AGENTS.md into a location your agent reads (for example, append it to your project's AGENTS.md). It carries gstack's ethos, reuse ladder, and voice rules — no install required. The digest's first line shows its gstack version; re-copy it after upgrading.

Codex: the behavioral profile and model selection

For Codex, setup reads the top-level model from ${CODEX_HOME:-~/.codex}/config.toml and generates the matching behavioral profile, falling back to gpt-6-astra when no usable model is configured. gpt-5.6-sol automatically receives bounded-scope instructions that finish the requested lake without expanding into adjacent cleanup or speculative hardening. The Sol profile is exact-match only: dated snapshots and other 5.6 variants get the generic GPT profile, and setup warns on near-misses like gpt-5.6-sol-2026-08-01. Override detection with ./setup --host codex --model <id> — the override applies to that run only; set model in your Codex config.toml to make it stick across upgrades. After changing your Codex model, rerun ./setup --host codex to regenerate the skills.

Plan-review and implementation tiers. Plan workflows use an independent frontier reviewer: Fable 5.1 from Codex, or GPT-6 Astra from Claude Code. Implementation handoffs recommend the smart tier: Opus 5.5 or GPT-6.1 Sol. Choose a different tier, pin either provider's model, or use host mode to preserve native model settings. The read-only gstack-models command explains the effective choices; changing these settings does not require regenerating skills or switch your running session. A weekly maintenance check flags changed official recommendations and retirement notices without automatically changing models. See model policy: setup, overrides and freshness.

Other Codex calls keep their existing selection. Without the explicit plan-review role (including ordinary review and ship adversarial passes), gstack picks the model in this order: a model you name for that request, then GSTACK_CODEX_MODEL, then model in your Codex config.toml (for native codex review, review_model first; a custom CODEX_HOME is honored), and only then gstack's default, gpt-6-astra. Before spending anything, it prints the choice and where it came from, for example CODEX_MODEL: gpt-5.6-terra (exec; source: ~/.codex/config.toml model). If your choice is invalid or your account cannot use it, gstack stops with a repair message and reports the outside review as unavailable. It never silently switches to its default. Nested Codex reviews also run with installed skills hidden (-c skills.include_instructions=false), so a review cannot turn into a whole nested skill run. Runtime model selection is separate from the setup-time behavioral profile above. Without the plan-review role, /claude-code (gstack-claude-code on Codex) preserves Claude's configured model. Set GSTACK_CLAUDE_MODEL=<model> or name a model in your request to override it for the invocation, including resumed consultations. See eval defaults and overrides for capture, judge, and benchmark model selection.

The design binary's models

The design binary ($D) uses OpenAI's gpt-5.5 by default, with image generation through gpt-image-2. Set GSTACK_DESIGN_MODEL=<model> to use another gpt-5-class model for both image generation and screenshot analysis; if OpenAI rejects it, the error names GSTACK_DESIGN_MODEL. Set GSTACK_DESIGN_IMAGE_MODEL=<gpt-image model> to change the image tool model; a value that is not a gpt-image model name is refused before any request. Check a key against the defaults with bun run design/scripts/live-model-check.ts, which always tests the default models and ignores both overrides; the weekly periodic census runs the same check. Set OPENAI_BASE_URL to send every $D call to an OpenAI-compatible gateway instead of api.openai.com; egress receipts record the gateway host. On Codex, /design-shotgun generates mockups with Codex's built-in $imagegen skill instead, so it needs no OPENAI_API_KEY; $D still builds and serves the comparison board.

Adding a host

Want to add support for another agent? See docs/ADDING_A_HOST.md. Rendering a new agent is one TypeScript config file; installing it also needs a setup arm and the conformance kit, and it starts as experimental.