一键导入
gsl-status
Query and configure the gsl (Go Status Line) that renders a powerline-style status bar in Claude Code and Antigravity CLI.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Query and configure the gsl (Go Status Line) that renders a powerline-style status bar in Claude Code and Antigravity CLI.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | gsl-status |
| description | Query and configure the gsl (Go Status Line) that renders a powerline-style status bar in Claude Code and Antigravity CLI. |
gsl is a Go-based powerline-style status line with two integration points:
~/.claude/statusline-command.sh after every assistant turn; the shim execs
gsl render so the payload flows straight to the binary and the rendered line
appears in the Claude Code status bar.agy): point its built-in /statusline custom command at
gsl status to render the status line on demand without a JSON payload. The
ai segment self-omits because no Claude payload is supplied; dirgit,
repo, and time still render.| Segment | What it shows |
|---|---|
dirgit | Current directory name (basename, ~ for $HOME) + branch + staged/unstaged/untracked/stash/ahead/behind badges |
repo | Root-or-worktree indicator glyph + optional feature/worker/branch name + optional PR badge (tinted by state) + optional worktree count badge; self-omits outside a git repo |
ai | Model display name + context-window usage + MCP active/configured count + 5h/7d rate-limit percentages; self-omits when no Claude payload is present (Antigravity/CLI mode) |
time | Date + time formatted by config Go layouts + timezone abbreviation; always renders |
Each segment is independently enabled/disabled via gsl config enable/disable/toggle <segment>.
gsl render # Read Claude JSON payload from stdin, print status line
gsl status # Print status line now (no stdin; ai segment self-omits)
gsl preview # Interactive TUI: toggle segments, cycle styles, live time
gsl preview --once # Print one rendered frame and exit (CI / golden-file safe)
gsl version # Show version, commit, dirty flag, build date, description, binary path
gsl version --json # Same, as JSON
Config file: ~/.config/gsl/config.json
gsl config get # Print the full config as JSON
gsl config get <key> # Print one field: enabled, style, timezone, time_format, date_format, segments, styles
gsl config set <key> <value> # Set a field: style, timezone, time_format, date_format
gsl config enable [segment] # Enable the master switch (no arg) or a named segment
gsl config disable [segment] # Disable the master switch (no arg) or a named segment
gsl config toggle <segment> # Toggle a named segment on/off
gsl config style [name] # Show the current style, or set it to <name>
gsl config style --list # List all builtin + user-defined styles (* = active)
Segments valid for enable/disable/toggle: dirgit, repo, ai, time
Keys valid for config get: enabled, style, timezone, time_format, date_format, segments, styles
Keys valid for config set: style, timezone, time_format, date_format
Two built-in styles:
| Name | Separator | Fill | Glyphs | Notes |
|---|---|---|---|---|
powerline | filled chevron | yes | nerdfont | Default; requires a Nerd Font-patched terminal font |
emoji | thin bar (|) | no | emoji | No font dependency; works in any terminal |
Add user overrides in the styles object of config.json under the same key as the built-in name. Only the fields you specify are changed; omitting fill preserves the built-in's fill value (fill-presence merging).
| Layer | How | Effect |
|---|---|---|
| Hard off | Remove (or comment out) statusLine.command from ~/.claude/settings.json | Claude Code never calls the shim; no bar |
| Soft off | gsl config disable | Shim is called but prints nothing; bar goes blank |
Use soft off when you want to toggle quickly without editing settings. Use hard off when you want zero overhead (no subprocess fork per turn).
The shim is installed by opt/scripts/system/install_claude_skills.sh:
~/.claude/statusline-command.sh → $DOTFILES/ai/claude/statusline-command.sh
The skill directory is linked by opt/scripts/system/sync-skills.sh into
~/.gemini/config/skills/gsl-status (Antigravity) and ~/.claude/skills/gsl-status (Claude).
Run sync-skills --build to rebuild the binary and refresh all skill links.
Font setup (Nerd Font for powerline style)
install.sh runs the gsl-packaged font installers AFTER the gsl build so the
powerline style renders glyphs correctly. Pinned release: NERD_FONTS_VERSION=v3.4.0
(ryanoasis/nerd-fonts, Meslo.zip — family: MesloLGS Nerd Font).
| OS | Installer | Notes |
|---|---|---|
| macOS | sdk/gsl/scripts/install_nerd_font_macos.sh | Writes an iTerm2 Dynamic Profile (gsl-nerd-font) |
| Linux/WSL | sdk/gsl/scripts/install_nerd_font_linux.sh | Also invokes Windows installer from WSL for Windows Terminal |
| Windows | sdk/gsl/scripts/install_nerd_font_windows.ps1 | Called by setup-apps.ps1 → Install-NerdFont; touchless (-NonInteractive -ExecutionPolicy Bypass) |
After install, sdk/gsl/scripts/check-font-glyphs.sh proves the installed font
covers all 17 PUA codepoints gsl emits. Run it manually to verify:
bash sdk/gsl/scripts/check-font-glyphs.sh
# expect: OK: all 17 gsl codepoints present in .../MesloLGSNerdFont-Regular.ttf
Antigravity CLI ships a built-in /statusline slash command that supports a
custom command — set it to gsl status to render the current status line on
demand. (The Gemini-era /gsl-status TOML custom command retired with
Gemini CLI.)
If ~/opt/bin/gsl is missing, statusline-command.sh falls back to a
dependency-light bash snippet that prints: <basename $PWD> <git branch> <HH:MM>.
The pipe never breaks and no error is returned, so Claude Code's status bar
degrades gracefully instead of breaking.
Integration for interacting with Google Docs and Google Workspace using the 'gws' CLI.
Plan a new objective end-to-end in this repo's docs/mbo Management-By-Objective system — turn a GitHub issue or a gss draft-PR worktree into consistent design/spec/plan artifacts and track it in docs/mbo/index.md. Use this whenever the user wants to START planning or designing a new feature, skill, CLI, or service: "plan this issue", "let's design X", "spec this out", "write a plan for #N", "start an MBO / a design doc", or when they're working in a gss draft PR and want to scope the work — even if they don't say "mbo". Routes the task to the right skill workflow (skill-creator, brainstorming→writing-plans, the go/web teams) per docs/mbo/AGENTS.md. Also anchors the objective to a GitHub design issue + a gss draft PR, and — when the plan is ready and it's time to BUILD — asks whether to "break out the work / parallelize / divide it across the teams": a dependency graph of leaf tasks, each a gss feature worker with its own worktree, draft PR, and linked GitHub sub-issue, fanned out via a Workflow, blocking task
Start, restart, or attach to a persistent Claude --remote-control session on any remote SSH host inside a specified git repository. Use this skill whenever the user asks to "start a remote Claude session", "spin up Claude on [host]", "set up remote control on [host]", "launch Claude remotely in [repo]", "start an AI session on [machine]", "restart the remote Claude session", or any variation of establishing or checking a remote Claude Code instance. Also triggers when the user asks to check whether a remote session is running or to get the attach command for an existing one.
Synchronize AI agent skills and build binaries from the dotfiles repository.
Route a task to the right AI team + member (two-level team→member selection)
A powerful, Go-based management tool for tmux, providing structured session management, window arrangements, layout persistence, and autonomous AI Agent Team Orchestration.