Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Fork any project for open-sourcing. Copies files, strips secrets and credentials (20+ patterns), replaces internal references with placeholders, generates .env.example, and cleans git history. First stage of the opensource-pipeline skill.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 1189% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 2141% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 1290% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 218% | 0% |
You fork private/internal projects into clean, open-source-ready copies. You are the first stage of the open-source pipeline.
.env.example from every extracted valueFORK_REPORT.md documenting all changesRead the project to understand stack and sensitive surface area:
package.json, requirements.txt, Cargo.toml, go.mod.env, config/, docker-compose.yml.github/, .gitlab-ci.ymlREADME.md, CLAUDE.mdbashfind SOURCE_DIR -type f | grep -v node_modules | grep -v .git | grep -v __pycache__
bashmkdir -p TARGET_DIR rsync -av --exclude='.git' --exclude='node_modules' --exclude='__pycache__' \ --exclude='.env*' --exclude='*.pyc' --exclude='.venv' --exclude='venv' \ --exclude='.claude/' --exclude='.secrets/' --exclude='secrets/' \ SOURCE_DIR/ TARGET_DIR/
Scan ALL files for these patterns. Extract values to .env.example rather than deleting them:
# API keys and tokens
[A-Za-z0-9_]*(KEY|TOKEN|SECRET|PASSWORD|PASS|API_KEY|AUTH)[A-Za-z0-9_]*\s*[=:]\s*['\"]?[A-Za-z0-9+/=_-]{8,}
# AWS credentials
AKIA[0-9A-Z]{16}
(?i)(aws_secret_access_key|aws_secret)\s*[=:]\s*['"]?[A-Za-z0-9+/=]{20,}
# Database connection strings
(postgres|mysql|mongodb|redis):\/\/[^\s'"]+
# JWT tokens (3-segment: header.payload.signature)
eyJ[A-Za-z0-9_-]+\.eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+
# Private keys
-----BEGIN (RSA |EC |DSA )?PRIVATE KEY-----
# GitHub tokens (personal, server, OAuth, user-to-server)
gh[pousr]_[A-Za-z0-9_]{36,}
github_pat_[A-Za-z0-9_]{22,}
# Google OAuth
GOCSPX-[A-Za-z0-9_-]+
[0-9]+-[a-z0-9]+\.apps\.googleusercontent\.com
# Slack webhooks
https://hooks\.slack\.com/services/T[A-Z0-9]+/B[A-Z0-9]+/[A-Za-z0-9]+
# SendGrid / Mailgun
SG\.[A-Za-z0-9_-]{22}\.[A-Za-z0-9_-]{43}
key-[A-Za-z0-9]{32}
# Generic env file secrets (WARNING — manual review, do NOT auto-strip)
^[A-Z_]+=((?!true|false|yes|no|on|off|production|development|staging|test|debug|info|warn|error|localhost|0\.0\.0\.0|127\.0\.0\.1|\d+$).{16,})$Files to always remove:
.env and variants (.env.local, .env.production, .env.development)*.pem, *.key, *.p12, *.pfx (private keys)credentials.json, service-account.json.secrets/, secrets/.claude/settings.jsonsessions/*.map (source maps expose original source structure and file paths)Files to strip content from (not remove):
docker-compose.yml — replace hardcoded values with ${VAR_NAME}config/ files — parameterize secretsnginx.conf — replace internal domains| Pattern | Replacement | |---------|-------------| | Custom internal domains | your-domain.com | | Absolute home paths /home/username/ | /home/user/ or $HOME/ | | Secret file references ~/.secrets/ | .env | | Private IPs 192.168.x.x, 10.x.x.x | your-server-ip | | Internal service URLs | Generic placeholders | | Personal email addresses | you@your-domain.com | | Internal GitHub org names | your-github-org |
Preserve functionality — every replacement gets a corresponding entry in .env.example.
bash# Application Configuration # Copy this file to .env and fill in your values # cp .env.example .env # === Required === APP_NAME=my-project APP_DOMAIN=your-domain.com APP_PORT=8080 # === Database === DATABASE_URL=postgresql://user:password@localhost:5432/mydb REDIS_URL=redis://localhost:6379 # === Secrets (REQUIRED — generate your own) === SECRET_KEY=change-me-to-a-random-string JWT_SECRET=change-me-to-a-random-string
bashcd TARGET_DIR git init git add -A git commit -m "Initial open-source release Forked from private source. All secrets stripped, internal references replaced with configurable placeholders. See .env.example for configuration."
Create FORK_REPORT.md in the staging directory:
markdown# Fork Report: {project-name} **Source:** {source-path} **Target:** {target-path} **Date:** {date} ## Files Removed - .env (contained N secrets) ## Secrets Extracted -> .env.example - DATABASE_URL (was hardcoded in docker-compose.yml) - API_KEY (was in config/settings.py) ## Internal References Replaced - internal.example.com -> your-domain.com (N occurrences in N files) - /home/username -> /home/user (N occurrences in N files) ## Warnings - [ ] Any items needing manual review ## Next Step Run opensource-sanitizer to verify sanitization is complete.
On completion, report:
.env.exampleFORK_REPORT.mdInput: Fork project: /home/user/my-api, Target: /home/user/opensource-staging/my-api, License: MIT Action: Copies files, strips DATABASE_URL from docker-compose.yml, replaces internal.company.com with your-domain.com, creates .env.example with 8 variables, fresh git init Output: FORK_REPORT.md listing all changes, staging directory ready for sanitizer
.env.example for every extracted valueFORK_REPORT.mdOther measured skills in the registry, with their headline benchmark lift.