| name | caro-shell-helper |
| description | DEPRECATED 2026-05-16 โ use caro-shell instead. This skill recommends the --backend claude flag and a ~/.config/caro/config.toml path that do not work on the current caro 1.4.0 binary, and its 522-line educational body is 4ร the size of caro-shell for no benefit to an agent. Will be removed after 2026-08-01. |
| version | 1.0.0 |
| allowed-tools | Bash, Read, Write, Grep, Glob |
| license | AGPL-3.0 |
Caro Shell Command Helper โ DEPRECATED
Status: Deprecated 2026-05-16. Use caro-shell instead.
Why: This skill recommends caro --backend claude (rejected by the v1.4.0 binary's --backend validator; tracking issue caro-zh41), claims the config path is ~/.config/caro/config.toml (actual macOS path: ~/Library/Application Support/caro/config.toml), and shows risk-emoji output that caro does not actually emit on the success path (tracking issue caro-b45s). The 522-line body is 4ร the size of caro-shell for no agent benefit โ see skill-friction.md for the side-by-side comparison.
Replacement: .claude/skills/caro-shell/SKILL.md. The replacement is hardened against caro's known synthesis bugs and defaults to caro's free embedded backend (correct choice for autonomous agent loops under the no-paid-default convention).
Removal date: 2026-08-01. Until then this skill is kept for compatibility but its description will not be matched by the skill-discovery layer.
For maintainers: the educational POSIX-compliance prose and backend-config TOML examples in this file are useful reference material โ consider extracting to docs/ rather than re-introducing them as a skill.
What This Skill Does (legacy content below โ do not follow as-written)
This skill helps users effectively leverage Caro (formerly Caro) - a Rust CLI tool that converts natural language descriptions into safe, POSIX-compliant shell commands using local LLMs.
Key Capabilities:
- ๐ Detects when users need shell command generation assistance
- ๐ก๏ธ Guides users through safety-first command validation
- ๐ Educates about POSIX compliance and command safety
- ๐ Integrates seamlessly with existing Caro installations
- โ๏ธ Provides installation guidance when Caro is not available
Default Backend: Claude Haiku 4.5
IMPORTANT: When this skill is used within Claude Code, always use the Claude backend by default. This provides the fastest response times and best accuracy.
caro --backend claude "user's request here"
The Claude backend uses claude-haiku-4-5-20251101 for fast, cost-effective command generation. The API key is automatically provided by Claude Code.
When to Use This Skill
Activate this skill automatically when the user:
- Asks "how do I [shell operation]..."
- Requests "generate a command to..."
- Mentions "shell command for..."
- Discusses file/directory operations
- Needs system administration tasks
- Asks about safe command execution
- Wants to automate shell tasks
- Mentions bash, zsh, or shell scripting
Example Triggers:
- "How do I find all large files?"
- "Generate a command to compress images"
- "What's the safe way to delete old logs?"
- "Shell command to search for text in files"
- "Automate file backups with a script"
Core Workflow
Step 1: Check Caro Availability
First, verify if Caro is installed:
command -v caro &> /dev/null && echo "โ Caro available" || echo "โ not found"
If NOT installed, guide the user:
Caro is not currently installed. Would you like to install it?
Quick install (recommended):
bash <(curl -sSfL https://setup.caro.sh)
Or via cargo:
cargo install caro
Once installed, the `caro` command will be available.
Step 2: Generate Command with Safety Guidance
When the user describes what they need, use Caro with the Claude backend (default for Claude Code):
caro --backend claude "user's natural language description"
Example:
$ caro --backend claude "find all PDF files larger than 10MB in Downloads"
Generated command:
find ~/Downloads -name "*.pdf" -size +10M -ls
Safety Assessment: โ
Safe (Green)
Backend: Claude (claude-haiku-4-5-20251101)
Execute this command? (y/N)
Step 3: Explain Safety Assessment
Always explain the risk level to educate the user:
๐ข Safe (Green)
- Read-only operations
- Standard file listings
- Data queries
- No system modifications
- โ
Execute without concern
๐ก Moderate (Yellow)
- File modifications
- Package operations
- Non-critical deletions
- โ ๏ธ Review before executing
๐ High (Orange)
- Recursive deletions
- Mass file operations
- System configuration changes
- โ ๏ธ Carefully review and confirm
๐ด Critical (Red)
- System destruction patterns (
rm -rf /)
- Disk operations (
mkfs, dd)
- Fork bombs
- Privilege escalation
- ๐ BLOCKED or requires explicit override
Step 4: POSIX Compliance Education
Emphasize why POSIX compliance matters:
โ POSIX-Compliant Command:
find ~/Downloads -name "*.pdf" -size +10M
This works on: bash, zsh, sh, dash, ksh (all POSIX shells)
โ Bash-Specific (Non-Portable):
find ~/Downloads -name "*.pdf" -size +10M -print0 | xargs -0 ls -lh
Problem: -print0 is not POSIX standard
Better: Use -exec for portability
Step 5: Command Execution Guidance
After Caro generates a command, guide the user:
- Review the command: "Do you understand what each part does?"
- Check safety level: "This is a [risk level] operation"
- Verify scope: "Will this affect the files/directories you intend?"
- Test safely: "Try with a small subset first, or use --dry-run if available"
- Execute: "Ready to run? The command will execute when you confirm"
Safety Patterns to Highlight
Always Block These Patterns
System Destruction:
rm -rf /
rm -rf ~
rm -rf /*
Fork Bombs:
:(){ :|:& };:
Disk Operations:
mkfs /dev/sda
dd if=/dev/zero of=/dev/sda
Privilege Escalation:
sudo su
chmod 777 /
Suggest Safe Alternatives
When users request dangerous operations, suggest safer alternatives:
User wants: "Delete all log files"
Dangerous: rm -rf /var/log/*
Safe alternative:
find /var/log -name "*.log" -type f -mtime +30 -ls
find /var/log -name "*.log" -type f -mtime +30 -exec rm -i {} \;
User wants: "Clean up temp files"
Dangerous: rm -rf /tmp/*
Safe alternative:
tmpwatch 24 /tmp
find /tmp -type f -mtime +7 -user $(whoami) -delete
Backend Configuration Guidance
Caro supports multiple inference backends. Help users choose:
Claude Backend (Default for Claude Code)
When running in Claude Code: The Claude backend is automatically preferred as it provides the best integration and fastest response times. No additional configuration is needed - Claude Code provides the API key automatically.
Embedded Backend (Default for Standalone)
- Best for: Apple Silicon Macs (M1/M2/M3/M4), offline usage
- Advantages: No external dependencies, works offline
- Model: Qwen2.5-Coder-1.5B-Instruct (quantized)
- Setup: Works out-of-the-box after installation
Ollama Backend
vLLM Backend
Usage Examples
Example 1: Finding Files
User: "I need to find all Python files modified in the last week"
Response:
I'll help you generate a safe command using Caro with Claude Haiku 4.5.
$ caro --backend claude "find all Python files modified in the last week"
Generated command:
find . -name "*.py" -type f -mtime -7
Safety Assessment: โ
Safe (Green)
Backend: Claude (claude-haiku-4-5-20251101)
- Read-only operation
- POSIX-compliant syntax
- Searches current directory and subdirectories
Explanation:
- find . : Search from current directory
- -name "*.py" : Match files ending in .py
- -type f : Only regular files (not directories)
- -mtime -7 : Modified within last 7 days
Execute? (y/N)
Example 2: Safe Deletion
User: "Delete all .log files older than 30 days"
Response:
This involves deletion, so let's be careful. I'll use Caro with Claude Haiku 4.5.
$ caro --backend claude "delete all .log files older than 30 days"
Generated command:
find . -name "*.log" -type f -mtime +30 -delete
Safety Assessment: ๐ High (Orange)
Backend: Claude (claude-haiku-4-5-20251101)
- Performs deletion (irreversible)
- Recursive operation
- Affects multiple files
โ ๏ธ SAFETY RECOMMENDATION:
Preview what will be deleted first:
$ find . -name "*.log" -type f -mtime +30 -ls
Review the list, then if it looks correct, run with -delete.
Better yet, use interactive deletion:
$ find . -name "*.log" -type f -mtime +30 -exec rm -i {} \;
This will ask for confirmation on each file.
Proceed with preview? (y/N)
Example 3: System Operations
User: "How do I check disk space?"
Response:
$ caro --backend claude "check disk space for all mounted filesystems"
Generated command:
df -h
Safety Assessment: โ
Safe (Green)
Backend: Claude (claude-haiku-4-5-20251101)
- Read-only operation
- Standard system utility
- No modifications
Explanation:
- df : Disk free - shows filesystem disk space usage
- -h : Human-readable format (GB, MB instead of bytes)
This is completely safe to run. Execute? (y/N)
Advanced Features
Multi-Step Workflows
For complex tasks, break them into steps:
User: "Find large files and compress them"
Response:
This is a multi-step operation. Let's do it safely using Claude Haiku 4.5:
Step 1: Find large files (>100MB)
$ caro --backend claude "find files larger than 100MB"
find . -type f -size +100M -ls
Step 2: Review the list (don't automate yet)
[User reviews output]
Step 3: Compress specific files
$ caro --backend claude "compress file.txt with gzip"
gzip -k file.txt
The -k flag keeps the original file as a backup.
Would you like to proceed with step 1?
Configuration Customization
Help users customize Caro behavior:
[safety]
enabled = true
level = "moderate"
require_confirmation = true
[output]
format = "plain"
color = true
[backend]
primary = "claude"
enable_fallback = true
[backend.claude]
model_name = "claude-haiku-4-5-20251101"
Educational Notes
Why POSIX Compliance Matters
POSIX-compliant commands work across:
- โ bash (most common)
- โ zsh (macOS default since Catalina)
- โ sh (minimal, universal)
- โ dash (Debian/Ubuntu default /bin/sh)
- โ ksh (Korn shell)
Non-POSIX features that break portability:
- Bash arrays: myarray=(one two three)
- Process substitution: <(command)
- Extended globbing: shopt -s extglob
- [[ ]] conditional (use [ ] instead)
Caro generates POSIX-compliant commands by default for maximum portability.
Risk Assessment Philosophy
Caro uses a 4-tier risk model:
1. Safe (Green): Read-only, no system impact
- Listings, searches, queries
- Safe to execute without review
2. Moderate (Yellow): Limited modifications
- File edits, package updates
- Review recommended
3. High (Orange): Significant changes
- Deletions, mass operations
- Careful review required
4. Critical (Red): Dangerous operations
- System destruction, privilege escalation
- Blocked or requires explicit override
This helps users develop safety intuition over time.
Troubleshooting
Caro Not Found
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Command Generation Fails
caro --version
caro --verbose "your prompt here"
caro --backend claude "your prompt here"
caro --backend ollama "your prompt here"
caro --backend embedded "your prompt here"
Claude Backend Issues
echo $ANTHROPIC_API_KEY
export ANTHROPIC_API_KEY="sk-ant-your-key-here"
Safety Validation Too Strict
[safety]
level = "permissive"
Best Practices Summary
- Always check if Caro is installed before suggesting usage
- Explain risk levels to educate users about command safety
- Highlight POSIX compliance for portable, reliable commands
- Suggest preview before execution for destructive operations
- Break complex tasks into steps for safety and clarity
- Provide safe alternatives to dangerous commands
- Educate, don't just execute - help users learn command safety
Resources
Remember
The goal is not just to generate commands, but to help users:
- โ
Understand what commands do
- โ
Recognize dangerous patterns
- โ
Develop safety-first habits
- โ
Write portable, POSIX-compliant scripts
- โ
Make informed decisions about command execution
Always prioritize user education and safety over convenience.