一键导入
odin-format
Re-format a .odin file or ```odin``` blocks inside a Markdown file via odinfmt (with the 2-space config). Use after creating or modifying Odin code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Re-format a .odin file or ```odin``` blocks inside a Markdown file via odinfmt (with the 2-space config). Use after creating or modifying Odin code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Search the OdinRAG KB (odin-knowledge-base + docs/ + code/) by topic, frontmatter, keyword, or module. Returns precise file paths with context (module, duration, source).
Run the public-safety audit before pushing to github.com/LaurentOngaro/OdinRAG. Verifies the public branch contains no leaked personal content (private planning, paywalled scraped KB, secrets). Use when the user says 'push', 'publish', 'release', 'audit', 'public safety', 'leak check', or any pre-push workflow.
Distills all markdown style rules (project + personal) into one place. Use BEFORE creating or editing any .md file. Post-write: run reflow_md.py --quiet --check and lint fixes before considering the task done. Enforced by AGENTS.md § Markdown prose.
Run a scraper (_Helpers/scripts/scrapers/scrape_*.py) with the right flags. Covers scrape_skool (Skool programvideogames), scrape_official (odin-lang.org), scrape_zylinski (zylinski.se), scrape_gingerbill.py, scrape_newsletters.py, scrape_jakubtomsu.py, scrape_showcase.py, download_gists.py, download_odin_examples.py. All re-entrant.
Audit that every README*.md in the repo accurately reflects its host directory (no 404 [[wikilinks]], no missing files in 'Files produced' sections, aspirational READMEs marked with 'Structure cible' / 'Awaiting content'). Use when the user says 'audit readme', 'check structure', 'wikilinks', 'coherence', 'missing files in README', or after adding/renaming files under any folder that has a README.
Find a precise Odin pattern (state machine, allocator, hot reload, etc.) by cross-referencing the Skool KB + Karl's book + Zylinski articles. Returns at most 2-4 files, ordered by relevance, with code excerpts.
| name | odin-format |
| description | Re-format a .odin file or ```odin``` blocks inside a Markdown file via odinfmt (with the 2-space config). Use after creating or modifying Odin code. |
Skill for calling odinfmt (the official Odin formatter) on a .odin file or on the odin ... blocks of a Markdown file.
.odin file or in a .md file.# Dry-run (check what would be modified)
python _Helpers/scripts/fixes/format_odin_in_files.py --file path/to/foo.odin --check
# Apply
python _Helpers/scripts/fixes/format_odin_in_files.py --file path/to/foo.odin
# For a .md (only formats the ```odin blocks, not the rest)
python _Helpers/scripts/fixes/format_odin_in_files.py --file path/to/foo.md
# Whole KB (recursively re-format all .md and .odin)
python _Helpers/scripts/fixes/format_odin_in_files.py --path odin-knowledge-base --check
python _Helpers/scripts/fixes/format_odin_in_files.py --path odin-knowledge-base
The scrapers (scrape_skool.py, scrape-official.py, scrape-zylinski.py) already call format_path_if_odin() after every write. No need to re-run manually after a scrape.
Formatting uses odinfmt.json (at the repo root).
To change the style, edit odinfmt.json (NOT the system-wide config bundled with OLS).
odinfmt.exe must exist somewhere on disk. Set its absolute path in the ODINFMT_EXE constant in _Helpers/scripts/fixes/odin_format.py (or expose it via an environment variable).If odinfmt returns exit=1, it is likely a syntax error in the Odin source. Read the error message (first line), fix the code, retry.
$ python _Helpers/scripts/fixes/format_odin_in_files.py --file foo.odin
[ERR] odinfmt exit=1 : foo.odin(12:5) Expected ';', got '}'
-> fix line 12 of foo.odin and re-run.
odinfmt.json shipped with OLS to revert to tabs. The repo standard is 2 spaces, configurable via odinfmt.json at the root (see AGENTS.md).