with one click
bundle-and-verify
"
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
"
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
"
"
"
"
"
"
| name | bundle-and-verify |
| description | " |
bundle.sh — the bundler; embeds all lib/, prompts/, schemas/, scripts/ as heredocsMakefile — bundle and clean targetsdist/ultrainit.sh — the output artifact (gitignored).github/workflows/release.yml — runs bash bundle.sh > dist/ultrainit.sh at release timemake check
Do not build a bundle from code that fails syntax checks.
bundle.sh embeds files as heredocs with __EOF_LIB_<name>__ delimiters. If any embedded file contains this exact pattern on a line, the heredoc terminates early:
grep -rn '__EOF_LIB_' lib/ scripts/ prompts/ schemas/ 2>/dev/null
If any matches are found, the files with those matches cannot be safely bundled until the pattern is removed.
mkdir -p dist
bash bundle.sh > dist/ultrainit.sh
chmod +x dist/ultrainit.sh
Critical: bundle.sh must write ONLY bundle content to stdout. Any echo, log_*, or debug output in bundle.sh corrupts the bundle. The release.yml workflow does bash bundle.sh > dist/ultrainit.sh — spurious stdout becomes part of the script.
bash -n dist/ultrainit.sh && echo "syntax OK"
Failure here usually means a heredoc delimiter collision or a syntax error introduced during bundling.
du -sh dist/ultrainit.sh
wc -l dist/ultrainit.sh
Expected range: 2,000-8,000 lines depending on prompt and schema content. A dramatically smaller bundle (< 1,000 lines) suggests a delimiter collision truncated the output.
# Test --help in an isolated tmpdir
tmpdir=$(mktemp -d)
bash dist/ultrainit.sh --help
rm -rf "$tmpdir"
Self-extraction should emit the usage message without error.
make clean # removes dist/ultrainit.sh
Or keep dist/ultrainit.sh if you need it for manual testing.
bash -n dist/ultrainit.sh # syntax
du -sh dist/ultrainit.sh # size sanity
bash dist/ultrainit.sh --help # self-extraction
Forgetting stdout purity in bundle.sh — any diagnostic output in bundle.sh corrupts the artifact. The bundle is always produced via stdout redirect (bash bundle.sh > dist/ultrainit.sh), so stdout is the output.
Skipping the delimiter conflict check — low probability but high impact. A match produces a silently truncated bundle that passes bash -n on the truncated portion but fails at runtime when trying to source missing content.
Not running make check first — bash -n dist/ultrainit.sh only checks the bundle's wrapper script syntax, not the syntax of embedded files. Catch embedded syntax errors with make check before bundling.