Proper usage of Bash and file operation tools. Use this skill when executing shell commands, writing files, or when tempted to use echo/cat/heredoc to pipe content to files. Prevents permission circumvention patterns like piping multiline content through echo instead of using Write tool. Covers Bash tool, Write tool, Edit tool, and Read tool best practices.
Guidelines for proper tool selection when executing commands or modifying files.
Use specialized file tools for file operations. Use Bash only for actual shell commands.
Never use Bash to circumvent file operation permissions. If Write tool is blocked, that's intentional - do not work around it with echo, cat, or heredocs.
Need to create/overwrite a file?
├── YES → Use Write tool (NOT echo/cat/heredoc)
└── NO → Continue...
Need to edit part of a file?
├── YES → Use Edit tool (NOT sed/awk)
└── NO → Continue...
Need to read file contents?
├── YES → Use Read tool (NOT cat/head/tail)
└── NO → Continue...
Need to search file contents?
├── YES → Use Grep tool (NOT grep/rg in Bash)
└── NO → Continue...
Need to find files by pattern?
├── YES → Use Glob tool (NOT find/ls in Bash)
└── NO → Continue...
Is this an actual shell command? (git, npm, docker, make, etc.)
├── YES → Use Bash tool
└── NO → Reconsider - probably need a file tool
These patterns attempt to circumvent Write tool permissions and MUST NOT be used:
| Pattern | Why It's Wrong | Correct Approach |
|---------|---------------|------------------|
| echo "content" > file.py | Bypasses Write permissions | Use Write tool |
| cat << 'EOF' > file.py | Heredoc bypasses permissions | Use Write tool |
| printf '%s' "$content" > file | Same as echo bypass | Use Write tool |
| tee file.py <<< "content" | Redirect bypass | Use Write tool |
See references/permission-patterns.md for comprehensive examples.
If the Write tool is blocked for a file:
The permission system protects the user. Circumventing it defeats its purpose.
When encountering new permission circumvention patterns or tool usage issues, see references/updating-skill.md.
| Task | Tool | NOT This |
|------|------|----------|
| Create file | Write | echo > file |
| Edit file | Edit | sed -i |
| Read file | Read | cat file |
| Search content | Grep | grep pattern |
| Find files | Glob | find . -name |
| Git commands | Bash | - |
| npm/yarn | Bash | - |
| docker/make | Bash | - |
| Run tests | Bash | - |
npx skills add kettleofketchup/bash-tools下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer