能力入口 · 个人维护的能力入口
Git 项目身份入口
它把 Git 操作从“凭感觉直接做”变成明确的继续、先处理再继续或停止:防止改错仓库、把私密内容推到公开仓库、覆盖别人未提交的工作、在落后分支上推送,或把提交推到错误远端。
仓库事实入口有回归和既有真实使用;仓库、分支与远端是动态状态,真正推送前仍读取那次目标的现场事实。先看怎么用
你不需要记住 Skill 名,直接说需求就行
什么时候用
- 不确定眼前的代码目录实际属于哪个仓库
- 准备恢复、迁移、推送或发布
- 需要确认仓库是公开还是私有、默认分支是否正确
- 同一仓库有多个工作目录,或本地与远端不同步
- 进入项目维护或准备PUBLIC(公开)内容,需要定位已有私有配套文档
可以直接这样说
“这份代码会推到哪个仓库?确认一下别人的改动不会一起提交。”它核对实际目录、远端、分支和其他工作树,只交回这次发布需要处理的问题,不把目录同名当成身份正确。
最后会得到什么
事实安全时 AI 才继续;存在未提交内容就只暂存本任务文件;分支落后、远端错误或公开风险不清时停止推送,并明确指出先处理哪一项。 进入维护或准备公开时同时发现已有私有配套;只读发现不产生写权,实际修改的每个仓库,包括链接所指的配套,分别收口。
不适合这样用
- 已经明确仓库身份、只做普通可逆本地编辑
- 把仓库检查结果误当成本人已经授权推送
- Git 动态事实不会改变当前决定却仍做全量扫描
正常时
仓库身份、远端、主分支和同步状态满足条件时,为已授权的本地实施或正常推送提供事实依据;检查本身不产生授权。
发现问题时
未提交修改、分支落后、远端错误或公开风险存在时给出警告或阻断结论,并列出具体处理项。
入口不可用或证据不足时
GitHub 现场元数据或远端引用不可取得时可以继续安全本地工作,但发布必须等待实时回读。
从哪里开始
在当前 AI 对话提出某个源码项目的修改、同步或公开前检查;AI 在会影响决策时核对仓库身份、分支、可见性和私有配套。
需要准备什么
- 要处理的仓库或项目及这次修改、推送或公开目标
- 多个工作树或目标分支不明确时,说明真正要动的那一份
为什么需要这个能力
我有多个仓库和工作树。当前文件夹看起来像目标项目,并不代表它对应正确远端、正确主分支,也不代表仓库公开性和同步状态适合发布。
从需求到结果
需要仓库事实时,AI 检查这份代码实际对应哪个仓库、远端、公开范围、默认分支和工作副本;目录同名不当身份正确。
有未提交修改时保留他人成果,只选择本任务的准确文件。分支落后或出现冲突时先同步、整合并验证,不强制推送求干净。
本地身份与目标已明确时,不为普通可逆编辑做全量巡检;发布真正依赖实时远端事实时,再取得新鲜回读。
现有私有配套说明按正式登记寻找,本地没有链接不证明不存在。找到路径不授权公开正文,也不会让未修改的配套凭空产生提交。
实际修改的仓库分别验证、定向提交和正常回读;用户明确只本地或不发布时按该范围交付。检查本身只提供事实,不产生用户授权。
失败时会怎样恢复
本地目录与登记仓库身份不一致
系统反应:停止依赖该身份的推送,不把同名目录当成目标。
恢复方式:核对真正的工作目录或修正项目登记,再重新读回远端和分支。
工作目录里有来源不明的修改
系统反应:先保留现有内容,不一次性提交全部。
恢复方式:分清谁改了哪些文件,只把本任务文件纳入这次提交;并发修改继续保留。
本地分支落后,正常推送会冲突
系统反应:停下推送,不强行覆盖远端。
恢复方式:取得新提交、合并或整理本地修改,解决冲突并重新验证后再正常推送。
暂时读不到 GitHub 的当前状态
系统反应:安全的本地工作可以继续,但不能说发布条件已满足。
恢复方式:真正发布前重新取得目标仓库、分支和远端的现场事实。
技术身份与验证证据
Skill · project-entry-gate · 成熟度 A(稳定)
这个 Skill 用到的名词
- Admission(仓库准入结果)
- 把仓库身份、公开性、分支、远端、worktree(Git 工作树)、脏改动和同步状态放进一个结构化结果,供后续决策。
- Worktree(Git 工作树)
- 同一仓库的一个独立 checkout(本地检出目录),用来隔离并行改动;它不是任务台账。
- Upstream(上游分支)
- 当前本地分支默认推送和比较的远端分支。
- Ahead / behind(领先 / 落后提交数)
- 本地相对 upstream(上游分支) 多了或少了多少提交。
- Freshness(证据新鲜度)
- Cached 只用缓存;Live metadata(元数据) 查 GitHub 当前信息;Refresh refs 更新远端引用;For publication 同时要求两层。
- PUBLIC exposure gate(公开暴露门)
- 公开仓库提交前检查页面和源码是否含不应公开的内容。
专业定义
在准备改代码、提交、推送、发布或恢复仓库前,它先确认我究竟在哪个仓库,这个仓库是公开还是私有,当前分支和远端是什么,有没有未提交或未同步的改动,以及现在能不能安全继续。它只提供事实,不替用户授权推送。 进入项目维护或准备公开内容时,也会发现已有私有配套文档;收尾分别核对真正修改过的每个仓库,避免公开项目提交了而链接背后的私有修改遗失。
执行参考
下面保留 AI 和工具实际使用的参数、步骤与依赖。日常使用可以直接提出需求,不需要先手工准备这些协议。
输入
- 要检查的 GitHub 仓库 owner/repo(仓库所有者或命名空间 / 仓库名,例如 wlyaaaaa/wly0829.cn)
- 可选的本地工作树或目标分支
- 这次只需缓存、实时 GitHub 信息、刷新远端引用,还是完整发布检查
输出
- 真实本地仓库路径、远端地址、公开性、当前分支、上游分支、工作树、未提交改动和同步状态
- 明确的继续、先处理再继续或停止建议;它本身不产生用户授权
- 私有配套状态、规范入口和未解决的映射问题;本地没有指针不等于PRIVATE(私有)配套不存在
执行顺序
- 1
先判断当前决定需要多新的 Git 事实
- 2
调用 Git Owner(Git 事实责任方) 的 admission(准入检查)
- 3
只检查本次指定的工作树或分支
- 4
把事实结果与用户授权分开
- 5
真正发布前再次用完整 publication profile(发布检查)回读
- 6
按Get-ProjectPrivateCompanion既有入口发现真实配套,只读精确必要文档,不扫描整个私人仓库。
- 7
所有实际改动仓库,包括链接指向的配套,分别验证、定向提交、normal push与默认分支回读;只读发现不会自动产生写权或新提交。
操作边界
- 仅仅出现一个绝对路径不会自动触发
- cached(缓存)事实不能冒充 live(实时)事实
- decision(建议结果)不会自动授予 push(推送)权限
- 仓库公开风险不清楚时停止发布
- 网络读回失败不自动当作身份冲突;未知保持未知,不能猜另一个仓库替代。
- 私有映射与私人正文不因PUBLIC(公开)工程需要就进入公开仓库;公开说明仍保留真正有用的非秘密身份与状态。
依赖
- E:\GitHub总索引
- Git 和 GitHub metadata(元数据)
需要多新的Git事实才取哪一种
Get-ProjectAdmission.ps1返回github-local-index.project-admission.v1,包含local root、remote(远端仓库)、visibility(公开或私有属性)、branch(分支)/upstream(上游分支)、worktrees、dirty、sync和transport。LiveMetadata只取GitHub元数据不fetch;RefreshRefs取新远端引用;ForPublication同时需要两者。Fetch只是兼容两项同时做,不是默认。
精确目标用TargetWorktree或TargetRef。source_git_read_failed与target_git_read_failed是未读到证据,不是成功读取后身份不符;只按正确执行身份或已核精确repo路径修正,不改remote(远端仓库)或全局放宽Git trust。
维护先Get-ProjectPrivateCompanion -Repo,可选RepoPath;准备公开即使无映射也解析登记私有目标。本地没指针不证没材料,改动过的每个实际仓库包括链接配套分别收口;dirty不证活跃施工。PCConfig只在机器事实改变决定时参与,见到绝对路径不是触发。
# 按需项目事实
pwsh -NoProfile -File E:\GitHub总索引\tools\Get-ProjectAdmission.ps1 -Repo <owner/name> -Json# 查既有私有配套
pwsh -NoProfile -File E:\GitHub总索引\tools\Get-ProjectPrivateCompanion.ps1 -Repo <owner/name> -JsonOwner参数错误不是另一个人在施工
每次只给一种前置:AuthorizeAction/RenewLease使用ExpectedBindingId;结构Claim/Release使用新鲜精确项目Inspect返回的ExpectedProjectFingerprint;明确恢复模式使用ExpectedRevision。保持真实task/harness/runtime/scope,每个变更包括续租都有说明有界责任的Reason。
error_category=invocation_precondition要求修正参数,不证明竞争Owner,也不授权重复同错、另StatePath、借身份或恢复接管。设计计划和admission(仓库准入检查)建议都不产生实施或发布授权;未知身份只暂停依赖该身份的动作,安全只读诊断继续。
验证状态
源码、安装、供应检查、当前任务、新任务和真实使用分别列出;一层通过不自动提升另一层。
- Source(源码)
- 当前 .agents source e734251 中的唯一源码已核对
- Install(安装)
- canonical junction(目录联接) 已安装
- Transaction(供应事务)
- 供应事务检查通过;0 个坏事务
- Current task(当前任务)
- 本轮宿主回执未知
- Fresh task(全新任务)
- 新任务回执未知
- End to end(端到端)
- 真实仓库 admission(仓库准入检查) 已多次使用
Skill 和 Provider fixture 通过,覆盖 identity、visibility(公开或私有属性)、target、sync、dirty、no-upstream 和 public(公开) exposure。
证据时间与来源
- Observed at(观察时间)
- 供应链现场:2026-09-24 12:56(中国时间);项目场景按各项记录
- Source commit(来源提交)
e734251081dc48bdd86765372ce225b3929ce9ae- Supply command(供应验证命令)
E:\.agents\tools\Test-PersonalSkillSupply.ps1 -RequireInstalled -NoExternalEvidence -Json- Evidence basis(证据来源)
- .agents E171 release 1aa0b0a、当前 Personal Skill supply(个人能力供应链),以及本页明确标注的既有项目/Provider(固定服务入口)证据;source/install/transaction 通过不冒充 current(当前状态)/fresh/E2E
Canonical source(唯一维护源)
E:\.agents\skills\project-entry-gate\SKILL.md该路径是维护源;用户目录中的发现入口不是第二份源码。
