Repository navigation
DEV-1181: spell out reflect's safe symlink-to-copy steps - #3
Merged
Merged
Conversation
Review follow-up to #2. reflect now gives the exact procedure for replacing an installed skill symlink with a copy (readlink -f, copy to a temp folder, rm the link with no trailing slash, mv, test ! -L), covers project folders with no symlink and keeps them out of commits, and tells the user the copy is detached from git pull and how to restore it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tomaas
added a commit
that referenced
this pull request
Oct 24, 2026
Second review follow-up to #3. The copy steps take a <dest> placeholder for the global or project path, cover a project that has no copy yet (copy from the global link and keep it), use mktemp -d instead of a fixed temp path, refuse to mv onto an existing path, and verify test -d, test ! -L and SKILL.md before editing. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #2 for DEV-1181. Fixes the blind review's two should-fix items in
skills/reflect/SKILL.md. Nothing else changes.Changes
readlink -fto find the real folder, copy its contents into a temp folder,rmthe link with no-rand no trailing slash,mvthe copy into place, andtest ! -Lbefore editing. The section warns thatrm -ron the path with a trailing slash deletes files inside the shared checkout, and that plaincp -rcopies the link. A project's.agents/skills/<skill>may be a plain folder (nothing to replace), and a copy there lives in the user's repo and must not be committed by accident.git pull(install.shprintsskip <skill>), and that deleting the copy and rerunninginstall.shrestores it. "Blocks the next pull" now says the actual harm: the edit gets mixed into the shared checkout.Verification
./scripts/check-skill-names.shprintsok: 55 skill names match their folders.install.shprintedskip foo (exists and is not a symlink).$tokens, so Claude Code's skill text substitution can't rewrite it. The definition-of-done grep finds no Cursor terms.🤖 Generated with Claude Code