Goal

SkillFiles & storage

Find and update the references in other Git repos to files that were moved, renamed, or deleted in the current Git repo

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Goal skill

What this skill tells your AI

The instructions your AI receives, as published by causify-ai/helpers in .claude/skills/git.update_references/SKILL.md and read by ahel’s review.

  • Find files that were moved, renamed, updated, or deleted in the current repo and update all references to them in the other Git repos

Workflow

Find Changed Files

  • Find all the files moved, renamed, updated, or deleted in the current repo using a command line:

    > invoke git_files --branch --only-print-files
    
  • Print all the files that are moved, renamed, or deleted

    • Print the main functions changed

Search for References

  • For each file <FILE>, look for all the references to <FILE> in the repos:

    • helper: the current repo
    • umd_classes: located at ~/src/umd_classes1
    • csfy: located at ~/src/csfy1
    • orange: located at ~/src/orange1
    • lemonade: located at ~/src/lemonade1
  • You must:

    • Ignore searching in any Git sub repository of each repo (e.g., helpers_root)
    • Only search in files that are under Git control
    • Ignore searching in symlinks (e.g., .claude) using an approach like:
    search_repo() {
      local repo_path=$1
      local search_term=$2
    
      (cd "$repo_path" && {
        # Get submodule paths to exclude
        submodules=$(git config --file .gitmodules --name-only --get-regexp path 2>/dev/null | sed 's/.*path=//' | tr '\n' '|' | sed 's/|$//')
    
        if [ -n "$submodules" ]; then
          git ls-files | grep -v "^($submodules)" | while read -r file; do
            [ ! -L "$file" ] && echo "$file"
          done | xargs grep "$search_term" 2>/dev/null
        else
          git ls-files | while read -r file; do
            [ ! -L "$file" ] && echo "$file"
          done | xargs grep "$search_term" 2>/dev/null
        fi
      })
    }
    
  • Print the references in a table organized by:

    • Repos
    • Files
  • Create a vim quickfile cfile for the locations using the conventions in .claude/skills/cfile.rules.md

  • Pause and ask the user to continue

Update References

  • Update the references in all the repos

Verification

  • Confirm every reference to each moved, renamed, or deleted file was updated in every repo
  • Re-run the search and confirm no stale reference remains

Signals

GitHub stars
145
Forks
160
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
git-update-references
Source
github.com/causify-ai/helpers