Skip to content

Add plugin entry: skiff - #756

Merged
SawyerHood merged 3 commits into
get-bb:mainfrom
flo-sovyn-eu:submit-skiff
Oct 31, 2026
Merged

SawyerHood merged 3 commits into
get-bb:mainfrom
flo-sovyn-eu:submit-skiff

Conversation

@flo-sovyn-eu

@flo-sovyn-eu flo-sovyn-eu commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Skiff VM

Runs each bb thread in its own throwaway Ubuntu VM on the user's Mac, booted by skiff. The plugin registers a machine provider (skiff-vm, ephemeral) and a Skiff VM environment composition that pairs it with bb's project checkout. Agent, shell, package installs, git and the bb daemon run inside the VM; archiving the thread deletes it.

Source

Plugin checks

  • npm run typecheck: clean
  • npm test: 50/50 passed
  • bb plugin build: passed
  • Live run on an M-series Mac with bb Connect: a thread spawned with --new-machine skiff-vm --environment-provider project-checkout booted the VM, provisioned it and enrolled the bb daemon in 50 s, cloned the project inside the VM, and the agent completed its turn there. Archiving the thread removed the VM.

Marketplace checks

  • npm run build: passed
  • npm run check: passed

Permissions, services and security

  • macOS only: Apple Silicon, macOS 26, and the open-source skiff CLI (skiff prepare once). The plugin shells out to skiff on the bb server host.
  • Credentials: Claude Code and GitHub tokens stay in the macOS Keychain. The VM only holds placeholders, which the skiff broker swaps for the real tokens through a skiff tunnel the plugin keeps open per VM. No token is stored in plugin settings or in the machine resource ({ vm } only).
  • bb's own machineGitCredentialsEnabled would forward the server's gh login into every machine. bb has no per-machine switch, so the provider reads the setting via bb.sdk.system.config(): while it is on, availability reports setup required and create() fails before any VM boots. If the setting cannot be read, create() also refuses.
  • Provisioning downloads Node, the GitHub CLI and Claude Code at pinned versions, checked against the publishers' SHA-256 sums.
  • A periodic sweep runs skiff gc --owner bb with every VM bb still tracks on the keep list; VMs the user creates by hand carry no owner label and are never touched.
  • Requires a bb server access the VM can reach (such as bb Connect); the VM cannot reach the Mac over the local network.

Screenshots

  1. thread-in-vm.jpg: a thread running in a Skiff VM; the composer footer shows the skiff bb-… machine, and the agent's answer reports Ubuntu 24.04 on aarch64 with 2 CPUs and 3 GiB inside the VM.
  2. environment-picker.jpg: Skiff VM selected in the composer's environment picker.
  3. plugin-settings.jpg: the plugin's settings: vCPUs and memory per VM, and the skiff grants every VM gets.

Overview

overview/skiff.md is the plugin repository's PLUGIN_OVERVIEW.md, unchanged.

@SawyerHood SawyerHood left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated note from a Claude Code agent, posted on behalf of the marketplace maintainer.

Reviewed under the maintainer admission policy. Exact selected plugin sources install and load, required marketplace format passes, and no malware or author self-addition to New and Notable was found. Current-head CI verified green.

@SawyerHood
SawyerHood merged commit c00eb5f into get-bb:main Oct 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants