CtrlK
BlogDocsLog inGet started
Tessl Logo

bin-scripts

Use when performing git operations, running Laravel/Composer commands, managing local dev sites, or killing processes on ports. Custom scripts in your PATH provide shortcuts for common workflows.

64

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./claude/skills/bin-scripts/SKILL.md
SKILL.md
Quality
Evals
Security

Bin Scripts

Custom shell scripts available on your PATH for common development workflows.

Committing

ScriptUsagePurpose
git-savegit save file1 file2 "message"Commit specific files with message
git-savegit save "message"Commit all changes with message (-a)
git-amendgit amendAmend last commit, no edit (-a --amend --no-edit)
git-emptygit emptyCreate empty commit

Undoing

ScriptUsagePurpose
git-undogit undoSoft reset to previous commit (keeps changes staged)
git-abortgit abortHard reset + clean untracked files (destructive)
git-restoregit restore <file>Restore file to state before last commit
git-unstashgit unstashPop stash

History

ScriptUsagePurpose
git-historygit historyPretty log with graph
git-tailgit tailBranches sorted by recent commit
git-treegit treeFull decorated graph (--all --graph --decorate --oneline)
git-contributorsgit contributorsCommit counts by author

Inspection

ScriptUsagePurpose
git-conflictsgit conflictsList files with merge conflicts
git-grepgit grep <pattern>Search tracked file names (case-insensitive)
git-ignoregit ignore <file>Mark file as assume-unchanged
git-deletegit delete <file>Remove file from index (rm --cached)

Syncing

ScriptUsagePurpose
git-syncgit syncFetch, rebase on upstream default branch, cleanup
git-tidygit tidyDelete local branches merged/deleted on remote
git-publishgit publishPush with -u origin <branch>

Note: git-publish pushes to remote. AI cannot execute push commands per workflow rules.

Project Helpers

ScriptUsagePurpose
artisanartisan migrateRun Laravel artisan from any subdirectory
cpxcpx pintComposer Package eXecuter (like npx for PHP)

cpx searches for vendor/bin commands up the directory tree, falls back to composer scripts, then global composer bin.

Utilities

ScriptUsagePurpose
killportkillport 3000Kill process listening on TCP port
conciergeconcierge add mysiteManage local Caddy dev sites
git-issuegit issue 123Create branch from GitHub issue
brewdumpbrewdumpInteractive Homebrew cleanup + Brewfile dump

git-issue requirements: Needs DOTFILES_GITHUB_USERNAME env var. Creates branch like FEATURE-123 or BUG-123 based on issue labels.

concierge commands: add <name>, remove <name>, list. Optional --ip <addr> for X-Forwarded-For testing.

brewdump: Reviews leaf packages interactively, marks items for removal, runs brew autoremove, then dumps Brewfile to $DOTFILES/homebrew/bundle. Use --dry-run to preview.

Claude Internals

ScriptUsagePurpose
cpanelcpanelTUI for everything in ~/.claude/ — browse, search, mine, and clean

cpanel: React/Bun TUI for everything in ~/.claude/ — browse, search, mine, and clean. Requires bun.

Panels (in tab order): Dashboard (overview cards) · Insights (correction/pattern/stuck-loop/wasted-work miners with s to scaffold rules + skills) · Conversations (chat-rendered reader for every session) · Live (real-time monitor of running Claude Code sessions) · Search (ripgrep over all jsonls) · Cost ($ per day/project/session from token×rate) · Digest (daily activity rollup) · Plans · Sessions (with r to resume in a new terminal) · Projects · Settings (incl. backup restore) · Cleanup.

Config: ~/.config/cpanel/config.json. Currently one option: ignoreProjects: string[] — path prefixes hidden from UI lists; aggregates still include them. Press . from any panel to toggle showing them temporarily.

Safety: all destructive actions go through a confirm dialog with the exact path + size before deleting.

Per-cwd Process Runner

ScriptUsagePurpose
solosoloLaunch the TUI for the current directory
solosolo rekey [hash]Rename configs to match their directory: field (all if no hash)

solo: React/Bun TUI on @opentui/react + node-pty. Each cwd has its own YAML at ~/.config/solo/<sha1(cwd)>.yaml, listing the commands to run for that project — dev server, queue worker, log tail, etc. Tabbed UI: one tab per command, full-width output pane per tab, start/stop/restart/clear from the bottom bar. First run in a new directory opens the Add command wizard.

tmux Session Management

ScriptUsagePurpose
muxmuxCreate/attach session for CWD
muxmux my-sessionOverride session name
muxmux listList all registered sessions
muxmux show [session:window]Show pane details (defaults to CWD)
muxmux copy session:windowCopy pane layout from source to CWD
muxmux tab <name> [path]Create/switch to a named tab in current session
muxmux tab:show [session]List tabs in a session (defaults to current)
muxmux tab:kill <name>Remove a tab from registry (kills window if alive)
muxmux tab:at <path>Create a tab from a path; name = basename of path

Projects are grouped by parent directory (e.g. ~/Code/primcloud/platform → session primcloud, window platform). Pane layouts and running commands are saved automatically and restored on next mux. Each session has a primary window (the project itself) plus any tabs the user adds — tabs persist across tmux restarts the same way panes do. Running mux from a subdirectory of an already-attached session opens a tab automatically instead of creating a new session.

Not Documented

Scripts excluded from this skill (niche, interactive, or dangerous):

  • git-yolo, git-obliterate, git-rekt, git-squash — Push or history rewriting
  • hiroshima, git-redate, git-repl, edit — Niche or interactive
Repository
joshmanders/dotfiles
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.