commit e242a1e0cad3c3fdaf3ce21154db70afbbf45364 (tree)
parent f90638c7ab40c13cb617eaf2dd5f10708672d898
Author: Motiejus Jakštys <motiejus@jakstys.lt>
Date: Fri, 13 Feb 2026 11:37:57 +0200
update skill
Diffstat:
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/.claude/skills/port-astgen/SKILL.md b/.claude/skills/port-astgen/SKILL.md
@@ -107,10 +107,16 @@ Go back to Step 1.
## Rules
-- **Mechanical copy only.** Do not invent new approaches. If the
- upstream does X, do X in C.
+- **Mechanical copy only.** Do not invent new approaches. If the upstream does
+ X, do X in C.
- **Never remove zig-cache.**
- **Never print to stdout/stderr in committed code.** Debug prints are
temporary only.
- **Functions must appear in the same order as in the upstream Zig file.**
- **Commit after every iteration**, even partial positive progress.
+- **Prefer finding systematic differences for catching bugs** instead of
+ debugging and hunting for them. Zig code is bug-free for the purposes of
+ porting. When test cases fail, it means the C implementation differs from the
+ Zig one, which is the source of the bug. So standard "bug hunting" methods no
+ longer apply -- making implementations consistent is a much better approach
+ in all ways.