
Repomix Safe Mixer
FreeSecurely package your codebases by removing hardcoded secrets.
Free Β· Opens the source repo
What Repomix Safe Mixer does
Repomix Safe Mixer is a tool designed to enhance the security of your code packaging process by automatically detecting and removing hardcoded credentials before distribution. This skill is particularly useful for developers and teams who frequently share their codebases, ensuring that sensitive information such as API keys, database credentials, and tokens do not inadvertently get exposed. By integrating this skill with repomix, users can confidently package their projects without the risk of leaking critical secrets.
The core functionality of the Repomix Safe Mixer revolves around its scanning capabilities. When you invoke the safe_pack.py script, it performs a thorough scan of the specified directory to identify any hardcoded secrets. If any are found, the packaging process is halted, allowing developers to address the issues before proceeding. This proactive approach not only helps in maintaining security but also educates users on the importance of managing credentials properly. The skill also provides detailed reports on the findings, including the exact file and line number where the secrets were detected, facilitating quick remediation.
In addition to its primary packaging function, the skill offers a standalone secret scanning feature through scan_secrets.py. This allows users to verify their code for hardcoded credentials at any point, making it an excellent tool for pre-commit checks or auditing existing codebases. The scanner is capable of detecting a wide range of credential patterns, including those from popular cloud providers and various authentication methods. Users can also customize their scanning process by excluding certain patterns or generating output in different formats, enhancing its flexibility for various workflows.
Overall, Repomix Safe Mixer is an essential tool for developers who prioritize security in their coding practices. By automating the detection and removal of hardcoded secrets, it minimizes the risk of credential exposure and promotes safer coding habits within teams.
When to use it
Use this skill when packaging code with repomix, creating shareable reference packages, or addressing security concerns related to hardcoded credentials.
When not to use it
This skill may not be suitable for projects where hardcoded credentials are intentionally included for testing or demonstration purposes, or when working in environments where security is not a concern.
What you can build with it
Securely Package a Project
Use the skill to scan and package your project with repomix, ensuring no hardcoded secrets are present.
Pre-Commit Security Check
Run the standalone scanner to verify that no secrets are included in your code before committing changes.
Audit Existing Codebases
Utilize the scanning feature to audit older projects for hardcoded credentials and enhance security.
How to install Repomix Safe Mixer
View source1. Install with the skills CLI
npx skills add daymade/claude-code-skills/repomix-safe-mixer --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by daymadeRepomix Safe Mixer
Overview
Safely package codebases with repomix by automatically detecting and removing hardcoded credentials.
This skill prevents accidental credential exposure when packaging code with repomix. It scans for hardcoded secrets (API keys, database credentials, tokens), reports findings, and ensures safe packaging.
When to use: When packaging code with repomix for distribution, creating shareable reference packages, or whenever security concerns exist about hardcoded credentials in code.
Core Workflow
Standard Safe Packaging
Use safe_pack.py from this skill's scripts/ directory for the complete workflow: scan β report β pack.
python3 scripts/safe_pack.py <directory>
What it does:
- Scans directory for hardcoded credentials
- Reports findings with file/line details
- Blocks packaging if secrets found
- Packs with repomix only if scan is clean
Example:
python3 scripts/safe_pack.py ./my-project
Output if clean:
π Scanning ./my-project for hardcoded secrets...
β
No secrets detected!
π¦ Packing ./my-project with repomix...
β
Packaging complete!
Package is safe to distribute.
Output if secrets found:
π Scanning ./my-project for hardcoded secrets...
β οΈ Security Scan Found 3 Potential Secrets:
π΄ supabase_url: 1 instance(s)
- src/client.ts:5
Match: https://your-project-ref.supabase.co
β Cannot pack: Secrets detected!
Options
Custom output file:
python3 scripts/safe_pack.py \
./my-project \
--output package.xml
With repomix config:
python3 scripts/safe_pack.py \
./my-project \
--config repomix.config.json
Exclude patterns from scanning:
python3 scripts/safe_pack.py \
./my-project \
--exclude '.*test.*' '.*\.example'
Force pack (dangerous, skip scan):
python3 scripts/safe_pack.py \
./my-project \
--force # β οΈ NOT RECOMMENDED
Standalone Secret Scanning
Use scan_secrets.py from this skill's scripts/ directory for scanning only (without packing).
python3 scripts/scan_secrets.py <directory>
Use cases:
- Verify cleanup after removing credentials
- Pre-commit security checks
- Audit existing codebases
Example:
python3 scripts/scan_secrets.py ./my-project
JSON output for programmatic use:
python3 scripts/scan_secrets.py \
./my-project \
--json
Exclude patterns:
python3 scripts/scan_secrets.py \
./my-project \
--exclude '.*test.*' '.*example.*' '.*SECURITY_AUDIT\.md'
Detected Secret Types
The scanner detects common credential patterns including:
Cloud Providers:
- AWS Access Keys (
AKIA...) - Cloudflare R2 Account IDs and Access Keys
- Supabase Project URLs and Anon Keys
API Keys:
- Stripe Keys (
sk_live_...,pk_live_...) - OpenAI API Keys (
sk-...) - Google Gemini API Keys (
AIza...) - Generic API Keys
Authentication:
- JWT Tokens (
eyJ...) - OAuth Client Secrets
- Private Keys (
-----BEGIN PRIVATE KEY-----) - Turnstile Keys (
0x...)
See references/common_secrets.md for complete list and patterns.
Handling Detected Secrets
When secrets are found:
Step 1: Review Findings
Examine each finding to verify it's a real credential (not a placeholder or example).
Step 2: Replace with Environment Variables
Before:
const SUPABASE_URL = "https://your-project-ref.supabase.co";
const API_KEY = "<hardcoded-anon-key-DO-NOT-COMMIT>";
After:
const SUPABASE_URL = import.meta.env.VITE_SUPABASE_URL || "https://your-project-ref.supabase.co";
const API_KEY = import.meta.env.VITE_API_KEY || "your-api-key-here";
// Validation
if (!import.meta.env.VITE_SUPABASE_URL) {
console.error("β οΈ Missing VITE_SUPABASE_URL environment variable");
}
Step 3: Create .env.example
# Example environment variables
VITE_SUPABASE_URL=https://your-project-ref.supabase.co
VITE_API_KEY=your-api-key-here
# Instructions:
# 1. Copy this file to .env
# 2. Replace placeholders with real values
# 3. Never commit .env to version control
Step 4: Verify Cleanup
Run scanner again to confirm secrets removed:
python3 scripts/scan_secrets.py ./my-project
Step 5: Safe Pack
Once clean, package safely:
python3 scripts/safe_pack.py ./my-project
Post-Exposure Actions
If credentials were already exposed (e.g., committed to git, shared publicly):
- Rotate credentials immediately - Generate new keys/tokens
- Revoke old credentials - Disable compromised credentials
- Audit usage - Check logs for unauthorized access
- Monitor - Set up alerts for unusual activity
- Update deployment - Deploy code with new credentials
- Document incident - Record what was exposed and actions taken
Common False Positives
The scanner skips common false positives:
Placeholders:
your-api-key,example-key,placeholder-value<YOUR_API_KEY>,${API_KEY},TODO: add key
Test/Example files:
- Files matching
.*test.*,.*example.*,.*sample.*
Comments:
- Lines starting with
//,#,/*,*
Environment variable references (correct usage):
process.env.API_KEYimport.meta.env.VITE_API_KEYDeno.env.get('API_KEY')
Use --exclude to skip additional patterns if needed.
Integration with Repomix
This skill works with standard repomix:
Default usage (no config):
python3 scripts/safe_pack.py ./project
With repomix config:
python3 scripts/safe_pack.py \
./project \
--config repomix.config.json
Custom output location:
python3 scripts/safe_pack.py \
./project \
--output ~/Downloads/package-clean.xml
The skill runs repomix internally after security validation, passing through config and output options.
Example Workflows
Workflow 1: Package a Clean Project
# Scan and pack in one command
python3 scripts/safe_pack.py \
~/workspace/my-project \
--output ~/Downloads/my-project-package.xml
Workflow 2: Clean and Package a Project with Secrets
# Step 1: Scan to discover secrets
python3 scripts/scan_secrets.py ~/workspace/my-project
# Step 2: Review findings and replace credentials with env vars
# (Edit files manually or with automation)
# Step 3: Verify cleanup
python3 scripts/scan_secrets.py ~/workspace/my-project
# Step 4: Package safely
python3 scripts/safe_pack.py \
~/workspace/my-project \
--output ~/Downloads/my-project-clean.xml
Workflow 3: Audit Before Commit
# Pre-commit hook: scan for secrets
python3 scripts/scan_secrets.py . --json
# Exit code 1 if secrets found (blocks commit)
# Exit code 0 if clean (allows commit)
Resources
References:
references/common_secrets.md- Complete credential pattern catalog
Scripts:
scripts/scan_secrets.py- Standalone security scannerscripts/safe_pack.py- Complete scan β pack workflow
Related Skills:
repomix-unmixer- Extracts files from repomix packagesskill-creator- Creates new Claude Code skills
Security Note
This skill detects common patterns but may not catch all credential types. Always:
- Review findings manually
- Rotate exposed credentials
- Use .env.example templates
- Validate environment variables
- Monitor for unauthorized access
Not a replacement for: Secret scanning in CI/CD, git history scanning, or comprehensive security audits.
Frequently asked questions about Repomix Safe Mixer
Similar skills
Secret Scanning
Protect your code by preventing secret leaks.
MCP Security Audit
Ensure your MCP configurations are secure and compliant.
iMessage Access Management
Control access to your iMessage channel securely.
Implementing Secret Scanning with Gitleaks
Automate detection of hardcoded secrets in git repositories.
Secrets Vault Manager
Manage and secure your secret infrastructure efficiently.
AWS Secrets Manager
Safely manage secrets without exposing plaintext values.
