Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Shell configuration: Fish and Zsh setup, PATH, completions, plugins.
.claude/skills/notque-shell-config/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-20 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-11 | ✓→✓ | = Same ✓ | 107% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 170% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 22% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 11% | 0% |
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 ]] |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-11 | pass→pass | 3,398 | 2,941 | -13% | 1 | 1 | 0% | 561 | 1,161 | +107% | 0 | 0 | — |
case-01 | fail→fail | 19,412 | 18,230 | -6% | 1 | 1 | 0% | 3,308 | 3,863 | +17% | 0 | 0 | — |
case-02 | pass→pass | 2,573 | 2,964 | +15% | 1 | 1 | 0% | 465 | 1,255 | +170% | 0 | 0 | — |
case-03 | pass→pass | 6,884 | 5,092 | -26% | 1 | 1 | 0% | 1,241 | 1,512 | +22% | 0 | 0 | — |
case-04 | pass→pass | 7,562 | 4,314 | -43% | 1 | 1 | 0% | 1,332 | 1,484 | +11% | 0 | 0 | — |
case-05 | pass→pass | 7,347 | 3,104 | -58% | 1 | 1 | 0% | 1,226 | 1,237 | +1% | 0 | 0 | — |
case-06 | pass→pass | 7,214 | 5,137 | -29% | 1 | 1 | 0% | 1,174 | 1,543 | +31% | 0 | 0 | — |
case-07 | pass→pass | 4,742 | 6,035 | +27% | 1 | 1 | 0% | 765 | 1,831 | +139% | 0 | 0 | — |
case-08 | pass→pass | 5,697 | 4,198 | -26% | 1 | 1 | 0% | 911 | 1,432 | +57% | 0 | 0 | — |
case-09 | pass→pass | 4,341 | 4,081 | -6% | 1 | 1 | 0% | 724 | 1,356 | +87% | 0 | 0 | — |
case-10 | fail→fail | 3,420 | 2,504 | -27% | 1 | 1 | 0% | 610 | 1,175 | +93% | 0 | 0 | — |
case-12 | pass→pass | 8,105 | 5,298 | -35% | 1 | 1 | 0% | 1,422 | 1,695 | +19% | 0 | 0 | — |
case-13 | pass→pass | 7,547 | 5,972 | -21% | 1 | 1 | 0% | 1,359 | 1,739 | +28% | 0 | 0 | — |
case-14 | fail→fail | 8,259 | 5,648 | -32% | 1 | 1 | 0% | 1,385 | 1,706 | +23% | 0 | 0 | — |
case-15 | pass→pass | 5,419 | 4,032 | -26% | 1 | 1 | 0% | 914 | 1,320 | +44% | 0 | 0 | — |
case-16 | pass→pass | 9,324 | 10,408 | +12% | 1 | 1 | 0% | 1,596 | 2,581 | +62% | 0 | 0 | — |
case-17 | pass→pass | 5,085 | 3,472 | -32% | 1 | 1 | 0% | 861 | 1,365 | +59% | 0 | 0 | — |
case-18 | pass→pass | 5,274 | 3,551 | -33% | 1 | 1 | 0% | 970 | 1,330 | +37% | 0 | 0 | — |
case-19 | pass→pass | 10,903 | 5,624 | -48% | 1 | 1 | 0% | 1,868 | 1,646 | -12% | 0 | 0 | — |
case-20 | fail→pass | 7,391 | 4,765 | -36% | 1 | 1 | 0% | 1,353 | 1,524 | +13% | 0 | 0 | — |
case-21 | pass→pass | 7,685 | 5,438 | -29% | 1 | 1 | 0% | 1,372 | 1,702 | +24% | 0 | 0 | — |
case-22 | pass→pass | 3,268 | 3,734 | +14% | 1 | 1 | 0% | 605 | 1,399 | +131% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +5 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.