docs/zh-CN/skills/opensource-pipeline/SKILL.md
开源流水线:fork、清理并打包私有项目以安全公开发布。串联3个代理(fork代理、清理代理、打包代理)。触发词:'/opensource'、'open source this'、'make this public'、'prepare for open source'。
npx skillsauth add affaan-m/everything-claude-code opensource-pipelineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
通过三阶段流水线安全地开源任何项目:分叉(剥离密钥)→ 净化(验证清洁)→ 打包(CLAUDE.md + setup.sh + README)。
/opensource fork、/opensource verify 或 /opensource package| 命令 | 操作 |
|---------|--------|
| /opensource fork PROJECT | 完整流水线:分叉 + 净化 + 打包 |
| /opensource verify PROJECT | 对现有仓库运行净化器 |
| /opensource package PROJECT | 生成 CLAUDE.md + setup.sh + README |
| /opensource list | 显示所有暂存项目 |
| /opensource status PROJECT | 显示暂存项目的报告 |
完整流水线——主要工作流程。
解析项目路径。如果 PROJECT 包含 /,则视为路径(绝对或相对)。否则检查:当前工作目录、$HOME/PROJECT,然后询问用户。
SOURCE_PATH="<resolved absolute path>"
STAGING_PATH="$HOME/opensource-staging/${PROJECT_NAME}"
询问用户:
gh api user -q .login 检测)mkdir -p $HOME/opensource-staging/
生成 opensource-forker 代理:
Agent(
description="将 {PROJECT} 分叉为开源项目",
subagent_type="opensource-forker",
prompt="""
将项目分叉以进行开源发布。
来源:{SOURCE_PATH}
目标:{STAGING_PATH}
许可证:{chosen_license}
遵循完整的分叉协议:
1. 复制文件(排除 .git、node_modules、__pycache__、.venv)
2. 清除所有机密和凭证
3. 将内部引用替换为占位符
4. 生成 .env.example
5. 清理 Git 历史记录
6. 在 {STAGING_PATH}/FORK_REPORT.md 中生成 FORK_REPORT.md
"""
)
等待完成。读取 {STAGING_PATH}/FORK_REPORT.md。
生成 opensource-sanitizer 代理:
Agent(
description="验证 {PROJECT} 的脱敏处理",
subagent_type="opensource-sanitizer",
prompt="""
验证开源分支的脱敏处理。
项目:{STAGING_PATH}
源(供参考):{SOURCE_PATH}
运行所有扫描类别:
1. 密钥扫描(严重)
2. 个人身份信息扫描(严重)
3. 内部引用扫描(严重)
4. 危险文件检查(严重)
5. 配置完整性(警告)
6. Git 历史审计
在 {STAGING_PATH}/ 目录下生成 SANITIZATION_REPORT.md 文件,并给出通过/未通过的判定结果。
"""
)
等待完成。读取 {STAGING_PATH}/SANITIZATION_REPORT.md。
如果失败: 向用户展示发现结果。询问:"修复这些问题并重新扫描,还是中止?"
如果通过或带警告通过: 继续步骤 5。
生成 opensource-packager 代理:
Agent(
description="将项目 {PROJECT} 打包为开源项目",
subagent_type="opensource-packager",
prompt="""
为项目生成开源打包文件。
项目:{STAGING_PATH}
许可证:{chosen_license}
项目名称:{PROJECT_NAME}
描述:{description}
GitHub 仓库:{github_repo}
生成:
1. CLAUDE.md(命令、架构、关键文件)
2. setup.sh(一键引导脚本,设为可执行)
3. README.md(或增强现有文件)
4. LICENSE
5. CONTRIBUTING.md
6. .github/ISSUE_TEMPLATE/(bug_report.md、feature_request.md)
"""
)
向用户展示:
开源分支就绪:{PROJECT_NAME}
位置:{STAGING_PATH}
许可证:{license}
生成的文件:
- CLAUDE.md
- setup.sh(可执行文件)
- README.md
- LICENSE
- CONTRIBUTING.md
- .env.example({N} 个变量)
清理:{sanitization_verdict}
后续步骤:
1. 审查:cd {STAGING_PATH}
2. 创建仓库:gh repo create {github_org}/{github_repo} --public
3. 推送:git remote add origin ... && git push -u origin main
是否继续创建 GitHub 仓库?(是/否/先审查)
cd "{STAGING_PATH}"
gh repo create "{github_org}/{github_repo}" --public --source=. --push --description "{description}"
独立运行净化器。解析路径:如果 PROJECT 包含 /,则视为路径。否则检查 $HOME/opensource-staging/PROJECT,然后 $HOME/PROJECT,最后当前目录。
Agent(
subagent_type="opensource-sanitizer",
prompt="验证以下路径的清理状态:{resolved_path}。运行全部6类扫描,并生成 SANITIZATION_REPORT.md 文件。"
)
独立运行打包器。询问"许可证?"和"描述?",然后:
Agent(
subagent_type="opensource-packager",
prompt="Package: {resolved_path} ..."
)
ls -d $HOME/opensource-staging/*/
显示每个项目及其流水线进度(FORK_REPORT.md、SANITIZATION_REPORT.md、CLAUDE.md 是否存在)。
cat $HOME/opensource-staging/${PROJECT}/SANITIZATION_REPORT.md
cat $HOME/opensource-staging/${PROJECT}/FORK_REPORT.md
$HOME/opensource-staging/
my-project/
FORK_REPORT.md # 来自 forker 代理
SANITIZATION_REPORT.md # 来自 sanitizer 代理
CLAUDE.md # 来自 packager 代理
setup.sh # 来自 packager 代理
README.md # 来自 packager 代理
.env.example # 来自 forker 代理
... # 清理后的项目文件
.env、*.pem 或 credentials.json参见 security-review 了解净化器使用的密钥检测模式。
development
Share durable, inspectable context and handoffs between Claude, Codex, Hermes, Cursor, OpenCode, and other agents through the local ECC Memory Vault. Use when an agent must save work state, transfer context, resume another agent's task, or search shared project knowledge.
development
Use when multiple consumers and providers must evolve an API or event schema without field drift, integration surprises, or one side silently redefining the interface.
tools
Query live GPU inventory, submit an authenticated Itô fixed-rate RFQ, inspect RFQ or procurement status, and run explicitly gated node qualification through the separately installed canonical CLI. Use when a user asks to find H100/H200 capacity, request a fixed compute rate, check Itô compute status, or validate GPU nodes.
data-ai
Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents. v2.1 adds project-scoped instincts to prevent cross-project contamination.