read-error-messages-literally
Use when a command, test, or API call returns an error. Parse the exact text as written, resolve its paths and exit code, and only then form a hypothesis.
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 80
- Forks
- 17
01 前言 Front Matter
- name
- read-error-messages-literally
- description
- Use when a command, test, or API call returns an error. Parse the exact text as written, resolve its paths and exit code, and only then form a hypothesis.
02 资源文件 3
- 许可证LICENSE1.0 KB
- 参考文档SOURCE.md355 B
- 参考文档TRUST.auto.yaml2.2 KB
03 SKILL.md 正文
Read error messages literally
Most debugging fails at the first sentence: the tool said what was wrong and the reader substituted what they expected. This skill forces a byte-level reading of the message before any theory is allowed.
Procedure
-
Capture the full message, not the last line. Re-run the failing command with stderr attached:
./build.sh 2>&1 | tee /tmp/err.txt, then read it back withread_file("/tmp/err.txt"). -
Quote the exact string in your working notes. Do not paraphrase; the wording carries the signal.
-
Decompose the message into literal parts: error code, path, line number, offending token, and which program emitted it.
-
For a stack trace, read upward from the last line — that is the raising frame, not necessarily the root cause.
pytest -x -q --tb=longprints the assertion and the frame that failed it. -
Resolve every path the message names:
ls -l /etc/ssl/certs/ca.pemto confirm the file exists or does not. Do not assume existence either way. -
Check the numeric exit status separately:
echo $?. 127 means command not found, 126 not executable, 137 killed (SIGKILL), 139 segfault — map the number before theorising. -
Only when every literal token in the message is accounted for do you propose a cause. If your cause does not explain each token, it is wrong.
-
Re-run the exact minimal command after any fix and paste the new output; never assume a fix worked because it seems right.
Pitfalls
- "Connection refused" and "connection timed out" are different faults; conflating them sends you to the wrong layer.
- Truncated logs hide the real line; check
wc -l /tmp/err.txtagainst the log's own reported total. - A missing-file error may be a symptom of an earlier step that wrote to the wrong working directory.
- Trailing whitespace or a smart quote in the message is a hint, not noise.
- A stack trace truncated by a log rotation can end mid-frame; confirm you have the complete record.
Verification
./build.sh 2>&1 | tail -5; echo "exit=$?"
Report the exact string, the exit code, and each resolved path — never a paraphrase of the error.
04 同仓库更多 Skills
recipe-performance
Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold/warm/background-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout/paint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.
mexc-spot-websocket
MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.
mexc-spot-rest
MEXC Spot REST workflows for public data, signed account requests, orders, wallet/admin actions, and secure signing without exposing API keys.
mexc-futures-websocket
MEXC Futures WebSocket workflows for public streams, private account/order/position streams, ping/pong, subscriptions, and depth maintenance.
0xklen-version-and-refresh-sanctions-lists
暂无简介
verify-tests-cover-changed-lines
Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.