fish-shell-config

Configure Fish shell scripts, functions, abbreviations, and prompts.

193|16|Updated Mar 10, 2023
One-click install
npx skills add https://github.com/wcygan/dotfiles --skill fish-shell-config
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fish-shell-config
Source: https://github.com/wcygan/dotfiles/tree/main/.claude/skills/fish-shell-config
Command: npx skills add https://github.com/wcygan/dotfiles --skill fish-shell-config

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

This Skill simplifies the complex process of configuring the Fish shell, enabling users to automate repetitive terminal tasks, streamline their workflow, and migrate from other shells like Bash with ease. It reduces the learning curve and ensures a consistent, efficient command-line experience.

Core Features & Use Cases

  • Streamlined Configuration: Manage Fish shell settings, functions, and abbreviations across sessions.
  • Scripting & Automation: Write powerful Fish scripts to automate complex sequences of commands.
  • Migration Support: Translate Bash idioms to Fish, making the transition smooth and error-free.
  • Use Case: Quickly set up a new development environment with custom aliases, functions for common Git commands, and a personalized prompt, all persistent across reboots.

Quick Start

Help me set up a new Fish shell configuration. I need a function for ll that uses eza -la and an abbreviation gst for git status -sb.

Frequently Asked Questions about fish-shell-config

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure Fish shell functions and abbreviations for my terminal workflow?

Fish shell functions and abbreviations let you create custom commands and shortcuts. Functions execute sequences of commands (like `ll` using `eza -la`), while abbreviations expand typed text (like `gst` expanding to `git status -sb`). Both persist across sessions when saved in your config.fish or conf.d directory.

Can I migrate my Bash configuration and scripts to Fish shell?

Yes. Fish has different syntax for variables, conditionals, and loops than Bash. Migration involves translating idioms like variable expansion, array handling, and script structure. This Skill guides you through translating Bash patterns to Fish equivalents and setting up a compatible environment.

What's the best way to organize a modular Fish shell configuration?

Use Fish's conf.d directory to split configuration into separate files by function or purpose, then source them from config.fish. This modular architecture makes maintenance easier, allows autoloading of functions, and works consistently across local machines and CI environments.

How do I set up persistent environment variables and universal variables in Fish?

Fish distinguishes between session variables, universal variables (synced across sessions), and environment variables (exported to child processes). This Skill covers proper scoping, using `set -U` for persistence, and managing environment setup so configuration survives reboots and terminal restarts.

How do I customize my Fish shell prompt and apply interactive settings?

Fish allows prompt customization through the `fish_prompt` function and interactive configuration via the `fish_config` command. You can define custom prompts with colors, status indicators, and dynamic content, then save them to persist across sessions.

Does Fish shell support autoloaded functions and reusable scripting workflows?

Yes. Fish autoloads functions from the functions directory, and you can write reusable scripts that work across local machines and CI environments. Proper variable scoping and modular conf.d sourcing ensure scripts run consistently without conflicts.