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.