Borrowing it
Nothing to install: this file belongs to mylee04/code-notify. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/mylee04/code-notify/main/.claude/skills/shell-scripting/SKILL.mdgit clone --depth 1 https://github.com/mylee04/code-notifyWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mylee04/code-notify/shell-scripting)<a href="https://agentmods.dev/skills/mylee04/code-notify/shell-scripting"><img src="https://agentmods.dev/badge/skills/mylee04/code-notify/shell-scripting/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mylee04/code-notify/shell-scripting"><img src="https://agentmods.dev/badge/skills/mylee04/code-notify/shell-scripting.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Anti-Refusal · line 211 Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.Fix: Remove instructions that suppress warnings, disclaimers, or ethical commentary. Let the agent surface safety-relevant caveats to the user.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00013 | $0.00911 |
| Opus 5.5 | $0.00005 | $0.00364 |
| Sonnet 5.5 | $0.00003 | $0.00182 |
| Haiku 4.5 | $0.00001 | $0.00091 |
Grade A, and why
shell-scripting scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
1 near-identical copy found in the catalogue:
- shell-scripting — 86% identical, 57 lines differ
How it starts
The opening of the file, as written. The whole thing — 216 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Shell Scripting Standards
When to Use
- Writing new shell scripts
- Refactoring existing scripts
- Adding new functions
Script Structure
1. File Header
#!/bin/bash
# Script description
# https://github.com/mylee04/code-notify
set -e # Exit on error
2. Constants (UPPER_CASE)
VERSION="1.2.0"
CONFIG_DIR="$HOME/.claude"
DEFAULT_SOUND="Glass"
3. Functions (snake_case)
# Description of function
# Arguments: $1 = name, $2 = optional value
function_name() {
local name="$1"
local value="${2:-default}"
# Function body
}
4. Main Logic
# Main execution
main() {
validate_args "$@"
do_work
cleanup
}
main "$@"
Best Practices
Variable Handling
# Good - quoted variables
echo "$message"
path="$HOME/.config"
# Bad - unquoted
echo $message
path=$HOME/.config
Conditionals
# Good - double brackets
if [[ -n "$var" ]]; then
echo "not empty"
fi
# Bad - single brackets
if [ -n "$var" ]; then
echo "not empty"
fi
Command Existence Check
# Good
if command -v terminal-notifier &> /dev/null; then
terminal-notifier -message "Hello"
fi
# Bad
if which terminal-notifier; then
terminal-notifier -message "Hello"
fi
Error Handling
# Good - explicit error handling
if ! some_command; then
echo "Error: command failed" >&2
exit 1
fi
# Good - trap for cleanup
cleanup() {
rm -f "$temp_file"
}
trap cleanup EXIT
Local Variables in Functions
# Good
my_function() {
local input="$1"
local result
result=$(process "$input")
echo "$result"
}
# Bad - pollutes global scope
my_function() {
input="$1"
result=$(process "$input")
echo "$result"
}
Common Patterns
OS Detection
detect_os() {
case "$(uname -s)" in
Darwin*) echo "macos" ;;
Linux*) echo "linux" ;;
CYGWIN*|MINGW*|MSYS*) echo "windows" ;;
*) echo "unknown" ;;
esac
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 216 lines · 13 tokens per session scan A 51d95f7f4b17
shell-scripting is a skill published in the GitHub repository mylee04/code-notify (289 stars, last pushed 1mo ago), licensed MIT. It adds 13 tokens to every session and 911 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
warpctrl
Control and inspect the currently running local Warp application with the warpctrl CLI. Use this skill whenever the user asks the agent to manipulate Warp's own windows, tabs, panes, sessions, input buffer, themes, or UI surfaces; open a file in Warp; inspect local Warp state; or explain how to invoke Warp Control…
change-keybinding
Customize Warp keyboard shortcuts (keybindings, keymappings) by editing the user's keybindings.yaml file. Use when the user asks to remap a key combination, rebind an action, change a shortcut, or remove a default keybinding (e.g. "change ctrl+space to ctrl+s", "rebind the command palette to cmd+p", "remove the…
create-tab-config
Create new Warp tab config TOML files from natural-language requests. Use when the user wants a new tab config, a new tab layout, or asks for a slash command to generate a tab config.
save
Use when the user signals end-of-session — "save handoff", "pick this up later", "continue in a new session", "I'll come back to this". Captures the session's intent so the next session can resume it. Slash form /handoff:save is the explicit fallback.
Google Workspace integration — Gmail, Drive, Calendar, Contacts, Tasks, and Sheets via gogcli.
notion
Read, create, update, and manage Notion pages, databases, and blocks.