bash-defensive-patterns is agent-read markdown (skill) from rudycity/superagent: Master defensive Bash programming techniques for production-grade scripts. Use when writing robust shell scripts, CI/CD pipelines, or system utilities requiring fault tolerance and safety..
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# Bash Defensive Patterns
Comprehensive guidance for writing production-ready Bash scripts using defensive programming techniques, error handling, and safety best practices to prevent common pitfalls and ensure reliability.
## When to Use This Skill
- Writing production automation scripts
- Building CI/CD pipeline scripts
- Creating system administration utilities
- Developing error-resilient deployment automation
- Writing scripts that must handle edge cases safely
- Building maintainable shell script libraries
- Implementing comprehensive logging and monitoring
- Creating scripts that must work across different platforms
## Detailed patterns and worked examples
Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient.
## Best Practices Summary
1. **Always use strict mode** - `set -Eeuo pipefail`
2. **Quote all variables** - `"$variable"` prevents word splitting
3. **Use [[]] conditionals** - More robust than [ ]
4. **Implement error trapping** - Catch and handle errors gracefully
5. **Validate all inputs** - Check file existence, permissions, formats
…
Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
A 17 of 17 checks passed. Deterministic, no model, same answer every run.
pass: Frontmatter block present
pass: Frontmatter declares a name
pass: Frontmatter declares a description
pass: Size between 200 bytes and 200 KB (1991 bytes)
pass: No zero-width or bidi control characters
pass: No instruction hidden inside an HTML comment
pass: No link to an exfiltration or paste host
pass: No credential-shaped string
pass: No instruction to send local credentials anywhere
pass: No text hidden with inline styles
pass: No prompt-injection phrasing
pass: No curl or wget piped into a shell
pass: No recursive delete of root, home or parent
pass: No instruction to read or print local credentials
pass: No base64 blob over 200 characters
pass: No link to a raw IP address
pass: No script tag
Source
GitHub
rudycity/superagent · 23 stars · license MIT · pushed 2026-09-22 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_ij3atnsau55k7uxb
GET https://markdownregistry.com/api/v1/resolve?ref=rudycity/superagent/bash-defensive-patterns
GET https://markdownregistry.com/api/v1/blob/741b42d1fa3167f2131a17f3e0fe891e93be4fc87aa3c19e1de5fd26d763f711
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
rudycity/superagent · .agents/skills/adhd/SKILL.md · Designed to assist users with ADHD (Attention Deficit Hyperactivity Disorder) by mitigating task paralysis, managing…
rudycity/superagent · .agents/skills/agent-browser/SKILL.md · Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages…
rudycity/superagent · .agents/skills/airflow-dag-patterns/SKILL.md · Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when…
rudycity/superagent · .agents/skills/algorithmic-art/SKILL.md · Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users…
rudycity/superagent · .agents/skills/angular-migration/SKILL.md · Migrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates…
rudycity/superagent · .agents/skills/anti-reversing-techniques/SKILL.md · Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use this skill…
rudycity/superagent · .agents/skills/api-design-principles/SKILL.md · Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight…
rudycity/superagent · .agents/skills/architecture-decision-records/SKILL.md · Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation…
rudycity/superagent · .agents/skills/article-writing/SKILL.md · Write articles, guides, blog posts, tutorials, newsletter issues, and other long-form content in a distinctive voice…