Agent skill
terminal-execution
Best practices for reliable terminal command execution and output capture. Use this skill when running shell commands, especially in environments like WSL where output might be truncated or lost, to ensure results are properly captured and inspected.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/devops/terminal-execution-atman-33-skills-5a03daac
Metadata
Additional technical details for this skill
- short description
- Reliable command execution & output capture
SKILL.md
Terminal Execution Guidelines
This skill defines the standard workflows for executing terminal commands to ensure reliability and visibility of outputs, particularly in complex environments like WSL.
1. Primary Execution Method
Always prioritize structured execution tools over raw terminal input when possible.
- Use
execute_command: Call theexecute_commandtool from theterminal-runnerMCP server. This provides the most reliable way to get exit codes and standard output programmatically. - Fallback: If
terminal-runneris unavailable, use the standardrun_in_terminaltool.
2. Handling Missing Output (WSL/Complex Environments)
In some environments (like WSL), terminal output may not be returned to the agent context correctly, or it may be truncated. If you suspect output is missing:
File-Based Capture Workflow
- Prepare Directory: Ensure
.tmp/copilot/exists. - Redirect Output: Run the command redirecting both stdout and stderr to a file.
- Read Result: Use file reading tools to inspect the output.
Common Patterns
Capture stdout and stderr:
some-command > .tmp/copilot/output.txt 2>&1
Capture and view live (if interactive):
some-command 2>&1 | tee .tmp/copilot/output.txt
Capture exit code separately:
some-command > .tmp/copilot/output.txt 2>&1; echo $? > .tmp/copilot/exit-code.txt
3. Best Practices
- File Naming: Use descriptive names for capture files (e.g.,
.tmp/copilot/build-log.txt,.tmp/copilot/test-results.txt). - Cleanup: Periodically clean up the
.tmp/copilot/directory to avoid confusion with stale data.
Didn't find tool you were looking for?