On this page

Quick start

Requirements

  • Apple-silicon macOS 14 or newer;
  • an installed, executable skryba binary with skryba style and skryba language;
  • the credentials required by the chosen CLI workflow;
  • an installed ster binary for Train adapter and for a rewrite written by your own model — the CLI spawns it, and refuses with its install line when it is missing.

Install the CLI from the sibling repository:

cd ../skryba
cargo install --path . --locked

Install Ster only if you intend to train or generate locally:

cargo install --git https://github.com/wisent-ai/ster --locked

Skryba Desktop searches PATH, then ~/.cargo/bin, ~/.local/bin, ~/.stado/bin, /opt/homebrew/bin, and /usr/local/bin. Update the executable the app actually resolves: an older copy earlier in the search order has no catalog, so the Rewrite pickers stay empty and show its refusal.

Configure a Finder launch

A Finder-launched app may not inherit terminal exports. Create ~/.config/skryba/env:

BRAMA_URL=https://your-brama-endpoint
BRAMA_MODEL=your-configured-model
BRAMA_TOKEN_ROLE=your-client-role#your-token-field
SAPLING_API_KEY=your-authorized-detector-key

Use the endpoint, model and role field configured for your workload; the example values are not credentials. Existing launch-environment variables win over this file. Brama secrets are resolved through Stado, not read from BRAMA_TOKEN. Without Stado, explicitly configure the owner-only credentials file documented in configuration. Optional agent authentication requires both SKRYBA_AGENT_ID and SKRYBA_AGENT_AUTH_SECRET_ROLE.

Build and install

./release/bundle/build-app.sh

The script builds a release executable, assembles and signs Skryba.app, verifies the signature, installs to ~/Applications/Skryba.app by default, and registers it with Launch Services. SKRYBA_INSTALL_APP_PATH overrides the install destination; SKRYBA_INSTALL_AFTER_BUILD=no stops after building and signing. After installing, the script asks Stado to restart the app it replaced (stado product restart --if-running): a running Skryba restarts on the new binary, and a stopped one stays stopped. A successful build is not evidence that a real rewrite or a graphical workflow passed.

First workflow

  1. Open Rewrite in the sidebar and paste non-empty text.
  2. Choose Text style and Output language. Both pickers list what skryba style list and skryba language list returned, and the chosen entry's instruction is shown under each picker.
  3. To offer a style or a language that is not there, open Styles & languages, choose Add, name it, write its instruction, and press Run; it appears in the Rewrite pickers straight away. See Styles & languages.
  4. Press Run on Rewrite and read the Command panel, including --style and --language. The text travels on stdin.
  5. Inspect the returned profile, actual text, selected strategy, detector results, and per-chunk style/language match checks.

The profile choices apply with Brama and with a personal Ster adapter. The app displays a CLI refusal instead of silently keeping an original that does not meet them. Details: Rewrite workflow.

With no detector credentials the CLI refuses:

Error: no detector credentials found; configure GPTZERO_API_KEY, WINSTON_API_KEY, ORIGINALITY_API_KEY, or SAPLING_API_KEY

This means generation and judging did not run. Configure an authorized detector key and a resolvable Brama client role before expecting a completed rewrite.

Maintained as part of the website-owned Skryba documentation corpus.