#2238 covers ci-log-auditor.md:22 (a missing per_page=100). This is a different defect in the same file — the prose, not the command — and a repo-wide sweep of the same conformance gap #2238 reports at one site.
Part 1 — the add rationale misdescribes what gh actually does
plugins/review/agents/ci-log-auditor.md:65 (mirrored in plugins/review/CHANGELOG.md:20):
Concatenated pages are arrays, so they are combined with add, not by reaching through a wrapper
Measured (gh api --paginate, per_page=10, jq -s 'length'):
array endpoint (issues/<n>/comments) -> 1 document
object endpoint (commits/<sha>/check-runs) -> 3 documents
gh --paginate merges top-level array responses into a single document; it emits one document per page only for object-envelope responses. So on the /annotations endpoint there is exactly one array, and add is unwrapping a 1-element slurp rather than concatenating pages.
The published command is correct — jq -s '... add | length' yields the right count, verified against output.annotations_count. Only the explanation is wrong. Worth fixing because it is a mechanism claim in a file whose whole subject is being factually right about pagination, and because a reader who believes it will mispredict the shape on the next endpoint.
Part 2 — repo-wide sweep of --paginate without per_page=100
#2238 reports this at one site; it holds at roughly fifteen runnable command sites across four plugins. Stated honestly: --paginate alone is complete — it fetches every page regardless — so these are not truncation defects. They are non-conformant with rule 1 as skills/pull-request/reference/readiness.md:55 publishes it (--paginate with per_page=100), and they cost 3.3x the requests.
Sites on main (c1b4c629), excluding prose mentions, single-resource GETs, and mutations:
| file |
line |
plugins/review/agents/ci-log-auditor.md |
22 (already #2238 / #2239) |
plugins/source-control/skills/pull-request/reference/merge.md |
14, 15, 16 |
plugins/source-control/skills/pull-request/SKILL.md |
166, 167, 168 (C1/C2/C3) |
plugins/source-control/skills/pull-request/reference/monitor.md |
195 |
plugins/source-control/scripts/fetch-all-pr-comments.sh |
141 |
plugins/source-control/skills/babysit-loop/reference/telemetry-upsert.md |
39 |
plugins/source-control/skills/babysit-prs/scripts/babysit_gh.py |
441 |
plugins/source-control/skills/babysit-prs/scripts/request_review.py |
186 |
plugins/claude-ops/skills/lanes/scripts/restart-consumer.sh |
774 |
plugins/claude-ops/skills/lanes/scripts/telemetry-upsert.sh |
344 |
plugins/work-items/skills/attend-queue/SKILL.md |
136 |
plugins/work-items/skills/work-loop/reference/telemetry-upsert.md |
43 |
plugins/work-items/tools/work-item-tracker/adapters/github/common.sh |
189 |
plugins/work-items/tools/work-item-tracker/adapters/github/reclaim.sh |
46, 50 |
merge.md:14-16 and SKILL.md:166-168 are worth a callout: they read the same three endpoints that #2163 changed elsewhere in the same skill, and SKILL.md's are 11-17 lines above lines #2163 did give ?per_page=100.
Verify each line before editing — main moves continuously and #2239 is already in flight against the first row.
#2238 covers
ci-log-auditor.md:22(a missingper_page=100). This is a different defect in the same file — the prose, not the command — and a repo-wide sweep of the same conformance gap #2238 reports at one site.Part 1 — the
addrationale misdescribes whatghactually doesplugins/review/agents/ci-log-auditor.md:65(mirrored inplugins/review/CHANGELOG.md:20):Measured (
gh api --paginate,per_page=10,jq -s 'length'):gh --paginatemerges top-level array responses into a single document; it emits one document per page only for object-envelope responses. So on the/annotationsendpoint there is exactly one array, andaddis unwrapping a 1-element slurp rather than concatenating pages.The published command is correct —
jq -s '... add | length'yields the right count, verified againstoutput.annotations_count. Only the explanation is wrong. Worth fixing because it is a mechanism claim in a file whose whole subject is being factually right about pagination, and because a reader who believes it will mispredict the shape on the next endpoint.Part 2 — repo-wide sweep of
--paginatewithoutper_page=100#2238 reports this at one site; it holds at roughly fifteen runnable command sites across four plugins. Stated honestly:
--paginatealone is complete — it fetches every page regardless — so these are not truncation defects. They are non-conformant with rule 1 asskills/pull-request/reference/readiness.md:55publishes it (--paginatewithper_page=100), and they cost 3.3x the requests.Sites on
main(c1b4c629), excluding prose mentions, single-resource GETs, and mutations:plugins/review/agents/ci-log-auditor.mdplugins/source-control/skills/pull-request/reference/merge.mdplugins/source-control/skills/pull-request/SKILL.mdplugins/source-control/skills/pull-request/reference/monitor.mdplugins/source-control/scripts/fetch-all-pr-comments.shplugins/source-control/skills/babysit-loop/reference/telemetry-upsert.mdplugins/source-control/skills/babysit-prs/scripts/babysit_gh.pyplugins/source-control/skills/babysit-prs/scripts/request_review.pyplugins/claude-ops/skills/lanes/scripts/restart-consumer.shplugins/claude-ops/skills/lanes/scripts/telemetry-upsert.shplugins/work-items/skills/attend-queue/SKILL.mdplugins/work-items/skills/work-loop/reference/telemetry-upsert.mdplugins/work-items/tools/work-item-tracker/adapters/github/common.shplugins/work-items/tools/work-item-tracker/adapters/github/reclaim.shmerge.md:14-16andSKILL.md:166-168are worth a callout: they read the same three endpoints that #2163 changed elsewhere in the same skill, andSKILL.md's are 11-17 lines above lines #2163 did give?per_page=100.Verify each line before editing —
mainmoves continuously and #2239 is already in flight against the first row.