Agent Skill
2/7/2026

begin

Start working on a new task with a clean, up-to-date workspace.

K
kvnwolf
0GitHub Stars
1Views
npx skills add kvnwolf/workspace

SKILL.md

Namebegin
DescriptionStart working on a new task with a clean, up-to-date workspace.

Kevin Wolf's Workspace

Demo

A complete macOS development environment configuration using GNU Stow for symlink management.

Prerequisites

  • macOS (tested on Darwin 25.x)
  • Internet connection (for Homebrew packages)
  • Admin access (for changing default shell and installing packages)

Quick Start

bash <(curl -fsSL https://kvnwolf.com/setup-workspace)

The setup script is interactive—each step can be skipped by pressing ESC.

What Gets Installed

macOS System Defaults

The setup configures these system preferences:

SettingValueDescription
Dock auto-hideEnabledDock hides automatically
Recent apps in DockDisabledRemoves recent apps section from Dock
File extensionsVisibleShows all file extensions in Finder
Finder viewColumnSets column view as default
Initial key repeat15Faster initial key repeat
Key repeat rate2Faster key repeat speed

CLI Tools

Command-line tools installed via Homebrew. Some are modern replacements for traditional Unix commands.

ToolReplacesDescription
batcatSyntax highlighting, line numbers, Git integration
btoptopBeautiful TUI, mouse support, resource graphs
bunJavaScript runtime and toolkit
curliecurlColored output, httpie-like formatting
difftasticStructural diff tool
ezalsIcons, colors, Git status integration
fdfindSimpler syntax, respects .gitignore, faster
fishUser-friendly shell
fisherFish plugin manager
vite+Unified web toolchain with Node.js version management
freezeCode screenshot generator
fzfFuzzy finder
ghGitHub CLI
git-deltaSyntax-highlighting pager for git
jqJSON processor
lazygitGit TUI
molemacOS system cleanup and optimization tool
neovimHyperextensible Vim-based text editor
procspsColored output, tree view, searchable
ripgrepgrepMuch faster, respects .gitignore, better defaults
sdIntuitive find & replace
starshipCross-shell prompt
stowSymlink farm manager
tldrmanPractical examples instead of verbose manuals
tmuxTerminal multiplexer
tokeiCode statistics
yaziBlazing fast terminal file manager
zoxideSmarter directory jumping

GUI Applications

ApplicationDescription
1PasswordPassword manager
CaffeinePrevent Mac from going to sleep
ClaudeAI assistant app
CleanShotScreenshot and recording tool
cmuxAI-powered terminal multiplexer
DiscordCommunication platform
GhosttyGPU-accelerated terminal
Google ChromeWeb browser
LocalXposeReverse proxy for localhost
MonologueVoice dictation
OrbStackDocker & Linux on macOS
RaycastProductivity launcher
SlackTeam communication
VanillaMenu bar organizer
WhatsAppMessaging app

Bun Global Packages

Installed via bun install -g during setup, separate from Homebrew.

PackageDescription
Claude CodeAI coding assistant CLI

Shell Configuration

Fish shell becomes the default shell. Below are all shortcuts and configurations organized by tool.

Bun

AbbrCommand
bbun
babun add
badbun add --dev
bagbun add --global
bibun init
binbun install
brbun run
brdbun run dev
brlbun run lint
brmbun remove
brsbun run setup
brubun run update
brunbun run unused
brvbun run validate
bxbunx
skbunx skills@latest
vcbunx vercel@latest

Claude Code

Abbreviations:

All Claude commands follow the pattern cl[c|r][s][d] where:

  • c = continue most recent conversation
  • r = resume by session ID
  • s = skip permissions
  • d = enable debug mode
AbbrCommand
clclaude
clcclaude --continue
clrclaude --resume
clsclaude --dangerously-skip-permissions
cldclaude --debug
clcsclaude --continue --dangerously-skip-permissions
clrsclaude --resume --dangerously-skip-permissions
clsdclaude --dangerously-skip-permissions --debug
clcdclaude --continue --debug
clrdclaude --resume --debug
clcsdclaude --continue --dangerously-skip-permissions --debug
clrsdclaude --resume --dangerously-skip-permissions --debug

Configuration:

  • Co-authored-by: Disabled
  • Status line: Custom script showing directory, git branch, model, and context usage

Directory Listing & Navigation

Abbreviations (using eza):

All listing commands follow the pattern l[t][a][f][N] where:

  • t = tree view
  • a = include hidden files (all)
  • f = full details (permissions, size, etc.)
  • N = tree depth (only with t, default: 1)
AbbrDescription
lCompact list with icons
laCompact list including hidden files
lfFull details
lafFull details including hidden files
ltTree view (depth 1)
lt3Tree view (depth 3)
ltaTree view including hidden files
ltfTree view with full details
ltafTree view with hidden files and full details
ltaf2Same as above with depth 2

Navigation:

CommandDescription
..cd ../
...cd ../../
....cd ../../../
z <query>Jump to frequently visited directory (zoxide)
mdcd <dir>Create directory and cd into it
cpwdCopy current directory path to clipboard

Git

Abbreviations:

AbbrCommandAbbrCommand
ggitgpgit push
gagit addgpbgit checkout -
gaagit add --allgpfgit push --force-with-lease
gaugit add --updategprgit pull --rebase
gbgit branchgrbgit rebase
gbagit branch --allgrbagit rebase --abort
gbdgit branch --deletegrbcgit rebase --continue
gbDgit branch --delete --forcegrbigit rebase --interactive
gcgit commit --verbosegrhgit reset
gcagit commit --verbose --allgrhhgit reset --hard
gcamgit commit --all --messagegssgit status --short
gcbgit checkout -bgstgit status
gcmsggit commit --messagegstagit stash push
gcogit checkoutgstlgit stash list
gdgit diffgstpgit stash pop
gdsgit diff --stagedgswgit switch
gdtgit difftool --tool=difftasticgswcgit switch --create
gfgit fetchglgit pull
gfagit fetch --all --tags --prunegloggit log --oneline --decorate --graph
lglazygitglogagit log --oneline --decorate --graph --all

Configuration:

  • Default branch: main
  • Pull strategy: Rebase
  • Auto-setup remote: Enabled (push without -u)
  • Merge conflict style: diff3
  • Pager: delta with line numbers and hyperlinks
  • Credential helper: GitHub CLI

GitHub

FunctionDescription
fork <owner/repo>Fork a repo, clone to ~/Developer/github.com/<owner>/<repo>, set up remotes (origin = fork, upstream = original), and configure gh default repo

Also accepts full GitHub URLs: fork https://github.com/owner/repo

Neovim

Abbreviations:

AbbrCommand
nnvim
nvnvim
vnvim
vimnvim
vinvim

EDITOR is set to nvim.

Workspace

Run Claude in the workspace directory from anywhere. Useful for configuring your workspace remotely.

FunctionDescription
ws <prompt>Non-interactive mode with streaming output
wsi [args]Interactive mode

Examples:

# Install a package and add to Brewfile
ws "install ripgrep via brew and add it to the Brewfile"

# Add a new fish abbreviation
ws "add abbreviation 'gc' for 'git commit'"

# Adopt a local config file into the repo
ws "adopt ~/.config/tool/config into shared dotfiles"

# Start interactive session in workspace
wsi

Yazi

AbbrCommand
yyazi

Other Shortcuts

AbbrCommand
mdmkdir -p
pbcpbcopy
pbppbpaste
reloadReload fish configuration

Prompt (Starship)

Custom prompt showing:

  • Directory (with ~/Developer/github.com/ shortened to )
  • Git branch with status indicator
  • Right side: package version, runtime versions (Node/Bun), command duration, time

Terminal (Ghostty)

  • Theme: Catppuccin Mocha
  • Font: GeistMono Nerd Font Mono (14pt)
  • Shell integration: Fish
  • Auto-quit: When last window closes
  • Option key: Right Option as Alt
  • Window padding: 16px
  • Background opacity: 90% with blur (radius 50)
  • Unfocused split opacity: 75%
  • Window title: Shows owner/repo for GitHub dirs, ~/path elsewhere; defers to programs that set their own title
  • Scroll sensitivity: Reduced (0.5x)

Split keybindings (prefix: Ctrl+;):

ShortcutAction
prefix + \Split right
prefix + -Split down
prefix + h/j/k/lNavigate splits
prefix + H/J/K/LResize splits
prefix + zToggle split zoom
prefix + =Equalize splits
prefix + xClose split

Terminal Multiplexer (tmux)

Split keybindings (prefix: Ctrl+;):

ShortcutAction
prefix + \Split vertical
prefix + -Split horizontal
prefix + h/j/k/lNavigate panes
prefix + H/J/K/LResize panes (repeatable)
prefix + zToggle pane zoom
prefix + xClose pane

Configuration:

  • Vi mode for copy
  • Mouse support enabled
  • Windows numbered from 1
  • Status bar at the top

How Stow Works

Files in shared/home/ and macos/home/ mirror your home directory structure. Running stow creates symlinks:

shared/home/.config/fish/config.fish  →  ~/.config/fish/config.fish
macos/home/.config/fish/conf.d/brew.fish  →  ~/.config/fish/conf.d/brew.fish

This means:

  • Edits to dotfiles in the repo automatically apply (no re-stowing needed)
  • Changes are version-controlled and shareable
  • Easy to see what's customized vs default

Customization

  • macOS-only configs: Add to macos/home/
  • Cross-platform configs: Add to shared/home/
  • New Homebrew packages: Add to macos/Brewfile

License

MIT

Skills Info
Original Name:beginAuthor:kvnwolf