zsh-shell-config

Configure Zsh startup files with PATH deduplication and completion guards.

415|44|Updated Mar 18, 2026
One-click install
npx skills add https://github.com/notque/vexjoy-agent --skill zsh-shell-config
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: zsh-shell-config
Source: https://github.com/notque/vexjoy-agent/tree/main/skills/infrastructure/zsh-shell-config
Command: npx skills add https://github.com/notque/vexjoy-agent --skill zsh-shell-config

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents broken or inconsistent Zsh startup behavior by enforcing Zsh-native configuration patterns for PATH management, completion initialization, framework coexistence, and reliable tool integration.

Core Features & Use Cases

  • Correct startup-file placement: Routes environment variables to .zshenv, login-time setup to .zprofile, and interactive behaviors (aliases/functions/completions) to .zshrc.
  • PATH and completion correctness: Uses typeset -U path, extends fpath before compinit, and applies a ~/.zcompdump age guard to avoid slow shell startups.
  • Framework-aware integration: Detects common frameworks (oh-my-zsh, prezto, zinit, antigen, p10k/powerlevel10k) and places configuration where each framework expects it.
  • Tool integration templates: Adds guarded init patterns for common tools (Go, Rust, Node via fnm, Python via pyenv, direnv, fzf, zoxide, mise, starship, Homebrew shellenv).
  • Hook-safe customization: Uses add-zsh-hook instead of overwriting precmd/preexec, reducing silent breakage and prompt issues.
  • Verification and failure-mode guidance: Includes diagnostics for syntax errors, missing PATH in scripts, slow startup, insecure completion directories, and completion-cache issues.

Quick Start

Configure your Zsh environment for PATH and completions by asking an AI to set up ~/.zshenv and ~/.zshrc following this skill’s rules, then validate loading order and startup performance.

Frequently Asked Questions about zsh-shell-config

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

FAQPage Schema
How do I fix broken PATH propagation in Zsh startup files?▼

Fix broken Zsh PATH propagation by routing environment variables to `.zshenv` and applying `typeset -U path` to deduplicate entries. This ensures correct PATH inheritance for both interactive and non-interactive shells without duplicate paths.

Why are my Zsh completions slow to load on startup?▼

Zsh completions are slow when `compinit` rebuilds the cache frequently. Extend `fpath` before calling `compinit` and apply a `~/.zcompdump` age guard to cache completions and reduce shell startup time.

What is the correct way to initialize developer tools in Zsh?▼

Initialize developer tools in Zsh using guarded init patterns in `.zshrc`. This prevents silent breakage by checking if tools like Go, Rust, fnm, pyenv, direnv, and Homebrew shellenv exist before running their setup commands.

Can I use add-zsh-hook safely with frameworks like oh-my-zsh and prezto?▼

Use `add-zsh-hook` to safely customize prompts without overwriting `precmd` or `preexec`. This framework-aware integration detects oh-my-zsh, prezto, zinit, and p10k, placing hooks where each framework expects them to avoid conflicts.

How do I migrate my Bash configuration to Zsh correctly?▼

Migrate Bash configurations to Zsh by splitting setup across `.zshenv` for environment variables, `.zprofile` for login-time setup, and `.zshrc` for interactive behaviors like aliases and completions, ensuring Zsh-native loading order.