notque/shell-config
Shell configuration: Fish and Zsh setup, PATH, completions, plugins.
npx skills add https://github.com/notque/vexjoy-agent --skill shell-config
Unified skill for Fish and Zsh shell configuration. Detect the target shell first, then load the appropriate reference.
| Shell | Signal | Load | Why |
|---|---|---|---|
| Fish | Any Fish context | fish-shell-config.md | Full Fish config patterns, syntax, file layout |
| Fish | Migrations from Bash | fish-bash-migration.md | Bash-to-Fish syntax translation |
| Fish | Variable scope, PATH, abbr, completions | fish-quick-reference.md | Variable scope guide, special variables, control flow |
| Fish | Error audit, broken config | fish-preferred-patterns.md | Failure modes with grep detection and error-fix mappings |
| Fish | Dev tool integration | fish-tool-integrations.md | Fish integration patterns for Go, Rust, Node, Python, Docker |
| Zsh | Any Zsh context | zsh-shell-config.md | Full Zsh config patterns, RC files, frameworks, hooks |
| Zsh | Migrations from Bash | zsh-bash-migration.md | Bash-to-Zsh syntax translation |
| Zsh | Variable scoping, expansion flags, special vars | zsh-quick-reference.md | Parameter expansion flags, special variables |
| Zsh | Error audit, slow startup, glob errors | zsh-preferred-patterns.md | Failure modes with grep detection and error-fix mappings |
| Zsh | Dev tool integration | zsh-tool-integrations.md | Zsh integration patterns for Go, Rust, Node, Python, Docker |
Before loading references or writing code, determine the target shell:
$SHELL contains fish, target file has .fish extension, or target directory is ~/.config/fish/$SHELL contains zsh, target file is .zshrc/.zshenv/.zprofile, or has .zsh extensionIf neither Fish nor Zsh, this skill does not apply.
Load the appropriate reference file from the table above based on the detected shell and the task signal. Start with the full config reference (fish-shell-config.md or zsh-shell-config.md), then load additional references as needed.
Each reference contains complete instructions for that shell. Follow them exactly — Fish and Zsh have incompatible syntax in many areas (variable assignment, PATH handling, conditionals, completions).
Key differences:
| Concept | Fish | Zsh |
|---------|------|-----|
| Variable assignment | set -gx VAR value | export VAR=value |
| PATH management | fish_add_path | typeset -U path; path=(...) |
| Completions | completions/ directory | compinit + fpath |
| Conditionals | test, not [[ ]] | [[ ]] preferred |
| Functions | function name ... end | function name { ... } |
| Interactive guard | status is-interactive | [[ -o interactive ]] |
Take notque/shell-config from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.