mcpField
S
shunk031-github-cgd-identity

shunk031-github-cgd-identity

github.com/shunk031开发058 次安装1 周前更新
代码仓库

关于 shunk031-github-cgd-identity

shunk031-github-cgd-identity 是一项技能,规定在 creative-graphic-design 组织仓库中以指定机器人账户执行 Git 和 GitHub 写操作,并在变更前检查身份、凭据、权限与适用范围。

主要功能

  1. 01组织写操作使用机器人身份
  2. 02验证仓库与写入权限
  3. 03按命令使用令牌
  4. 04提交归属机器人账户
  5. 05明确适用范围与审批边界

适用场景

  1. 01在组织仓库创建拉取请求
  2. 02使用机器人凭据推送变更
  3. 03发布问题或拉取请求更新
  4. 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 和工作树中执行以下检查。请将其作为启动流程,而不是等到失败后才进行调查。

  1. 对于仓库写入操作,请确认 git remote get-url origin 指向 github.com/creative-graphic-design。

    如果不是,则此技能不适用;请使用常规 git 身份和身份验证。新机器的 setup-gh-cgd 引导流程除外。

  2. 确保 GitHub CLI 的系统凭据存储中有机器人账户。在新机器上,运行一次交互式设置命令,并在浏览器中以 creative-graphic-design-dev 身份完成身份验证:

    setup-gh-cgd
    

    Agent 工作期间请勿使用 gh auth switch。它会更改整个主机的活动账户,并可能与并发会话发生竞争。

  3. 按账户名称获取已存储的机器人令牌,并且仅将其传递给使用 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 的全局活动账户。

  4. 验证 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 时,才能开始写入操作。

  5. 为每条提交命令将提交作者设为机器人:

    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,同时更改主检出目录及并发工作树的作者身份。

  6. 通过 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 对目标仓库的访问权限。如果只是仓库成员资格发生变化,则无需重新进行身份验证。

评论

支持 Markdown