Communitygithub.com

G1Joshi/Agent-Skills

Asistencia experta en Zsh que cubre personalización del shell, plugins de Oh My Zsh, gestor de plugins Zinit, ingeniería de prompt (Starship/Powerlevel10k) y scripting de shell. Útil para configurar .zshrc, escribir scripts de automatización en Zsh, optimizar el tiempo de inicio del shell o configurar la autocompletación por tabulador.

¿Qué es Agent-Skills?

Este skill proporciona asistencia experta para usuarios y desarrolladores que trabajan con el shell Zsh, abarcando desde la personalización básica hasta la optimización avanzada del rendimiento. Es útil para configurar archivos `.zshrc`, escribir scripts de automatización, optimizar el tiempo de inicio del shell y configurar la autocompletación por tabulador. Soporta plataformas como macOS y Linux, e integra herramientas modernas como Zinit, Starship, Powerlevel10k, y plugins esenciales como `zsh-autosuggestions` y `zsh-syntax-highlighting`. El skill documenta patrones probados para una carga ligera de plugins, scripting robusto con opciones de línea de comandos, y resolución de problemas comunes como inicios lentos o errores de permisos en `compinit`.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/G1Joshi/Agent-Skills/tree/HEAD/skills/tools/zsh

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Zsh

Zsh es el shell predeterminado en macOS. Es altamente personalizable y compatible con Bash.

Cuándo Usarlo

  • Shell interactivo de alta productividad: Autocompletación interactiva, navegación difusa, búsqueda en el historial e indicadores de rama.
  • Ecosistema moderno de plugins CLI: Acelerar flujos de trabajo del shell con zsh-autosuggestions, zsh-syntax-highlighting y el prompt Starship.
  • Scripting robusto de shell: Creación de scripts de automatización compatibles con POSIX y extendidos de Zsh con manipulación de arreglos y globbing.
  • Gestión de entornos empresariales: Administración de versiones de SDK, exportaciones de PATH y alias en servidores macOS y Linux.

Inicio Rápido

1. Configuración Mínima de ~/.zshrc

# Configuración del historial
HISTFILE="$HOME/.zsh_history"
HISTSIZE=50000
SAVEHIST=50000
setopt HIST_IGNORE_DUPS
setopt SHARE_HISTORY

# Atajos de teclado (modo emacs)
bindkey -e

# Autocompletación
autoload -Uz compinit && compinit

# Alias
alias ll="ls -lah"
alias g="git"
alias gs="git status -sb"

2. Medir el Tiempo de Inicio

# Perfil de duración de inicio de zsh
time zsh -i -c exit

Conceptos Clave

Zshrc Moderno y Rápido (~/.zshrc)

Configurando inicio del shell en menos de 20ms, autocompletación inteligente e historial:

# ~/.zshrc
# Configuración del historial
HISTFILE="$HOME/.zsh_history"
HISTSIZE=50000
SAVEHIST=50000
setopt EXTENDED_HISTORY
setopt HIST_EXPIRE_DUPS_FIRST
setopt HIST_IGNORE_DUPS
setopt HIST_IGNORE_SPACE
setopt HIST_VERIFY
setopt SHARE_HISTORY

# Opciones de navegación de directorios
setopt AUTO_CD
setopt AUTO_PUSHD
setopt PUSHD_IGNORE_DUPS
setopt PUSHD_SILENT

# Sistema de autocompletación rápido (con caché)
autoload -Uz compinit
typeset -i updated_at=$(date +'%j' -r ~/.zcompdump 2>/dev/null || stat -f '%Sm' -t '%j' ~/.zcompdump 2>/dev/null)
if [ $(date +'%j') != $updated_at ]; then
  compinit -i
else
  compinit -C -i
fi

# Atajos de teclado modernos: búsqueda en el historial
bindkey -e
bindkey '^[[A' history-search-backward
bindkey '^[[B' history-search-forward

# Inicializar el prompt Starship (si está instalado)
if command -v starship &> /dev/null; then
  eval "$(starship init zsh)"
fi

Carga Ligera de Plugins sin Frameworks Pesados

Cargando autosuggestions y syntax highlighting directamente:

# Clonar plugins en ~/.zsh/plugins/
# git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/plugins/zsh-autosuggestions
# git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.zsh/plugins/zsh-syntax-highlighting

source ~/.zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
source ~/.zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

# Configurar color de sugerencia
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'

Globbing y Expansión de Parámetros Avanzados en Zsh

Uso de globbing recursivo y modificadores:

# Listar todos los archivos TypeScript modificados en las últimas 24 horas
ls -lh **/*.ts(m-1)

# Eliminar todos los directorios vacíos recursivamente
rmdir -p **/*(/^F) 2>/dev/null

