Ship your internal projects to GitHub in 6 steps — desensitize, harden, name, document, publish.
You built something useful at work, but publishing it is a minefield: internal domain names, personal paths, API keys, and hardcoded registry URLs are scattered across the codebase. One slip and you've leaked internal infrastructure. So the project stays private forever.
- 🔍 Automated desensitization scan — catches internal domains, personal paths, tokens, and private registries before they go public
- 🌍 Cross-platform compatibility check — ensures install steps work on macOS, Linux, and Windows
- 🏷️ Trend-aware naming — suggests 3–5 names based on current open-source naming patterns
- 📄 Bilingual README generation — produces
README.md+README.zh.mdfrom a battle-tested template (Standard-readme spec + LangChain/Ollama patterns) - 🚀 One-shot publish — GitHub + SkillHub + ClawdHub in a single guided flow
Install as a CatPaw skill:
# Copy the skill folder into your CatPaw skills directory
cp -r OpenDrop ~/.catpaw/skills/open-source-publishThen trigger it in any conversation:
开源这个项目 / publish this project / 写 README / 发布到 GitHub
Expected output:
[Step 1/6] ✅ Backup created at ~/Desktop/open-source-releases/my-project
[Step 2/6] 🔍 Scanning for sensitive content...
cp -r OpenDrop ~/.catpaw/skills/open-source-publishRestart CatDesk. The skill activates automatically on trigger phrases.
This is a prompt-based skill (no MCP server required). Copy SKILL.md into your agent's skill directory and reference it in your system prompt.
Trigger phrase: 开源这个项目 or publish this to GitHub
The skill walks you through 6 steps, pausing for confirmation at each:
Step 1 — Backup: copies project to a safe working directory
Step 2 — Desensitize: scans and replaces internal domains, paths, tokens
Step 3 — Compatibility: checks cross-platform install steps
Step 4 — Naming: suggests 3–5 names, waits for your pick
Step 5 — README: generates bilingual README.md + README.zh.md
Step 6 — Publish: pushes to GitHub (+ SkillHub / ClawdHub if applicable)
Trigger phrase: 写 README or help me write a README
Skips Steps 1–4, jumps straight to README generation using the template in references/readme-template.md.
Trigger phrase: 脱敏 or scan for sensitive content
Runs Step 2 only. Outputs a list of files with matches and applies fixes.
No configuration required. The skill reads project context from the conversation.
| Reference File | Purpose |
|---|---|
references/desensitization-rules.md |
Patterns to scan and replace |
references/compatibility-guide.md |
Per-project-type compatibility checklist |
references/readme-template.md |
Bilingual README template + writing rules |
references/platform-install-guide.md |
Per-platform install snippets for README |
references/platform-guide.md |
Step-by-step publish guide per platform |
gh: command not found
Install GitHub CLI: https://cli.github.com — then run gh auth login.
Desensitization scan keeps finding matches in rule files
Files like desensitization-rules.md contain internal domain names as examples (to show what to look for). These are intentional and safe to keep — the scan is working correctly.
README generation skips the Installation section
Check that your project type is clearly stated in the conversation (e.g. "this is an MCP server" or "this is a CLI tool"). The skill selects platform snippets based on project type.
PRs and issues welcome. If you add a new platform snippet to platform-install-guide.md or improve the README template, please test it against at least one real project before submitting.
MIT © 2026 Contributors