{"id":"b51855b0-bd39-49dc-a2a2-ae099eb41bbb","shortId":"Er6RR3","kind":"skill","title":"Format shell scripts into a stable house style before review with shfmt","tagline":"Normalize Bash, POSIX shell, and Zsh scripts before review or CI so style noise stops hiding the real changes.","description":"# Format shell scripts into a stable house style before review with shfmt\n\nNormalize Bash, POSIX shell, and Zsh scripts before review or CI so style noise stops hiding the real changes.\n\n## Prerequisites\n\nGo or packaged shfmt binary, shell script files, optional CI or pre-commit integration\n\n## Installation\n\nUse the upstream install or setup path that matches your environment:\n- go install mvdan.cc/sh/v3/cmd/shfmt@latest\n- go install mvdan.cc/sh/v3/cmd/gosh@latest\n- docker build -t my:tag -f cmd/shfmt/Dockerfile .\n- docker run --rm -u \"$(id -u):$(id -g)\" -v \"$PWD:/mnt\" -w /mnt my:tag <shfmt arguments>\n\nRequirements and caveats from upstream:\n- Supports [POSIX Shell], [Bash], [Zsh], and [mksh]. Requires Go 1.25 or later.\n- Packages are available on [Alpine], [Arch], [Debian], [Docker], [Fedora], [FreeBSD],\n- ### Docker\n\nBasic usage or getting-started notes:\n- To parse shell scripts, inspect them, and print them out,\n- see the [syntax package](https://pkg.go.dev/mvdan.cc/sh/v3/syntax).\n- For high-level operations like performing shell expansions on strings,\n\n- Source: https://github.com/mvdan/sh\n- Extracted from upstream docs: https://raw.githubusercontent.com/mvdan/sh/HEAD/README.md\n\n## Documentation\n\n- https://pkg.go.dev/mvdan.cc/sh/v3\n\n## Source\n\n- [Agent Skill Exchange](https://agentskillexchange.com/skills/format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt/)","tags":["format","shell","scripts","into","stable","house","style","before","review","with","shfmt","skills"],"capabilities":["skill","source-agentskillexchange","skill-format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt","topic-agent-skills","topic-ai-agents","topic-ai-tools","topic-awesome-list","topic-claude-code","topic-codex","topic-cursor","topic-llm","topic-mcp","topic-npx-skills","topic-openclaw","topic-skills-catalog"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/agentskillexchange/skills/format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add agentskillexchange/skills","source_repo":"https://github.com/agentskillexchange/skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (1,404 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:10:30.066Z","embedding":null,"createdAt":"2026-05-18T13:16:36.197Z","updatedAt":"2026-05-18T19:10:30.066Z","lastSeenAt":"2026-05-18T19:10:30.066Z","tsv":"'/mnt':118,120 '/mvdan.cc/sh/v3':200 '/mvdan.cc/sh/v3/syntax).':174 '/mvdan/sh':189 '/mvdan/sh/head/readme.md':196 '/sh/v3/cmd/gosh@latest':100 '/sh/v3/cmd/shfmt@latest':95 '/skills/format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt/)':207 '1.25':137 'agent':202 'agentskillexchange.com':206 'agentskillexchange.com/skills/format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt/)':205 'alpin':144 'arch':145 'avail':142 'bash':14,45,131 'basic':151 'binari':68 'build':102 'caveat':125 'chang':31,62 'ci':23,54,73 'cmd/shfmt/dockerfile':107 'commit':77 'debian':146 'doc':193 'docker':101,108,147,150 'document':197 'environ':90 'exchang':204 'expans':183 'extract':190 'f':106 'fedora':148 'file':71 'format':1,32 'freebsd':149 'g':115 'get':155 'getting-start':154 'github.com':188 'github.com/mvdan/sh':187 'go':64,91,96,136 'hide':28,59 'high':177 'high-level':176 'hous':7,38 'id':112,114 'inspect':162 'instal':79,83,92,97 'integr':78 'later':139 'level':178 'like':180 'match':88 'mksh':134 'mvdan.cc':94,99 'mvdan.cc/sh/v3/cmd/gosh@latest':98 'mvdan.cc/sh/v3/cmd/shfmt@latest':93 'nois':26,57 'normal':13,44 'note':157 'oper':179 'option':72 'packag':66,140,171 'pars':159 'path':86 'perform':181 'pkg.go.dev':173,199 'pkg.go.dev/mvdan.cc/sh/v3':198 'pkg.go.dev/mvdan.cc/sh/v3/syntax).':172 'posix':15,46,129 'pre':76 'pre-commit':75 'prerequisit':63 'print':165 'pwd':117 'raw.githubusercontent.com':195 'raw.githubusercontent.com/mvdan/sh/head/readme.md':194 'real':30,61 'requir':123,135 'review':10,21,41,52 'rm':110 'run':109 'script':3,19,34,50,70,161 'see':168 'setup':85 'shell':2,16,33,47,69,130,160,182 'shfmt':12,43,67 'skill':203 'skill-format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt' 'sourc':186,201 'source-agentskillexchange' 'stabl':6,37 'start':156 'stop':27,58 'string':185 'style':8,25,39,56 'support':128 'syntax':170 'tag':105,122 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-tools' 'topic-awesome-list' 'topic-claude-code' 'topic-codex' 'topic-cursor' 'topic-llm' 'topic-mcp' 'topic-npx-skills' 'topic-openclaw' 'topic-skills-catalog' 'u':111,113 'upstream':82,127,192 'usag':152 'use':80 'v':116 'w':119 'zsh':18,49,132","prices":[{"id":"93d9b953-b93e-4f7e-a091-0740924934ac","listingId":"b51855b0-bd39-49dc-a2a2-ae099eb41bbb","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"agentskillexchange","category":"skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:16:36.197Z"}],"sources":[{"listingId":"b51855b0-bd39-49dc-a2a2-ae099eb41bbb","source":"github","sourceId":"agentskillexchange/skills/format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt","sourceUrl":"https://github.com/agentskillexchange/skills/tree/main/skills/format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt","isPrimary":false,"firstSeenAt":"2026-05-18T13:16:36.197Z","lastSeenAt":"2026-05-18T19:10:30.066Z"}],"details":{"listingId":"b51855b0-bd39-49dc-a2a2-ae099eb41bbb","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"agentskillexchange","slug":"format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt","github":{"repo":"agentskillexchange/skills","stars":8,"topics":["agent-skills","ai-agents","ai-tools","awesome-list","claude-code","codex","cursor","llm","mcp","npx-skills","openclaw","skills-catalog"],"license":"mit","html_url":"https://github.com/agentskillexchange/skills","pushed_at":"2026-05-18T19:02:17Z","description":"The open catalog of AI agent skills — 2,000+ security-scanned skills for Claude Code, Cursor, Codex, and more.","skill_md_sha":"01f8f6ccdfe421ba5271362fe263c9f3db26b7db","skill_md_path":"skills/format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/agentskillexchange/skills/tree/main/skills/format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"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."},"skills_sh_url":"https://skills.sh/agentskillexchange/skills/format-shell-scripts-into-a-stable-house-style-before-review-with-shfmt"},"updatedAt":"2026-05-18T19:10:30.066Z"}}