# Seleccionar solo archivos ejecutables en bin/
chmod +x bin/*(*)

Patrones Comunes

Carga Rápida de Plugins con Zinit

Problema: El inicio de Oh My Zsh toma cientos de milisegundos debido a la carga pesada y temprana.
Solución: Usar Zinit con modo turbo (carga diferida).

# Instalar Zinit si falta
source ~/.local/share/zinit/zinit.git/zinit.zsh

# Cargar de forma turbo asyncrono syntax highlighting y autosuggestions
zinit wait lucid for \
  atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \
    zdharma-continuum/fast-syntax-highlighting \
  atload"_zsh_autosuggest_start" \
    zsh-users/zsh-autosuggestions \
  blockf \
    zsh-users/zsh-completions

Funciones Robusta de Scripting de Shell

Problema: Escribir funciones reutilizables de shell con análisis de opciones y manejo de errores.
Solución: Usar expansiones de parámetros estándar de Zsh.

# mkcd: Crear directorio y entrar en él
mkcd() {
  if [[ -z "$1" ]]; then
    echo "Uso: mkcd <directorio>" >&2
    return 1
  fi
  mkdir -p "$1" && cd "$1"
}

Mejores Prácticas (2026)

  • Hágalo: Compile ~/.zcompdump en un archivo compilado a bytes (compdump.zwc) para acelerar el tiempo de inicio del shell.
  • Hágalo: Establezca setopt SHARE_HISTORY para sincronizar el historial de comandos en todas las pestañas activas del terminal.
  • Hágalo: Use Starship o un prompt nativo ligero en lugar de temas de prompt heredados y pesados.
  • Hágalo: Perfile la latencia de inicio usando zmodload zsh/zprof al inicio y al final de ~/.zshrc.
  • No haga: Use configuraciones de framework pesadas y monoliticas (configuraciones monolíticas de Oh-My-Zsh) con docenas de plugins innecesarios.
  • No haga: Almacene credenciales de servicios en la nube en texto plano, tokens de API o secretos en ~/.zshrc; use archivos .env privados o bóvedas de secretos.
  • No haga: Ejecute comandos externos lentos (nvm, brew doctor) de forma sincrónica en cada inicio interactivo del shell.

Solución de Problemas

Error / SíntomaCausaSolución
zsh: command not found: ... después de editar .zshrcError de sintaxis en .zshrc o asignación de $PATH sobrescrita en lugar de antepuestaAnteponga las rutas correctamente: export PATH="$HOME/bin:$PATH" y ejecute source ~/.zshrc.
zsh compinit: insecure directories, run compauditPermisos de archivo inseguros en /usr/local/share/zshEjecute `compaudit
Zsh inicia muy lentamente (> 500ms)nvm sincrónico o inicialización pesada de pluginsUse carga diferida para nvm o perfile con zmodload zsh/zprof al inicio de .zshrc y zprof al final.

Referencias

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

G1Joshi/Agent-Skills

Expert Dask distributed computing assistance covering Dask DataFrames, Arrays, Futures, and cluster scaling. Use when analyzing datasets too large for pandas on a single machine or multi-node cluster.

G1Joshi/Agent-Skills

Expert dbt (data build tool) assistance covering SQL modeling, Jinja macros, tests, documentation, and semantic layer. Use when building analytics engineering pipelines on BigQuery, Snowflake, or PostgreSQL.

G1Joshi/Agent-Skills

Expert JAX assistance covering Autograd, XLA compilation (`jit`), vectorization (`vmap`), and parallelization (`pmap`). Use when building high-performance numerical computing and cutting-edge deep learning research.

G1Joshi/Agent-Skills

Expert Ray distributed computing assistance covering Ray Core (actors, tasks), Ray Train, Ray Tune, and Ray Serve. Use when scaling Python compute and ML training across multi-node clusters.

G1Joshi/Agent-Skills

Expert Git version control assistance covering branching, interactive rebase, cherry-pick, submodules, worktrees, and conflict resolution. Use when managing source code history and collaboration workflows.

G1Joshi/Agent-Skills

Expert K9s CLI assistance covering terminal Kubernetes cluster navigation, real-time log streaming, port forwarding, and pod debugging. Use when managing and troubleshooting Kubernetes clusters with speed.

G1Joshi/Agent-Skills

Expert SWC assistance covering high-performance Rust-based JavaScript/TypeScript compilation, .swcrc configuration, Jest testing via @swc/jest, and minification. Use when replacing Babel with SWC for faster builds, accelerating test execution, or compiling modern ECMAScript features.

G1Joshi/Agent-Skills

Expert Tig assistance covering text-mode interface for Git, interactive staging, commit graph visualization, diff exploration, and blame navigation. Use when navigating Git commit history in the terminal, staging hunks interactively, browsing file changes, or reviewing revisions.

G1Joshi/Agent-Skills

Expert Vim assistance covering modal editing, .vimrc configuration, registers, macros, search/replace, and plugin management via vim-plug. Use when editing text efficiently in terminal environments, writing Vimscript, recording macros, or configuring core Vim settings.

G1Joshi/Agent-Skills

Expert Zed editor assistance covering high-performance Rust-based text editing, multi-buffer editing, language server protocols (LSP), and AI assistant integrations. Use when configuring Zed settings.json, setting up language extensions, collaborating in real-time channels, or optimizing editor startup speed.

G1Joshi/Agent-Skills

Expert [skill-name] assistance covering [feature 1], [feature 2], and [feature 3]. Use when [working with X], [debugging Y], or [implementing Z].

Skills relacionados