Agent skill
add-fish-alias
Use when creating a new fish shell alias, function, or command shortcut, or when user asks to "add an alias for X"
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/add-fish-alias-avegancafe-juliet
SKILL.md
Add Fish Alias
Create a new fish shell function/alias in Juliet dotfiles.
Process
-
Create function file
symlinked/config/fish/functions/aliases/<name>.fish -
Write the function
fishfunction <name> --wraps "<wrapped-command>" <wrapped-command> $argv end -
Reload fish (or open new terminal)
bashsource ~/.config/fish/config.fish
File Naming
- Filename = function name (e.g.,
g.fishdefinesgfunction) - Use lowercase, hyphens for multi-word names
- Files are auto-loaded alphabetically
Patterns
Simple Wrapper
fish
function g --wraps "git"
git $argv
end
Wrapper with Auto-Install
fish
function nv --wraps "neovide"
if ! command -v neovide 2&> /dev/null
gum confirm "Neovide not installed. Install?" && brew install --cask neovide
end
neovide $argv
end
Function with Subcommand Aliases
fish
function pv --wraps "pipenv"
switch $argv[1]
case "i"
set argv[1] install
end
pipenv $argv
end
Interactive Function (using gum)
fish
function clone
set -l provider (gum choose --header "Source?" github gitlab)
# ... rest of logic
end
Multiple Functions in One File
Group related functions (e.g., git.fish contains ga, gl, gm, commit, etc.)
Conventions
- Use
--wrapsfor tab completion inheritance - Use
$argvto pass all arguments - Use
gumfor interactive prompts (confirm, choose, input, spin) - Helper functions:
log,error,debuglog(defined in fish config)
Common Mistakes
- Forgetting
--wraps(loses tab completion) - Using
$@instead of$argv(bash syntax, not fish) - Creating in wrong directory (must be in
symlinked/config/fish/functions/aliases/)
Didn't find tool you were looking for?