Skiff

Sessions, groups, tiles and themes

A session is one agent or shell in a worktree. The daemon, skiffd, owns it, so it keeps running when you close the window. A group puts up to four sessions side by side in one layout. Themes tell the projects and sessions apart.

Chapter 3 of 9 · Skiff user guide

Create sessions

  1. Point at a worktree row in the side panel and click its +. Or make the row current and press Ctrl+Shift+T.
  2. The menu reads START IN and the branch. Click Shell or an agent, or press its digit.
  3. The session starts in the worktree and its pane fills the main area. Its row goes under the worktree, with the agent's icon and a name.
  4. A project with only its main checkout has no worktree row. Its project menu lists the same choices under START IN MAIN.
The launch menu, open from the plus of the rate-limits worktree. Under START IN RATE-LIMITS: Shell, claude, codex, gemini, grok and opencode, numbered 1 to 6. Under NEW GROUP, THEN A SESSION PER PANE: 2 side by side, 2 stacked, 1 left 2 right, 1 over 2, 3 side by side and 2 by 2. At the bottom, Agent settings.
The launch menu of a worktree. Digits pick an agent. The layouts under it make a group with empty panes.
Ctrl+Shift+RRename the session. The name shows on its row and pane header.
Ctrl+Shift+KEnd the session. Skiff asks first. The pane's menu has End session… too.
Ctrl+Shift+JGo to the next session that waits for approval. The top bar counts them under Waiting and Unread.
Ctrl+Shift+BBack to the last session.
Ctrl+Shift+PThe palette: every command, session and worktree by name.

A bell on a row means the agent waits for you. A flag means it finished a turn while you were elsewhere. Skiff reads both from the agent's screen. It installs nothing in the agent.

Create groups

  1. Open the worktree's launch menu. Under NEW GROUP, THEN A SESSION PER PANE, click a layout: 2 side by side, 2 stacked, 1 left, 2 right, 1 over 2, 3 side by side or 2 by 2.
  2. The group opens with empty panes. Each empty pane offers the same start choices. Pick one for each pane.
  3. Or split from a pane: right-click it and click Add pane right… (Ctrl+Shift+D) or Add pane below… (Ctrl+Shift+S). Pick a shell or an agent. The new session starts in the same worktree, and the two panes become a group.
  4. The group gets a row in the side panel with the names of its sessions under it. Click the row to show the group. Right-click it to Rename, set a Group theme…, Ungroup, or Kill all sessions….

Group sessions

Sessions that already run can join a group.

  1. Hold Ctrl (⌘ on macOS) and click the session rows. A bar at the bottom of the side panel counts them.
  2. Click New group, or press Enter. The sessions open side by side as one group. When one of them is a whole group, the button reads Add to and the group's name, and the others join it.
  3. Hold Shift and click to select every row between two rows.
  4. Or drag. Drop a session row on another session to make a group of the two. Drop it on a group row to join that group. Drop it on a row of its own group to trade places. Drop it on the worktree row to leave the group.
  5. To take one session out, click the × at the right of its pane header, or press Ctrl+Shift+W. The session keeps running.
Two session rows selected under the checkout-form worktree of harbor. A bar at the bottom of the side panel reads 2 selected. Enter to group them, with a New group button and a Clear button.
Two sessions selected with Ctrl+click. New group puts them side by side.

Tile sessions

  1. A group holds up to four panes. Drag the line between two panes to change their sizes.
  2. Drag a pane by its header onto an edge of another pane to move it there. The target lights up before you drop.
  3. Move the keys between panes with Ctrl+Shift+Alt+Left, Right, Up or Down, or click a pane. The focused pane has a frame in its project's color.
  4. The buttons at the right of a pane header maximize the pane, enter focus mode, and take the session out of the group. See chapter 5.
A group named triage in the 1 left, 2 right layout. Claude Code works in the left pane. Codex waits for approval in the top right pane with a bell. Grok Build finished in the bottom right pane with a flag. The side panel lists the three sessions under the group row.
Three sessions in one group: 1 left, 2 right. The bell and the flag mark the panes that need a look.

Theme projects and sessions

Themes cascade: the app theme, then a project theme, then a session theme. A lower level replaces the one above it. Skiff ships 34 themes.

  1. For a project: open the project menu, click Appearance, then Project theme…. Or press Ctrl+Shift+X with the project row current. The side panel, the top bar and every pane of the project without a theme of its own take it.
  2. For a session: right-click its pane or its row and click Session theme…, or press Ctrl+Shift+X on the row. Only that pane changes.
  3. For a group: right-click the group row and click Group theme…. Every session in the group takes it.
  4. In the picker, type a name or a color in the search field, or click a color swatch. Click a card to apply it and close. The first card, Same as app or Same as project, removes the theme at this level.
  5. The app theme is in Settings › Appearance. See chapter 9.
The Project theme: harbor picker. A search field, a row of color swatches, and a grid of theme cards, each with a small terminal preview, the theme name and its color family. The first card reads Same as app. The Ember card is marked Active.
Project theme: harbor. Each card previews the theme. Ember is active.

The same Appearance menu sets the project's Color… (Ctrl+Shift+I), its Initials…, an icon file, and a background image behind its panes.