reference-cleaner

Remove blocklisted terms from git history and source files using git-filter-repo.

Updated Feb 22, 2026
One-click install
npx skills add https://github.com/rahulrajaram/rahulskills --skill reference-cleaner
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: reference-cleaner
Source: https://github.com/rahulrajaram/rahulskills/tree/main/skills/reference-cleaner
Command: npx skills add https://github.com/rahulrajaram/rahulskills --skill reference-cleaner

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill removes sensitive or outdated terms from your project's source files, commit messages, and git history, ensuring a clean state before sharing or publishing.

Core Features & Use Cases

  • Source File Cleaning: Edits or deletes files containing blocklisted terms.
  • Commit Message Rewriting: Modifies historical commit messages to remove unwanted references.
  • History Purging: Removes files entirely from git history using git-filter-repo.
  • Use Case: You need to open-source a project that previously referenced an internal codename. This skill will scrub all instances of that codename from the codebase and its history.

Quick Start

Run /reference-cleaner to remove the terms 'old-project-name' and 'internal-tool-v1' from the repository.

Frequently Asked Questions about reference-cleaner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I remove sensitive data from git history before open-sourcing a project?

Removing sensitive data from git history involves purging blocklisted terms from source files and rewriting commit messages. This skill uses git-filter-repo and custom scripts to scrub the repository, requiring careful approval and verification to ensure data integrity.

What is the best way to sanitize a codebase after a project rebrand?

Sanitizing a codebase after a rebrand requires replacing outdated codenames across source files and commit history. This process edits files containing blocklisted terms and rewrites historical commit messages to ensure no unwanted references remain in the repository.

Can I rewrite commit messages to delete specific terms from past git history?

Yes, you can rewrite commit messages to delete specific terms from past git history. The skill modifies historical commit messages to remove unwanted references, ensuring a clean state before sharing or publishing.

Does git-filter-repo completely remove files from git history?

Yes, git-filter-repo removes files entirely from git history. This skill leverages it for history purging, addressing scenarios like the removal of sensitive data or sanitization for open-sourcing.

What precautions are needed when scrubbing blocklisted terms from source files?

Scrubbing blocklisted terms from source files requires careful user approval and verification steps to ensure data integrity. Because rewriting git history is destructive, verifying the repository state before and after cleaning is essential.

Why should I sanitize git history instead of just deleting files in the current commit?

Sanitizing git history removes sensitive terms from past commits, whereas deleting files in a current commit leaves them accessible in historical records. Purging files entirely from history using git-filter-repo ensures the repository is clean for open-sourcing.