You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Hold the upstream git-commit skill update until its merge and Git-version problems are fixed #5224
The daily skill update (platform#5222) brings a new upstream version of the git-commit agent skill (source: github/awesome-copilot, tree 266a4c3f). A semantic review of that version found two instructions that can make an agent do the wrong thing in this repository:
It can silently lose a merge-conflict resolution (P1). Step 3 tells the agent to unstage unrelated files with git reset -q -- <paths> before committing. During an in-progress merge, that puts the old version back in the index while the resolved file stays unstaged. Git then creates the merge commit without the resolution.
It tells agents to run a command our hosts do not have (P2). It says to stage resolutions with git add --resolved, which needs Git 2.56 or later. The agent host runs Git 2.54 and the Codex review environment runs 2.43, so on both the command fails with unknown option 'resolved'. The skill's compatibility field mentions the requirement, but the steps give no fallback.
Agents in platform keep using a git-commit skill that is safe during a merge and works on the Git versions we run.
Options
An interactive session raises both points upstream with github/awesome-copilot and we take the fixed version when it ships. A scheduled run may not file in external repositories.
Or we stop syncing git-commit from that upstream and keep our own copy, for example in devantler-tech/agent-skills.
Done when
The git-commit skill in .agents/skills either has neither problem or is no longer synced from this upstream.
platform#5222, or the update PR that replaces it, is merged or closed with the reason written on it.
The same upstream git-commit skill update reached two more repositories this morning, with byte-identical skill text (agent-plugins adds only an internal: true frontmatter line):
chore(deps): update agent skills ksail#7927 — its automation had armed auto-merge, so it would have landed as soon as the last check finished. Auto-merge is now off, the PR is a draft, and it is parked on this issue.
Whatever this issue settles on — an upstream fix, or no longer syncing git-commit — has to cover all three consumers (platform, ksail, agent-plugins), or the updaters will keep reopening the same change.
I tested a containment option without changing any consumer or upstream instructions. The native GitHub CLI can install this skill pinned to upstream commit e24be77e6f203409cf99ab7d5a67e1540cb386d3. It records metadata.github-pinned, and an ordinary gh skill update --all --dry-run then explicitly skips the pinned skill.
The generated skill has the same instruction body and upstream tree 883a6a7466f55a9cd9f22cf1cce2d9333fc9b998 as the current default-branch copies in Platform, KSail and agent-plugins. That body contains neither of the two problematic instructions. This preserves the current skill rather than maintaining a fork.
There is a delivery constraint: I exercised the unchanged agent-plugins bundled-skill guard against a disposable Git fixture containing exactly this native pin change. It rejects the change with exit 1 because direct edits to an existing synced skill, including provenance metadata, must arrive through the programmed sync path. The guard was retained unchanged; no updater identity was impersonated.
Disposition: keep all three incoming updates parked. A native pin is a verified containment candidate, but a complete rollout must use a reviewed programmed update path that records the pin, or consume a repair from the canonical upstream. Do not hand-edit the bundled instructions or treat the isolated pin test as deployment. Verify all three consumers and an ordinary later update before closing this issue. No source fix, pin rollout or upstream contribution is claimed here.
Decision, 2026-10-22: take the native-pin route through the programmed updater, not a fork and not a hand edit.
Why this route: it keeps the git-commit text we run today, needs no copy of our own to maintain, and leaves every bundled-skill guard as it is. Raising the two problems upstream is still worthwhile, but a scheduled run cannot file in an external repository, so it should not be what this issue waits on.
Until Update Helm release gha-runner-scale-set-controller to use eventual update strategy #715 ships: platform#5222, ksail#7927 and agent-plugins#587 stay parked on this issue. In platform and ksail the updater opens one pull request for all skills, so this hold also stops their other skill updates. pr-per-skill would limit the hold to git-commit alone and is worth considering separately.
Progress 2026-10-24: devantler-tech/.github#715 shipped in v12.1.0 (pins input). platform is done: #5281 pins git-commit at e24be77e (the content we run today), and the dispatched updater rebuilt #5222 with only the pin for git-commit — #5222 is unparked. Remaining before this closes: ksail (updater on .github v7.24.0) and agent-plugins (v6.1.0, pr-per-skill) must move to ≥ v12.1.0 and pass the same pin; both are major-version jumps of the shared workflow, so each needs its own reviewed bump.
agent-plugins: open, next slice. The same bump (v6.1.0 → v12.1.0) is also additive for the updater, apart from newer pinned action versions. But a single static pins value does not fit there: the scope resolver sets dir to plugins, plugins/agentic-engineering/skills or plugins/engineering-practices/skills, and pin-skills.sh rejects a pin outside dir. So a pin for plugins/engineering-practices/skills/git-commit would fail every agentic-engineering dispatch before anything changes. The scope resolver needs to emit pins for each scope too. chore(deps): update agent skills (plugins/engineering-practices/skills/git-commit) agent-plugins#587 stays parked until then.
Then: remove all three pins once upstream fixes both problems.
The chosen native-pin containment is complete in all three consumers. Platform #5222 and KSail #7927 have merged, and the remaining marketplace update agent-plugins #587 has now merged after full native CI and a substantive current-head review. It was rebuilt by the programmed updater after the scoped caller repair in agent-plugins #597; no skill body was hand-edited.
A fresh default-branch check read and verified complete Git blobs for Platform, KSail and agent-plugins. All three retain upstream commit e24be77e6f203409cf99ab7d5a67e1540cb386d3, tree 883a6a7466f55a9cd9f22cf1cce2d9333fc9b998, and the same reviewed instruction body. Neither problematic instruction was introduced. Every native containment child is closed.
After the final pin merge, ordinary native update 40151608037 explicitly skipped the pinned skill and produced no new update PR. The unrelated scoped update 40151611331 passed with no unrelated pin. Both complete runs and exact merged-main CI and scans succeeded.
This resolves containment, not the upstream defects. Agent-plugins #598 now owns the future review by 2026-11-08, with merge-resolution and Git-compatibility proof required before any pin is lifted. The pins remain in force, and installed runtime caches have not been changed.
Activity
devantler commentedon Oct 22, 2026
The same upstream
git-commitskill update reached two more repositories this morning, with byte-identical skill text (agent-plugins adds only aninternal: truefrontmatter line):Whatever this issue settles on — an upstream fix, or no longer syncing
git-commit— has to cover all three consumers (platform, ksail, agent-plugins), or the updaters will keep reopening the same change.chore: agent-claim #5224 nonce=c46c56177a89d3152f971fbc4b9c4f68
chore: agent-claim #5224 nonce=3f2f5958b5cef6d5a479a97fb196f056
devantler commentedon Oct 22, 2026
I tested a containment option without changing any consumer or upstream instructions. The native GitHub CLI can install this skill pinned to upstream commit
e24be77e6f203409cf99ab7d5a67e1540cb386d3. It recordsmetadata.github-pinned, and an ordinarygh skill update --all --dry-runthen explicitly skips the pinned skill.The generated skill has the same instruction body and upstream tree
883a6a7466f55a9cd9f22cf1cce2d9333fc9b998as the current default-branch copies in Platform, KSail and agent-plugins. That body contains neither of the two problematic instructions. This preserves the current skill rather than maintaining a fork.There is a delivery constraint: I exercised the unchanged agent-plugins bundled-skill guard against a disposable Git fixture containing exactly this native pin change. It rejects the change with exit 1 because direct edits to an existing synced skill, including provenance metadata, must arrive through the programmed sync path. The guard was retained unchanged; no updater identity was impersonated.
Disposition: keep all three incoming updates parked. A native pin is a verified containment candidate, but a complete rollout must use a reviewed programmed update path that records the pin, or consume a repair from the canonical upstream. Do not hand-edit the bundled instructions or treat the isolated pin test as deployment. Verify all three consumers and an ordinary later update before closing this issue. No source fix, pin rollout or upstream contribution is claimed here.
devantler commentedon Oct 22, 2026
Decision, 2026-10-22: take the native-pin route through the programmed updater, not a fork and not a hand edit.
git-committext we run today, needs no copy of our own to maintain, and leaves every bundled-skill guard as it is. Raising the two problems upstream is still worthwhile, but a scheduled run cannot file in an external repository, so it should not be what this issue waits on.platformandksailthe updater opens one pull request for all skills, so this hold also stops their other skill updates.pr-per-skillwould limit the hold togit-commitalone and is worth considering separately.devantler commentedon Oct 24, 2026
Progress 2026-10-24: devantler-tech/.github#715 shipped in v12.1.0 (
pinsinput). platform is done: #5281 pinsgit-commitate24be77e(the content we run today), and the dispatched updater rebuilt #5222 with only the pin forgit-commit— #5222 is unparked. Remaining before this closes: ksail (updater on .github v7.24.0) and agent-plugins (v6.1.0,pr-per-skill) must move to ≥ v12.1.0 and pass the same pin; both are major-version jumps of the shared workflow, so each needs its own reviewed bump.chore: agent-claim #5224 nonce=3fcbf409c18048d20bf1d9efa6a1b0b8
ci(skills): hold git-commit at the reviewed upstream version
ci(skills): hold git-commit at the reviewed upstream version
chore: agent-claim #5224 nonce=dc1785db0356003f566ce5f93483f815
devantler commentedon Oct 24, 2026
Progress 2026-10-24 (updated 17:25Z):
git-commitpin metadata only) merged 16:47Z..githubv12.1.0,git-commitpinned ate24be77e). The updater run onmainsucceeded and rebuilt chore(deps): update agent skills ksail#7927 with the pin metadata only; that merged 17:23Z.pinsvalue does not fit there: the scope resolver setsdirtoplugins,plugins/agentic-engineering/skillsorplugins/engineering-practices/skills, andpin-skills.shrejects a pin outsidedir. So a pin forplugins/engineering-practices/skills/git-commitwould fail everyagentic-engineeringdispatch before anything changes. The scope resolver needs to emit pins for each scope too. chore(deps): update agent skills (plugins/engineering-practices/skills/git-commit) agent-plugins#587 stays parked until then.ci(skills): hold git-commit at the reviewed upstream version (#7951)
devantler commentedon Oct 25, 2026
The chosen native-pin containment is complete in all three consumers. Platform #5222 and KSail #7927 have merged, and the remaining marketplace update agent-plugins #587 has now merged after full native CI and a substantive current-head review. It was rebuilt by the programmed updater after the scoped caller repair in agent-plugins #597; no skill body was hand-edited.
A fresh default-branch check read and verified complete Git blobs for Platform, KSail and agent-plugins. All three retain upstream commit
e24be77e6f203409cf99ab7d5a67e1540cb386d3, tree883a6a7466f55a9cd9f22cf1cce2d9333fc9b998, and the same reviewed instruction body. Neither problematic instruction was introduced. Every native containment child is closed.After the final pin merge, ordinary native update 40151608037 explicitly skipped the pinned skill and produced no new update PR. The unrelated scoped update 40151611331 passed with no unrelated pin. Both complete runs and exact merged-main CI and scans succeeded.
This resolves containment, not the upstream defects. Agent-plugins #598 now owns the future review by 2026-11-08, with merge-resolution and Git-compatibility proof required before any pin is lifted. The pins remain in force, and installed runtime caches have not been changed.