关于 shunk031-github-cgd-identity
shunk031-github-cgd-identity 是一项技能,规定在 creative-graphic-design 组织仓库中以指定机器人账户执行 Git 和 GitHub 写操作,并在变更前检查身份、凭据、权限与适用范围。
主要功能
- 01组织写操作使用机器人身份
- 02验证仓库与写入权限
- 03按命令使用令牌
- 04提交归属机器人账户
- 05明确适用范围与审批边界
适用场景
- 01在组织仓库创建拉取请求
- 02使用机器人凭据推送变更
- 03发布问题或拉取请求更新
- 04身份检查失败时停止写操作
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ shunk031/ skills --skill shunk031-github-cgd-identity安装后在 Claude Code 中输入/shunk031-github-cgd-identity确认已加载。
详细介绍
说明
阅读完此
SKILL.md后,请说:🎨 I read shunk031-github-cgd-identity.
CGD 开发身份
概述
以 creative-graphic-design-dev 机器用户(用户 ID 176740601)的身份,对 creative-graphic-design 组织仓库执行 git 和 gh 写入操作,而不是使用个人账户。由机器人创建的 PR 可供人类账户正式审查和批准。由于 GitHub 不允许用户批准自己的 PR,因此使用个人账户创建 PR 会导致审查流程无法正常进行。
设置
开始写入操作前,请在当前工作 shell 和工作树中执行以下检查。请将其作为启动流程,而不是等到失败后才进行调查。
-
对于仓库写入操作,请确认
git remote get-url origin指向github.com/creative-graphic-design。如果不是,则此技能不适用;请使用常规 git 身份和身份验证。新机器的
setup-gh-cgd引导流程除外。 -
确保 GitHub CLI 的系统凭据存储中有机器人账户。在新机器上,运行一次交互式设置命令,并在浏览器中以
creative-graphic-design-dev身份完成身份验证:setup-gh-cgdAgent 工作期间请勿使用
gh auth switch。它会更改整个主机的活动账户,并可能与并发会话发生竞争。 -
按账户名称获取已存储的机器人令牌,并且仅将其传递给使用 gh 或 git 凭据的各个写入命令:
GH_TOKEN="$(gh auth token --hostname github.com --user creative-graphic-design-dev)" gh pr create ... GH_TOKEN="$(gh auth token --hostname github.com --user creative-graphic-design-dev)" git push请勿将令牌导出到持久 shell 中,也不要打印令牌。每条命令前添加前缀可明确指定账户,并避免更改 GitHub CLI 的全局活动账户。
-
验证 GitHub 身份以及对组织仓库的推送权限。
gh api user只能确认已登录的账户,无法验证对组织资源的访问权限:GH_TOKEN="$(gh auth token --hostname github.com --user creative-graphic-design-dev)" gh api user --jq .login GH_TOKEN="$(gh auth token --hostname github.com --user creative-graphic-design-dev)" gh api repos/creative-graphic-design/<repo> --jq .permissions.push只有在第一条命令返回
creative-graphic-design-dev且第二条命令返回true时,才能开始写入操作。 -
为每条提交命令将提交作者设为机器人:
git -c user.name=creative-graphic-design-dev \ -c user.email=176740601+creative-graphic-design-dev@users.noreply.github.com \ commit ...在关联工作树中请勿使用
git config user.name/email:它会写入共享的.git/config,同时更改主检出目录及并发工作树的作者身份。 -
通过 HTTPS 推送,因为在此环境中 SSH 不会使用代理。请设置明确的推送 URL:
git remote set-url --push origin https://github.com/creative-graphic-design/<repo>
GH_TOKEN 在同一命令环境中同时适用于 gh 和 git 凭据助手。凭据助手会以用户名 x-access-token 返回令牌。
适用范围
- 此技能仅适用于 github.com 上 creative-graphic-design 组织的仓库。对于其他主机、组织或个人仓库,请勿使用已存储的机器人凭据或机器人提交身份;请在这些位置使用常规身份验证和常规 git 身份。
- 将编码 Agent 对 creative-graphic-design 组织仓库的所有写入操作归属为机器人操作。这包括提交、推送、创建和更新 PR、回复 PR、评论 issue、添加标签、设置里程碑,以及执行用户要求的合并。
- 如果任何设置验证失败,请完全放弃使用机器人身份:不得部分应用,例如在凭据检查失败时仍将机器人设为提交作者,或通过其他账户推送。请停止并报告。
- 人类(
shunk031)仅在 GitHub UI 中保留 PR 批准权限和合并决定权。请勿以机器人身份批准 PR。
故障排除
- 如果
gh auth token --user creative-graphic-design-dev失败,或已存储的凭据被拒绝,请使用gh auth logout --hostname github.com --user creative-graphic-design-dev移除此账户,然后重新运行setup-gh-cgd。这会更改本地身份验证状态,必须由用户以交互方式完成。 - 如果身份检查成功,但仓库权限为
false,请在重试前授予creative-graphic-design-dev对目标仓库的访问权限。如果只是仓库成员资格发生变化,则无需重新进行身份验证。