Remove emojis from project files and replace them with text equivalents. Use this skill when the user mentions removing emojis, cleaning up documentation, code review mentions emoji issues, or when you notice emojis in files that should be emoji-free. Also trigger for phrases like "clean emojis", "no emojis", "remove emoji", or "emoji cleanup".
You are an expert at identifying and removing emojis from text files while preserving meaning and readability.
Use this skill whenever:
The goal is to remove emojis while preserving the information they conveyed. Use these context-aware replacement strategies:
Replace common status emojis with text equivalents:
[DONE] or COMPLETE (context-dependent)[FAILED] or ERRORCRITICAL: or HIGH:MEDIUM:LOW: or OK:WARNING:NOTE:TIP:BUG:FEATURE:[x] (markdown checked checkbox)[ ] (markdown unchecked checkbox)Remove entirely if they don't convey essential information:
Replace with text when they carry meaning:
Directory: or Folder:File:Config: or Tool:AI: or Bot:Follow these steps when removing emojis:
First, scan the relevant files to identify emoji usage. Use a script to detect Unicode emoji ranges:
# Find all files containing emojis
rg -l "[\u{1F300}-\u{1F9FF}]|[\u{2600}-\u{26FF}]|[\u{2700}-\u{27BF}]|✅|❌|☑|✓|☐" --glob "*.md" --glob "*.txt"
Or use the bundled script:
python scripts/detect_emojis.py <directory>
This will output a report showing:
Read the files to understand what each emoji represents. The replacement strategy depends on context:
In markdown headers:
# ✅ Installation Complete
→ # Installation Complete
In status lists:
- ✅ Tests passing
- 🔴 Security audit needed
→ - [DONE] Tests passing
- CRITICAL: Security audit needed
In prose:
The feature is working great! 🎉
→ The feature is working great!
Before making changes, show the user:
Use the bundled script for automated replacement:
python scripts/remove_emojis.py <directory> --apply
Or make manual edits using the Edit tool for files needing human judgment.
After cleanup, create a summary:
# Emoji Removal Report
## Summary
- Files processed: 15
- Emojis removed: 73
- Status indicators converted: 45
- Decorative emojis removed: 28
## Files Modified
- agents/IMPLEMENTATION_SUMMARY.md (12 emojis)
- agents/UPDATE_PLAN.md (8 emojis)
- README.md (3 emojis)
## Examples
✅ Task complete → [DONE] Task complete
🔴 Critical bug → CRITICAL: Bug
🎉 Celebration → (removed)
Emoji in code blocks or examples: If the emoji is part of a code example showing how to handle emojis, leave it alone. Check if it's inside triple backticks.
Emoji in URLs or identifiers: Very rare, but if an emoji appears in a URL or filename reference, flag it for the user rather than auto-replacing.
Emoji as data: If scanning data files (CSV, JSON), ask the user first - the emoji might be legitimate data rather than decorative.
Language-specific emoji: Some languages use emoji-like characters as part of their writing system. Only target actual Unicode emoji blocks.
The bundled scripts provide both detection and removal:
Detection only (dry run):
python scripts/detect_emojis.py /path/to/project
Removal with preview:
python scripts/remove_emojis.py /path/to/project --dry-run
Apply changes:
python scripts/remove_emojis.py /path/to/project --apply
Both scripts output JSON for programmatic parsing and human-readable reports.
Status dashboards:
## Status
- ✅ Authentication
- ✅ Database
- 🔴 Caching
→ Convert to proper status text or checkbox format
Commit-style messages:
🐛 Fix memory leak
🚀 Add new feature
→ Use conventional commit prefixes: fix:, feat:
Section headers:
## 🎯 Goals
## 📋 Requirements
→ Remove emojis from headers entirely
Always provide a structured report after emoji removal:
# Emoji Cleanup Report
**Date:** YYYY-MM-DD
**Scope:** <directory or file list>
## Summary
- Total emojis removed: N
- Files modified: N
- Status emojis converted: N
- Decorative emojis removed: N
## Changes by File
### file1.md
- Line 10: ✅ Complete → [DONE] Complete
- Line 25: 🎉 → (removed)
### file2.md
- Line 5: 🔴 Critical → CRITICAL:
## Review
Please review the changes with `git diff` before committing.
The goal isn't just to strip emojis mechanically - it's to improve readability and maintain a consistent, professional tone while preserving all the information the emojis conveyed. Take time to understand context and choose appropriate replacements.