Command Output Logging
When to use this skill
Use it whenever running commands that:
- •are slow or long-running or expensive in any way
- •are likely to need multiple analyses of their output
- •involve API calls or other network operations
- •are GitHub CLI commands (
gh) or similar
How it works
Always pipe these commands through tee(1) to capture output to a file while
still displaying it in real-time.
Key Principles
- •
Never blindly pipe through
head(1)unless you're sure premature termination via SIGPIPE won't cause problems. - •
When tee-ing into a temporary logfile, prefer the
tmp/subdirectory of the repository rather than/tmp, so that you don't have to ask permission for access to/tmp. - •
Don't assume
tmp/exists - you might need to create it first.
Usage
- •
Create
tmp/directory if it doesn't exist:mkdir -p tmp/ - •
Run the command with tee:
command | tee tmp/output.log - •
The user can now choose to monitor that log file as it runs.
- •
If you subsequently need to examine the output multiple times, reading from the log file prevents needing to re-run the slow command each time.
Examples
# Run tests with logging mkdir -p tmp/ npm test | tee tmp/test-output.log # Check GitHub action run mkdir -p tmp/ gh run view 12345 | tee tmp/action-run-12345.log # Access some API mkdir -p tmp/ some-API-call-command | tee tmp/logs.log