一键导入
debug-parse-failure
Debug a ShellSpec parse failure by identifying ERROR nodes and tracing to grammar rules
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Debug a ShellSpec parse failure by identifying ERROR nodes and tracing to grammar rules
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Add a new ShellSpec grammar rule with tests, following project conventions
Generate parser from grammar.js, run all tests, and verify spec files parse cleanly
Update highlights.scm to cover all grammar rules, detecting missing patterns
Run full pre-release validation - tests, spec parsing, highlight coverage, build
基于 SOC 职业分类
| name | debug-parse-failure |
| description | Debug a ShellSpec parse failure by identifying ERROR nodes and tracing to grammar rules |
Diagnose why a ShellSpec file or snippet doesn't parse correctly.
file (optional): Path to a file that fails to parsesnippet (optional): Inline ShellSpec code to debugParse the file/snippet and identify ERROR nodes:
tree-sitter parse <file> 2>&1
If debugging a snippet, write it to a temp file first.
Locate ERROR nodes: Look for (ERROR) in the AST output. Note:
Identify the grammar rule: Based on the ShellSpec construct that failed:
grammar.jsCheck common causes (from Grammar Gotchas):
"Data:raw" as single token)[ ... ] → $.test_command) not being recognized?_terminated_statement?Test a fix:
grammar.js with the proposed fixnpm run generate && npm test to verify no regressionsVerify broadly: Run the full spec file check:
for f in test/spec/*.sh; do
errors=$(tree-sitter parse "$f" 2>&1 | grep -c ERROR || true)
if [ "$errors" -gt 0 ]; then echo "ERRORS in $f: $errors"; fi
done