关于 repo-prep
Repo Prep 是用于交互式整理 GitHub 发布前仓库文件的技能,面向维护者和开源项目作者。它会检查现有仓库、征询选择,并依据作者资料生成法律、元数据、社区和合规文件。
主要功能
- 01检查仓库文件与项目元数据
- 02生成许可证及社区文档
- 03创建 GitHub 模板与工作流
- 04引导编写 AI 创作记录
- 05按条件处理欧盟及德国合规
- 06展示差异并验证更改
适用场景
- 01为新仓库准备公开发布
- 02补齐许可证、NOTICE 或 README 内容
- 03记录 AI 辅助工作的创作贡献
- 04评估仓库适用的合规事项
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ glebis/ claude-skills --skill repo-prep安装后在 Claude Code 中输入/repo-prep确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/github/dependabot.ymlpull_request_template.mdassets/github/ISSUE_TEMPLATE/bug_report.mdfeature_request.mdassets/github/workflows/ci-node.ymlci-python.ymlassets/licenses/BSD-3-Clause.txtMIT.txtassets/templates/AUTHORSHIP.mdCHANGELOG.mdCODE_OF_CONDUCT.mdCONTRIBUTING.mdNOTICE.txtprofile.example.tomlSECURITY.mdreferences/authorship-wizard.mdchecklist.mdeu-germany-compliance.mdlicenses.mdscripts/fetch_license.py详细介绍
仓库准备
以统一的方式,从中央作者资料开始,交互式搭建仓库发布前所需的法律、元数据、社区和合规文件,同时尊重作者针对每个仓库的选择。
适用场景
- 为新仓库或现有仓库准备 GitHub 发布或开源。
- 添加缺失的 LICENSE、NOTICE、AUTHORSHIP、README 章节或软件包元数据。
- 为 AI 辅助创作编写有依据的 AUTHORSHIP 记录(向导)。
- 添加社区文档或
.github/模板。 - 检查仓库是否需要遵守 欧盟/德国合规义务。
操作原则
- 交互进行,不做假设。 询问用户的选择(参见下方的提问);尊重作者资料中的
defaults,但要针对每个仓库进行确认。不要不加判断地直接套用模板。 - 幂等。 检测现有内容;跳过或更新,不要悄无声息地覆盖。写入前先展示计划。
- 证据优于断言(尤其是作者身份):从仓库中挖掘事实。
- 确认对外操作(通过
gh执行的任何操作、推送)后再运行。 - 遵循用户的 Git 约定——只有在用户要求时才提交。
提问(访谈方式)
如果已安装 cenno,优先使用它——它能提供更好的面板、进度圆点和语音输入(非常适合需要深入思考的作者身份问题)。
- 每次运行只检测一次 cenno: 使用
ToolSearch查找mcp__cenno__ask_sequence。如果工具可用,就使用 cenno;否则改用AskUserQuestion(选择题)或普通对话提示(自由文本)。 - 使用 cenno 时:
- 多问题流程(作者身份向导、范围选择)→ 使用
mcp__cenno__ask_sequence,并设置flow: "question";它会自动填充进度圆点。 - 单个问题 → 使用
mcp__cenno__ask_user。 - 选择一项时使用
input.kind: "choice"+choices;是/否问题使用"confirm"; 需要深入思考的自由文本(Decisions、Judgment、Direction、Art Direction)使用"voice_text";评分使用"scale"。 - 解析返回的 JSON(
{answers: [...]}/{answer, ...})。处理{answered: false}(超时)时,重试或回退。
- 多问题流程(作者身份向导、范围选择)→ 使用
- 如果用户想用 cenno,但尚未安装,说明可以通过
cenno技能进行设置;不要因此停下——平稳地回退到其他方式。
中央作者资料(唯一事实来源)
身份信息、推广链接(“广告”)和默认值都存放在
~/.config/personal-os/repo-prep/profile.toml 中(可通过 REPO_PREP_PROFILE 覆盖)。
- 首次运行时,如果该文件不存在,就将
assets/templates/profile.example.toml复制到该位置,并引导用户填写(姓名、电子邮件、github、url、推广项目、默认值)。其中已预先填入该作者的信息。 - 每次运行开始时都读取该文件,以解析
{{author}}、{{email}}、{{github}}、推广内容块和默认选项。
工作流
- 检测 — 检查代码仓库:清单/生态系统(
pyproject.toml、package.json、Cargo.toml、go.mod)、现有文件、git remote、默认 分支、是否已在 GitHub 上。阅读作者资料。 - 确定范围 — 通过
AskUserQuestion确认要处理哪些组件(core / community / .github / promo / compliance / gh remote)。根据资料中的defaults预先填好选项。 - 解析占位符 — 按照
references/checklist.md,一次性完成。 - 生成 — 为每个选定的组件使用
assets/templates/和assets/github/创建文件,并填入占位符。使用scripts/fetch_license.py处理 LICENSE。 直接编辑软件包元数据。 - 作者身份 — 如果要处理 AUTHORSHIP.md,请运行向导(见下文),不要只 填写模板。
- 合规性 — 如果用户提出要求,或作者位于欧盟,请运行
references/eu-germany-compliance.md中的门控问题,并仅添加适用内容。 - gh remote(可选)— 确认后创建/配置代码仓库。
- 验证 — 运行测试套件(编辑元数据可能导致构建失败);展示差异;仅在 用户要求时提交。
逐项详细说明、占位符表和生态系统检测:
references/checklist.md(生成前请先阅读)。
作者身份向导
这是一项核心功能。要为 AI 辅助创作生成一份经得起审查的 AUTHORSHIP.md,
请阅读并遵循 references/authorship-wizard.md。它会:
- 先收集外部证据(ADR、git 日志、变更日志、AI 会话日志、
CLAUDE.md/AGENTS.md、设计令牌),并提供草稿供编辑; - 先询问司法管辖区,然后围绕五个部分进行访谈——决策、判断的运用、 目标设定与方向、艺术指导、AI 实现;
- 撰写考虑司法管辖区差异的法律与版权部分(美国的人类作者身份门槛、 欧盟/德国的“自身智力创作”、英国 CGW);
- 始终声明这不是法律建议。
输出模板:assets/templates/AUTHORSHIP.md。
欧盟/德国合规性
references/eu-germany-compliance.md 涵盖 CRA(SBOM、漏洞报告)、《AI 法案》
第 50 条透明度要求、德国 Impressum(DDG)、GDPR、《产品责任指令》和 EAA。
义务视情况而定——请询问门控问题,并且仅添加适用内容。不是法律建议。
资源
assets/licenses/— 内置 MIT、BSD-3-Clause(可离线使用);其他许可证需获取。assets/templates/— AUTHORSHIP、CODE_OF_CONDUCT、CONTRIBUTING、SECURITY、 NOTICE、CHANGELOG、profile.example.toml。assets/github/— PR 和问题模板、dependabot、CI 工作流(python/node)。scripts/fetch_license.py— 为任何 SPDX id 编写一份已填充的 LICENSE。references/—checklist.md、licenses.md、authorship-wizard.md、eu-germany-compliance.md。
评论
支持 Markdown