By objctp
Daily development routines toolkit - automated scaffolding, best practices, and quality enforcement for shell scripts and more
Run a batch script, parse its JSON output, display structured results
Audit shell scripts for quality, security, and best practices
Scaffold a new bash script from template with best practices
Run bash script tests with coverage enforcement
Configure Bash LSP development environment and tools
Expert agent for designing bash script architecture. Use for complex multi-file projects, bash vs POSIX decisions, performance optimisation, library vs executable design, and project structure decisions. Use proactively for architectural questions. <example> Context: User is planning a deployment tool with multiple components user: "I need to build a deployment pipeline with separate scripts for build, test, and deploy. Should they share a config?" assistant: "I'll use the shell-architect agent to design the project structure and file responsibilities." <commentary> Multi-file project with unclear structure — architectural design needed before implementation. </commentary> </example> <example> Context: User has a working script that needs to run on Alpine Linux user: "This deployment script uses arrays extensively but needs to run on Alpine where bash isn't installed by default" assistant: "I'll use the shell-architect agent to evaluate the Bash vs POSIX trade-offs for Alpine compatibility." <commentary> Portability constraint requires an architectural decision about Bash vs POSIX sh, template selection, and feature migration strategy. </commentary> </example> <example> Context: User has common functions scattered across several scripts user: "I have logging, error handling, and config functions duplicated in five scripts. Should I extract them into a library?" assistant: "I'll use the shell-architect agent to assess whether these should be a sourced library or standalone scripts, and design the interface." <commentary> Library vs executable design decision — the architect determines which functions are stateless utilities (library candidates) vs stateful workflows (executable scripts). </commentary> </example> <example> Context: User has a script processing 100,000 files that runs too slowly user: "This file-processing script takes hours on large directories. What's the right approach to speed it up?" assistant: "I'll use the shell-architect agent to evaluate batch processing, parallelism, and architectural changes for performance." <commentary> Performance optimisation at scale requires architectural decisions (batch vs individual, parallelism strategy, data flow) before implementation. </commentary> </example>
Expert bash/shell scripting agent for implementation work. Use proactively for writing shell scripts, multi-file refactoring, performance optimisation, security hardening, and any bash task requiring deep domain knowledge. Use after shell-architect produces a design. <example> Context: shell-architect has produced a design with template assignments user: "Implement the architecture the shell-architect recommended" assistant: "I'll use the shell-expert agent to implement the design following the assigned templates and skill standards." <commentary> Direct handoff from design to implementation — shell-expert consumes the architect's output and writes code. </commentary> </example> <example> Context: User has a monolithic script that needs splitting user: "Split deploy.sh into a library of functions and a thin entry-point script" assistant: "I'll use the shell-expert agent to refactor the script following skill standards." <commentary> Multi-file refactoring requiring code modification while maintaining correctness — implementation work. </commentary> </example> <example> Context: User needs a new script written from scratch user: "Write a script that rotates log files older than 7 days, compresses them, and notifies on failure" assistant: "I'll use the shell-expert agent to write this script following shell-best-practices standards." <commentary> New script creation — the expert scaffolds from templates and applies coding/security standards. </commentary> </example> <example> Context: User needs security hardening on an existing script user: "This script runs as root and processes user-supplied filenames. Harden it." assistant: "I'll use the shell-expert agent to apply security hardening from the shell-security skill." <commentary> Security-critical modification — the expert applies input validation, path sanitisation, and privilege reduction patterns from the preloaded security skill. </commentary> </example>
Write batch shell scripts that consolidate many operations into one run emitting a single structured JSON result. Use when one action runs across 3+ similar inputs ("process all files", "rename many files") or a multi-stage shell pipeline is needed (extract → transform → aggregate), and the user need not see results between steps. Prefer this over repeated individual tool calls.
Write secure, portable bash scripts with proper structure, error handling, and quoting. Use when scaffolding a new script ("write a bash script", "scaffold", "new shell file") or modifying, auditing, or hardening an existing one ("fix this script", "refactor bash", "add error handling to"). Covers bash functions, helpers, deployment scripts, and file operations.
Debug a failing bash script: reproduce the failure, isolate the cause with non-invasive tracing (bash -x, bash -n, ShellCheck), then apply and verify the fix. Use when a script errors at runtime, crashes, exits non-zero, or produces wrong output ("debug this script", "fix my script", "why is this failing"). For a script that works but runs slowly, use shell-profiling; for quality review of a working script, use shell-review.
Profile a slow-but-correct bash script: measure a baseline, trace with xtrace timing to find the hotspot, apply shell-specific optimisations, and benchmark the result. Use when a script works correctly but runs too slowly, or to measure/compare execution speed ("profile this script", "why is my script slow", "find the bottleneck"). For runtime errors use shell-debugging; for quality review use shell-review.
Review a working bash script for quality, correctness, standards compliance, and security, producing a structured report with severity-ranked findings and concrete fixes. Use when assessing a finished script ("review my script", "pre-merge review", "is this good bash?"). For runtime failures use shell-debugging; for deep security auditing use shell-security.
Modifies files
Hook triggers on file write and edit operations
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimnpx claudepluginhub objctp/shell-routinesBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
No model invocation
Executes directly as bash, bypassing the AI model
No model invocation
Executes directly as bash, bypassing the AI model
Runs pre-commands
Contains inline bash commands via ! syntax
Runs pre-commands
Contains inline bash commands via ! syntax
Shell scripting toolkit for Claude Code and OpenCode — automated scaffolding, best practices, and quality enforcement.
| Tool | Purpose |
|---|---|
| bash-language-server | LSP server for Bash |
| shellcheck | Static analysis and linting |
| shfmt | Code formatting |
| bashunit | Test execution |
| checkbashisms | POSIX compatibility checks |
| hyperfine | Statistical benchmarking |
# macOS
npm i -g bash-language-server
brew install shellcheck shfmt bashunit checkbashisms hyperfine
# Ubuntu/Debian
npm i -g bash-language-server
sudo apt install shellcheck shfmt bashunit checkbashisms hyperfine
# Arch Linux
npm i -g bash-language-server
sudo pacman -S shellcheck shfmt bashunit checkbashisms hyperfine
Claude Code:
/plugin marketplace add objctp/shell-routines
/plugin install shell-routines@objct-plugins
# Local development
git clone https://github.com/objctp/shell-routines && cd shell-routines && claude
OpenCode:
Add to your config — OpenCode auto-installs npm plugins via Bun at startup.
// Project scope: opencode.json
{ "plugin": ["@objctp/opencode-shell-routines"] }
// Global scope: ~/.config/opencode/opencode.json
{ "plugin": ["@objctp/opencode-shell-routines"] }
# Local development
git clone https://github.com/objctp/shell-routines && cd shell-routines && opencode
How the OpenCode plugin registers its content: OpenCode loads only the plugin's server entrypoint from the npm package, so on first load the plugin copies its bundled
agents/ commands/ skills/ scripts/into~/.config/opencode/, where OpenCode's scanners discover them. Restart OpenCode once after installing for skills, commands, and agents to register. The copies are re-synced automatically when the package version changes (overwriting the synced files) — to customise, edit copies under your project's.opencode/instead. For project-local scope, configure the plugin with options:{ "plugin": [["@objctp/opencode-shell-routines", { "scope": "project" }]] }
| Component | Purpose | Trigger |
|---|---|---|
| Hooks | Validation and formatting after file edits | Automatic on .sh, .bash, etc. |
| Skills | Best practices, patterns, and scaffolding | Context or manual (/skill-name) |
| Commands | Interactive tools | Manual only (/command-name) |
| Agents | Specialised subagents for complex tasks | Auto-spawned |
| Skill | When to Use | Purpose |
|---|---|---|
shell-best-practices | Writing or creating bash scripts | Standards enforcement + scaffolding |
shell-debugging | Script has runtime failures | Systematic troubleshooting |
shell-security | Auditing for security vulnerabilities | Destructive commands, credentials, fixes |
shell-test | Generating tests | Creates bashunit test files |
shell-review | Quality review of a working script | Structured assessment |
shell-batch-operations | Processing 100+ items or multi-stage work | Token-efficient multi-file processing |
shell-profiling | Script works but runs slowly | Benchmarking and bottleneck analysis |
| Command | Purpose |
|---|---|
/shell-new <path> [type] | Create new script (delegates to shell-best-practices) |
/shell-test-run [path] | Run tests using bashunit |
/shell-audit <path> | Quality audit (delegates to shell-review skill) |
/shell-batch-exec <script> | Execute batch script and parse JSON output |
/shell-routines-setup | Configure bash-language-server, ShellCheck, shfmt |
| Agent | Purpose |
|---|---|
shell-architect | Design complex bash architecture (read-only, no writes) |
shell-expert | Deep implementation work following skill standards |
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Harness-native ECC plugin for engineering teams - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
Feature development with code-architect/explorer/reviewer agents, CLAUDE.md audit and session learnings, and Agent Skills creation with eval benchmarking from Anthropic.
Lazy senior dev mode. Forces the simplest, shortest solution that actually works: YAGNI, stdlib first, no unrequested abstractions.
Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review
Access thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.