From productivity
Expert guidance for tmux-based development workflow with neovim, happy (Claude Code wrapper), and R/Julia REPLs.
npx claudepluginhub seabbs/skills --plugin productivityThis skill uses the workspace's default tool permissions.
Expert guidance for tmux-based development workflow with neovim, happy (Claude Code wrapper), and R/Julia REPLs.
Verifies tests pass on completed feature branch, presents options to merge locally, create GitHub PR, keep as-is or discard; executes choice and cleans up worktree.
Guides root cause investigation for bugs, test failures, unexpected behavior, performance issues, and build failures before proposing fixes.
Writes implementation plans from specs for multi-step tasks, mapping files and breaking into TDD bite-sized steps before coding.
Expert guidance for tmux-based development workflow with neovim, happy (Claude Code wrapper), and R/Julia REPLs.
The user's setup uses:
epinowcast, EpiAware)| Keys | Action |
|---|---|
Ctrl-b w | Visual window picker (tree view of all windows) |
Ctrl-b s | Session picker |
Alt-1 to Alt-9 | Jump to window by number (no prefix needed) |
Alt-h/j/k/l | Switch panes (no prefix needed) |
Ctrl-b h/j/k/l | Switch panes (with prefix) |
Ctrl-b n / Ctrl-b p | Next/previous window |
Ctrl-b ( / ) | Previous/next session |
| Keys | Action |
|---|---|
Ctrl-b | | Split vertically |
Ctrl-b - | Split horizontally |
Ctrl-b z | Zoom/unzoom current pane |
Ctrl-b b | Break pane to new window |
Ctrl-b D | Create standard dev layout (nvim | happy / repl) |
Ctrl-b H/J/K/L | Resize panes |
| Keys | Action |
|---|---|
Ctrl-b [ | Enter copy mode |
v | Start selection (in copy mode) |
y or Enter | Copy to clipboard |
q | Exit copy mode |
proj <project-name>Start or attach to a project session.
proj epinowcast # Starts session with nvim, happy, R
proj EpiAware # Starts session with nvim, happy, Julia
feat <branch-name> [base-branch]Create a new feature worktree and window within the current session.
feat add-new-model # Creates worktree from main
feat bugfix-123 develop # Creates worktree from develop
feat-done <branch-name>Clean up a feature worktree and close its window.
feat-done add-new-model # Removes worktree and closes window
feat-listList all worktrees in the current repository.
Projects are started with tmuxinator using a generic template:
tmuxinator start project <name>
The template auto-detects:
julia --project=.Files changed by Claude Code are automatically reloaded in nvim. A notification appears when this happens.
The REPL pane receives code from nvim via iron.nvim:
| Keys | Action |
|---|---|
<leader>sc | Send current line or visual selection |
<leader>sf | Send entire file |
<leader>su | Send from file start to cursor |
<leader>sp | Send paragraph |
<leader>sm | Send function |
<leader>sb | Send code block (Quarto/Rmd) |
<leader>sa | Send all code blocks (Quarto/Rmd) |
| Keys | Action |
|---|---|
<leader>rs | Toggle REPL (auto-detects language) |
<leader>rr | Restart REPL |
<leader>rf | Focus REPL pane |
<leader>rh | Hide REPL |
<leader>rj | Start Julia REPL |
<leader>rR | Start R REPL |
<leader>rp | Start Python REPL |
proj myprojectfeat new-feature (creates worktree + window)Ctrl-b w or Alt-<number><leader>scfeat-done new-featureEach happy pane is started with --resume '<project>-<branch>':
happy --resume 'epinowcast-main'happy --resume 'epinowcast-new-feature'This allows resuming conversations per feature. Pane titles show happy:<branch> in the border.
focus-events is enabled in tmux (already set in config):checktime manually in nvim<leader>rr<leader>rj for Julia, <leader>rR for Rtmux attach -t <session> or proj <name> which handles this