Generate, optimize, and audit your personal development environment configurations.
Install
mkdir -p .claude/skills/hearth && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16201" && unzip -o skill.zip -d .claude/skills/hearth && rm skill.zipInstalls to .claude/skills/hearth
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Generating, optimizing, and auditing personal development environment config files (zsh/tmux/neovim/ghostty). Use when dotfile management, shell, terminal, or editor configuration is needed.Key capabilities
- →Generate modular shell configurations (zsh, fish, bash)
- →Configure terminal emulators (ghostty, alacritty, kitty, wezterm)
- →Set up editor configurations (neovim, vim, Zed) with LSP and plugins
- →Manage dotfiles using various strategies (stow, chezmoi, yadm, bare Git)
- →Optimize shell startup time and audit configurations for anti-patterns
How it works
Hearth detects the OS, installed tools, and existing configurations, then applies idiomatic patterns and best practices to generate or optimize config files, ensuring backups and running syntax checks.
Inputs & outputs
When to use hearth
- →Configure neovim LSP
- →Optimize shell startup time
- →Migrate dotfiles using stow
- →Harden terminal security configs
About this skill
Hearth
Personal environment craftsman for developer dotfiles and local tooling. Configure one scope per session by default: one shell, one terminal, one editor, one prompt/tmux stack, or one dotfile-management task, unless the user explicitly asks for a coordinated multi-tool setup.
Trigger Guidance
Use Hearth when the user needs:
- shell configuration (zsh, fish, bash) setup or optimization
- terminal emulator configuration (ghostty 1.3+, alacritty, kitty, wezterm)
- editor configuration (neovim 0.12+, vim, Zed) with plugins, builtin LSP/auto-completion via
autocompleteoption, vim.pack plugin management, and builtin:Undotree/:Diff - tmux or starship/powerlevel10k configuration
- dotfile management strategy (stow, chezmoi, yadm, bare Git)
- shell startup time optimization (target: < 150ms for Standard profile)
- XDG Base Directory compliance migration
- developer environment audit or anti-pattern detection
- package/version management with Homebrew, mise, or asdf
- dotfile security audit (secret detection with Gitleaks/TruffleHog)
- new machine bootstrap automation (target: < 15 min from zero)
- a native macOS app driven programmatically (Finder, Mail, Safari, Calendar, Notes, Reminders, Music, Keynote, Terminal, System Events) —
automaterecipe - a multi-app desktop workflow glued into one automation, or UI/GUI scripting for an app with no AppleScript dictionary
- osascript wired into a shell pipeline, shebang script, Python, or Node; AppleScript <-> JXA conversion
- an AppleScript/JXA reviewed or hardened for TCC permissions, safety, or idempotency
Route elsewhere when the task is primarily:
- web/browser automation (Playwright/DevTools):
Vector - iOS app UI automation (XCUITest):
Snap - macOS native app development (SwiftUI/AppKit):
Native(macosrecipe) - scheduling/cron/launchd timing design (no app scripting):
Tempo - CI/CD pipeline or Docker configuration:
Gear - infrastructure provisioning (Terraform, CloudFormation):
Scaffold - Claude Code hook configuration:
Latch - repository structure design:
Grove - CLI tool development:
Anvil - security audit of application code:
Sentinel
Core Contract
- Back up every existing config before modification.
- Detect OS, shell, installed tools, existing configs, XDG variables, and dotfile manager before changes.
- Follow XDG Base Directory rules when the target tool supports them.
- Add short explanatory comments to generated config sections; keep configs AI-readable (explicit names over cryptic abbreviations) so both humans and AI tools can parse them.
- Verify permissions:
600for sensitive files (SSH keys, tokens),644for normal tracked config. - Use idiomatic patterns for each tool; do not apply cross-tool assumptions (e.g., zsh syntax to bash, vim keymaps to tmux).
- Run syntax or health checks after every config change.
- Benchmark shell startup before and after shell-related changes; escalate if delta exceeds profile target by > 50%. Always use
zproforzsh -xvto profile before guessing — intuition about startup bottlenecks is frequently wrong. - On macOS, avoid running
brew shellenvdirectly in shell startup; it spawns a Ruby process adding 50-100ms. Inline its output as static exports instead. - Default to
Standardprofile unless the user requests otherwise. - Never commit secrets to dotfile repos — GitHub reported 39 million leaked secrets in 2024, and GitGuardian's 2026 report found 29 million new secrets on public GitHub in 2025 (34% YoY increase). AI-assisted commits leak secrets at 3.2% vs 1.6% baseline. Additionally, 24,000+ secrets were found exposed in MCP configuration files, making AI agent configs a new attack surface. Use
.localfile separation, recommend pre-commit secret scanning (Gitleaks or TruffleHog), and audit MCP/AI-agent config files for leaked API keys. - Bootstrap scripts must be idempotent — re-running should not duplicate installations or break existing state.
- Author for the executing engine (P1–P11 bind only on Opus 5; P12 generation-wide). See
_common/OPUS_5_AUTHORING.md(P3, P5 critical for Hearth; P2, P1 recommended). - Apply
_common/CODE_QUALITY.mdto every code change — the seven axes (SLD solid / SEC secure / RDB readable / MNT maintainable / TST testable / PRF performant / SCL scalable), proportional to the change surface — and emitCODE_QUALITY_GATEbefore declaring done.SEC: riskblocks completion.
Supported Tools
| Category | Supported tools | Preferred default | Notes |
|---|---|---|---|
| Shell | zsh, fish, bash | zsh | Prefer modular layouts and tool-specific idioms |
| Shell plugins | zinit (turbo mode), antidote, sheldon | zinit | Turbo mode achieves 50-80% startup reduction; avoid oh-my-zsh for performance |
| Terminal | ghostty 1.3+, alacritty, kitty, wezterm | ghostty 1.3+ | Zig-based, GPU-accelerated (Metal on macOS), Kitty graphics protocol, scrollback search (dedicated thread — no I/O impact), native scrollbars, key tables for modal keybindings, command completion notifications, chained keybindings, click-events (shell-integrated cursor positioning), rich copy (plain + HTML clipboard), AppleScript automation (macOS) |
| Editor | neovim 0.12+, vim, Zed | neovim 0.12+ | 0.12 (released March 2026) ships LuaJIT 2.1 (15-20% Lua plugin speedup, lower memory overhead), vim.pack (builtin plugin manager), expanded native LSP (inlineCompletion, selectionRange, linkedEditingRange, documentLink, document colors, code lens refresh, workspace diagnostics, dynamic registration), native insert-mode auto-completion via autocomplete option, :lsp command, builtin :Undotree and :Diff plugins, :restart/:connect commands, and vim.net.request() API; lazy.nvim + Mason + Tree-sitter still recommended for advanced setups |
| Multiplexer / Prompt | tmux, starship, powerlevel10k | tmux + starship | Keep prompt cost proportional to startup targets |
| Dotfile management | stow, chezmoi, yadm, bare Git | stow (single machine), chezmoi (multi-machine) | chezmoi has native templates + secret manager integration; stow harder to migrate away from |
| Package / versions / tasks | Homebrew, mise, asdf | mise | mise covers version management, environment variables (direnv replacement), and task running (stable since 2025); prefer it as unified dev tool manager |
| Secret scanning | gitleaks, trufflehog, detect-secrets | gitleaks | Pre-commit h |
Content truncated.
When not to use it
- →When the task is primarily CI/CD pipeline or Docker configuration
- →When the task involves infrastructure provisioning (Terraform, CloudFormation)
- →When the task is about security auditing of application code
Limitations
- →Configure one scope per session by default: one shell, one terminal, one editor, one prompt/tmux stack, or one dotfile-management task.
- →Intuition about shell startup bottlenecks is frequently wrong; `zprof` or `zsh -xv` should be used.
- →On macOS, avoid running `brew shellenv` directly in shell startup; inline its output as static exports instead.
How it compares
This skill automates and optimizes personal development environment configurations, providing structured management and auditing that manual setup often lacks.
Compared to similar skills
hearth side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| hearth (this skill) | 0 | 1mo | No flags | Advanced |
| run-nx-generator | 5 | 3mo | Review | Intermediate |
| upgrading-expo | 3 | 4mo | Review | Intermediate |
| pnpm | 4 | 6mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by seaworld008
View all by seaworld008 →You might also like
run-nx-generator
nrwl
Run Nx generators with prioritization for workspace-plugin generators. Use this when generating code, scaffolding new features, or automating repetitive tasks in the monorepo.
upgrading-expo
sickn33
Upgrade Expo SDK versions
pnpm
antfu
Node.js package manager with strict dependency resolution. Use when running pnpm specific commands, configuring workspaces, or managing dependencies with catalogs, patches, or overrides.
initialize
reactive
Setup, install, and onboard new developers to Reactive Data Client monorepo - nvm, yarn, build, test, getting started guide
agent-release-manager
ruvnet
Agent skill for release-manager - invoke with $agent-release-manager
obsidian-deploy-integration
jeremylongshore
Publish Obsidian plugins to the community plugin directory. Use when releasing your first plugin, updating existing plugins, or managing the community plugin submission process. Trigger with phrases like "publish obsidian plugin", "obsidian community plugins", "submit obsidian plugin", "obsidian plugin directory".