Skip to content

docs(skills): fold the first Gemini pilot's friction into gemini-task - #12229

Merged
MarkusNeusinger merged 10 commits into
mainfrom
docs/gemini-task-friction
Oct 22, 2026
Merged

MarkusNeusinger merged 10 commits into
mainfrom
docs/gemini-task-friction

Conversation

@MarkusNeusinger

Copy link
Copy Markdown
Owner

Summary

  • Folds the friction of the first Gemini pilot (Read comma groups of three in currency columns as thousands separators #12224, fix(agents): read three-digit comma groups in currency columns as thousands #12228) into the gemini-task skill: gh issue view --json and gh api for PR bodies (a bare gh issue view and gh pr edit fail here, Projects classic), issues that name the files the gates couple (warning_codes.py for a new parser warning) and list cases where the existing rules must still win, the changelog check run after the fragment is committed, one environment sync line with the agents extra, a hand-over written in the repository's PR format, and a fast-forward of a stale shared checkout before a take-over.
  • verify-core gives the same sync line (--extra test --extra dev --extra typecheck --extra agents); without agents the tests under tests/unit/agents/ fail at collection.
  • tools.changelog check names a fragment that is on disk but not committed when it reports "no changelog fragment"; it still reads commits only, as CI does (new test in tests/unit/tools/test_changelog_tool.py).
  • Records the owner's wish of 2026-10-22 that Claude propose the Gemini route itself for longer tasks that need no credentials.

Plan

N/A. The owner asked on 2026-10-22 to fix what Gemini's report-back and the take-over of #12228 found.

Test plan

  • uv run pytest tests/unit tests/integration -n auto (12,269 passed)
  • uv run ruff check . && uv run ruff format --check ., uv run mypy api core
  • uv run python -m tools.changelog check --base origin/main
  • Checked by hand: a bare gh issue view 12224 exits 1 here, --json title,body,comments works

🤖 Generated with Claude Code

https://claude.ai/code/session_01GdMSqLR5ww4ji74EUSmk9M

The first agy run (#12224, #12228) went through, with seven frictions that
Gemini's report-back and the take-over found:

- a bare `gh issue view` and `gh pr edit` fail on this repository
  (Projects classic); the skill now uses `--json` and `gh api`;
- the issue's "change only" list missed `warning_codes.py`, which an
  autouse fixture forces for every new parser warning; issues now name the
  files the gates couple, and such a file is in scope for Gemini;
- the changelog check reads commits only, as CI does; the skill says so,
  and the tool now names a fragment that is on disk but not committed;
- a fresh venv lacked the `agents` extra; gemini-task and verify-core now
  give one sync line with the extras CI and the gates use;
- the Acceptance section had no case where the existing rules must still
  win, so a rule built to spec overrode a decimal-comma file; issues for
  rule changes now list such cases;
- the shared checkout's stale skills described the old take-over; the
  take-over now fast-forwards it first;
- Gemini's hand-over needed rewriting into the PR format; it now writes
  that format directly.

It also records the owner's wish of 2026-10-22 that Claude propose this
route itself for longer tasks that fit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GdMSqLR5ww4ji74EUSmk9M
Copilot AI balanced review requested due to automatic review settings October 22, 2026 14:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes are narrowly scoped, preserve the changelog gate’s validation logic, and include regression coverage with no unresolved findings.

No open issues 🎉

What changed in this PR

This PR incorporates lessons from the first Gemini pilot into task hand-off and verification guidance, and improves the changelog gate’s diagnostic without changing its commit-only validation.

Changes:

  • Updates Gemini task planning, GitHub commands, hand-over format, and takeover steps.
  • Aligns environment setup guidance with the extras needed by CI and agent tests.
  • Names uncommitted changelog fragments in failure messages and adds regression coverage.
File Description
tools/​changelog/​__init__.py Adds an uncommitted-fragment hint to missing-fragment errors.
tests/​unit/​tools/​test_changelog_tool.py Tests the new hint while preserving gate failure.
changelog.d/​gemini-task-friction.md Records the workflow and diagnostic improvements.
.claude/​skills/​verify-core/​SKILL.md Documents environment setup with the required extras.
.claude/​skills/​gemini-task/​SKILL.md Refines task scoping, verification, hand-over, and takeover guidance.

Review effort: Balanced

@codecov

codecov Bot commented Oct 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@MarkusNeusinger
MarkusNeusinger enabled auto-merge (squash) October 22, 2026 14:55
@MarkusNeusinger
MarkusNeusinger merged commit 81f5e8d into main Oct 22, 2026
15 checks passed
@MarkusNeusinger
MarkusNeusinger deleted the docs/gemini-task-friction branch October 22, 2026 18:52
MarkusNeusinger added a commit that referenced this pull request Oct 22, 2026
## Summary
- Deletes `.github/workflows/auto-update-pr-branches.yml`. The `main`
ruleset's required checks are not strict
(`strict_required_status_checks_policy: false`, checked 2026-10-22), so
a PR behind `main` merges anyway, and every `update-branch` merge commit
the workflow pushed as `github-actions[bot]` put that PR's CI at
`action_required` (Actions approval policy `first_time_contributors`).
#12229 collected eight such commits on 2026-10-22 and needed six runs
approved by hand. Dependabot and spec PRs were already excluded for this
reason; the auto-polish PRs it still covered merge 19 to 49 s after
opening, before its 30 s wait ends.
- Follow-ups: the project guide row, two sentences in the Dependabot
command, the stale "strict status-check policy" comment in
`prompts/workflow-prompts/spec-polish-claude.md` (comment inside an
illustrative block, no behaviour change), and a gotcha in the `open-pr`
skill: never update a PR branch with `GITHUB_TOKEN` when its CI has to
run.
- Second opinion (owner request): Gemini 4 Argon and Fable both
recommended deletion over keeping it with a PAT or reducing it to
`workflow_dispatch`. Not in scope (owner decision, 2026-10-22):
`impl-merge.yml`'s own `gh pr update-branch` before an implementation
merge stays; whether it goes is a separate task.

## Plan
N/A. Follow-up task from the 2026-10-22 Dependabot batch, decided by the
owner after the second opinion.

## Test plan
- [x] `uv run pytest tests/unit -n auto` (12,186 passed); no test
references the workflow
- [x] `git grep auto-update-pr-branches` leaves only the historical
CHANGELOG entries and the two new mentions that it was retired
- [x] `uv run python -m tools.changelog check --base origin/main`
- No live verification loop exists for `.github/workflows/`; the effect
shows on the next PR with auto-merge that stays open while `main`
advances (its CI keeps running on its own head).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01GdMSqLR5ww4ji74EUSmk9M

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants