Drew Butler.

skald

Rust · v0.5 · MIT

Stop writing commit messages by hand. skald reads your staged diff, offers a carousel of candidates, and drafts full PR titles and descriptions — so you stay in flow and let the tool handle the prose.

terminal shell
cargo install skald-cli
sk commit          # carousel of AI commit messages
sk pr -y           # open a PR, title + body written for you
sk doctor          # check providers and config
Type
AI git CLI
Binary
sk
Providers
Claude · Codex · Gemini · +2

Why it exists

Writing good commit messages and pull-request descriptions is a repetitive context-switch that breaks flow. skald automates the prose: it reads your staged diff — and for PRs, your branch diff and commit history — and drafts the message, so you stay focused on the code. It’s the one tool in the family that isn’t about knowledge or work state; it just composes, which is what a skald, the Norse court poet, did.

What it does

  • Commit messages from your diff — an interactive carousel to cycle candidates before you commit, with optional multi-line bodies.
  • Pull requests, written for you — titles and descriptions from your branch diff and history; create or update the PR directly.
  • Many providers — Claude, Codex, Gemini, OpenCode, and Copilot; GitHub and GitLab.
  • Layered config — global plus per-project YAML, flag aliases, and ejectable prompt templates.
  • sk doctor — environment and provider checks, with --fix.

Actually do things

The principle that sets the tone: actually do things. Unlike tools that only print a suggested message, sk commits, opens PRs, and talks to your git host. The rest follows from a few rules — beautiful by default, quiet when piped; fix it, don’t complain, never a raw error without guidance; zero-friction day one, with a provider path that reuses an existing CLI login so there’s no API key to set up.