| name | slow-command-running |
| description | Pipe long running commands through tee(1) to allow watching output and repeated analyses without rerunning |
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
mkdir -p tmp/
npm test | tee tmp/test-output.log
mkdir -p tmp/
gh run view 12345 | tee tmp/action-run-12345.log
mkdir -p tmp/
some-API-call-command | tee tmp/logs.log