commit: resolve squash targets right before squashing
Assisted-by: Claude Opus 5.5 via Claude Code
change sstynzwvpmquusrntpxuxmvsxsxnyvow
commit ec2298e33e2904fee801a04a6809b2cc1d126075
author Alpha Chen <alpha@kejadlen.dev>
date
parent vznywvpp
diff --git a/ai/skills/commit/SKILL.md b/ai/skills/commit/SKILL.md
index 4d4dda72..87e43f27 100644
--- a/ai/skills/commit/SKILL.md
+++ b/ai/skills/commit/SKILL.md
@@ -54,6 +54,11 @@ When squashing, pass a fileset: `jj squash --into @- <paths>`. A bare
 `jj squash` moves *every* pending change into the parent, including
 files another agent or a hook left in the working copy.
 
+Resolve `--into` targets against the repo as it is *now*, never from an
+earlier command's output — with concurrent writers, `@-` can change
+between commands, and a stale `@-` squashes into whatever is parent now
+(a megamerge, someone's WIP). Run `jj log -r @-` immediately before.
+
 ### Fileset (optional)
 
 An empty `<fileset>` commits all pending changes.