Normalize Bash, POSIX shell, and Zsh scripts before review or CI so style noise stops hiding the real changes.
Scanned 6/8/2026
Install via CLI
openskills install agentskillexchange/skills---
name: "Format shell scripts into a stable house style before review with shfmt"
slug: "format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt"
description: "Normalize Bash, POSIX shell, and Zsh scripts before review or CI so style noise stops hiding the real changes."
github_stars: 8700
verification: "security_reviewed"
source: "https://github.com/mvdan/sh"
author: "mvdan"
publisher_type: "individual"
category: "Code Quality & Review"
framework: "Multi-Framework"
tool_ecosystem:
github_repo: "mvdan/sh"
github_stars: 8700
---
# Format shell scripts into a stable house style before review with shfmt
Normalize Bash, POSIX shell, and Zsh scripts before review or CI so style noise stops hiding the real changes.
## Prerequisites
Go or packaged shfmt binary, shell script files, optional CI or pre-commit integration
## Installation
Use the upstream install or setup path that matches your environment:
- go install mvdan.cc/sh/v3/cmd/shfmt@latest
- go install mvdan.cc/sh/v3/cmd/gosh@latest
- docker build -t my:tag -f cmd/shfmt/Dockerfile .
- docker run --rm -u "$(id -u):$(id -g)" -v "$PWD:/mnt" -w /mnt my:tag <shfmt arguments>
Requirements and caveats from upstream:
- Supports [POSIX Shell], [Bash], [Zsh], and [mksh]. Requires Go 1.25 or later.
- Packages are available on [Alpine], [Arch], [Debian], [Docker], [Fedora], [FreeBSD],
- ### Docker
Basic usage or getting-started notes:
- To parse shell scripts, inspect them, and print them out,
- see the [syntax package](https://pkg.go.dev/mvdan.cc/sh/v3/syntax).
- For high-level operations like performing shell expansions on strings,
- Source: https://github.com/mvdan/sh
- Extracted from upstream docs: https://raw.githubusercontent.com/mvdan/sh/HEAD/README.md
## Documentation
- https://pkg.go.dev/mvdan.cc/sh/v3
## Source
- [Agent Skill Exchange](https://agentskillexchange.com/skills/format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt/)
No comments yet. Be the first to comment!
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...
**Complete production-ready guide for Google Gemini embeddings API** This skill provides comprehensive coverage of the `gemini-embedding-001` model for generating text embeddings, including SDK usage, REST API patterns, batch processing, RAG integration with Cloudflare Vectorize, and advanced use cases like semantic search and document clustering. ---
Interview, source-challenge, verify, save, and ADR-gate fuzzy coding requests into Codex-ready implementation specs. Use when a feature, bugfix, refactor, migration, repo-wide change, or architecture task needs user-verified requirements, source-backed decisions, durable architecture decisions, acceptance criteria, validation commands, rollout notes, saved spec/ADR files, and a Codex execution prompt. Do not use when already fully specified or when the user wants direct implementation now.
Use when a repo needs CodeGraph plus ast-grep for Codex MCP setup, exploration, impact analysis, structural search, or safe refactor planning.