Problem
a2a-commentid-handoff.md (66 lines / 6655 B, created by #12482's §10 extraction) re-documents MCP tool mechanics that the tool descriptions already self-document. Operator challenge (2026-06-04): "GOAL is pass an A2A message with the commentId. The why (intent) can get mentioned. But if we need to read a book just to pass a message → negative ROI. Codex still only has 258k tokens [bloat hurts the smallest-context peer most]. A skill must NOT explain how to use an MCP tool — that belongs in the tool description. The shorter we can make it clear, the better."
V-B-A confirms the duplication:
get_conversation tool description already documents the full selector set (comment_id / since_comment_id / last_n) AND the A2A-handoff usage ("a reviewer mailboxes the commentId... peer fetches just-this-comment... scales linearly").
manage_issue_comment description already documents action:create → returns the commentId.
- The skill's "Selector Precedence", the Problem/Solution call-mechanics, and the cold-cache table's tool-mechanics are therefore redundant with the tool descriptions (SSOT).
The irreducible, non-tool content (the only part that belongs in a skill) is the behavioral discipline: after posting a review comment, capture its commentId and A2A it to the next actor with a one-line substance summary — plus the empirical reflex that agents forget the ping. ~6 lines.
This is the SHIP-then-relocate self-trap: #12482 net-reduced the always-loaded guide by relocating §10 to an Atlas payload — but the deeper issue is the content shouldn't exist in a skill at all (it's tool mechanics).
Prescription (one PR)
- Slim
a2a-commentid-handoff.md to the ~6-line behavioral discipline; delete the tool-mechanics duplication (selector precedence, how-to-call, return shapes). A 6-line discipline does not warrant its own Atlas payload → inline it into pr-review-guide.md §10 and delete the standalone file.
- Codify the principle in
skill-authoring-guide.md (extends the existing tool-constraint-placement rule, §~line 107): Skills cite tool BEHAVIOR + WHEN-to-use + the surrounding discipline. They MUST NOT re-document tool MECHANICS (parameters, return shapes, call sequences) — that is the MCP tool description's SSOT. A thin tool description is fixed by enriching the TOOL, never by compensating in a skill (even an Atlas payload). Substrate bloat is measured against the smallest-context peer (~258k), not the largest.
- If any genuine gap exists in a tool description (V-B-A: none currently for these two), enrich the tool description, not the skill.
Contract Ledger
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback |
Docs |
Evidence |
a2a-commentid-handoff.md |
operator challenge 2026-06-04 + #12482 |
slim to ~6-line discipline; delete tool-mechanics dupes; inline into pr-review §10 + delete the standalone file |
the tool descriptions remain the mechanics SSOT |
pr-review-guide §10 |
byte-delta + grep no dangling refs |
skill-authoring-guide.md |
this ticket |
add "skills cite tool behavior, not mechanics; HOW lives in the tool description" rule |
extends the existing tool-constraint-placement rule |
skill-authoring-guide |
lint-skill-manifest |
Acceptance Criteria
Sequencing
- The file-slim is sequenced after #12482 merges (which created the file). The principle-codification is independent.
Follow-on (separate ticket, NOT this PR)
- Sweep the ~18 skill files referencing
commentId / get_conversation for the same re-documentation anti-pattern (audit + slim per the new principle).
Decision Record impact
Extends ADR 0008 (skill anatomy) operationally; no conflict — additive discipline.
Problem
a2a-commentid-handoff.md(66 lines / 6655 B, created by #12482's §10 extraction) re-documents MCP tool mechanics that the tool descriptions already self-document. Operator challenge (2026-06-04): "GOAL is pass an A2A message with the commentId. The why (intent) can get mentioned. But if we need to read a book just to pass a message → negative ROI. Codex still only has 258k tokens [bloat hurts the smallest-context peer most]. A skill must NOT explain how to use an MCP tool — that belongs in the tool description. The shorter we can make it clear, the better."V-B-A confirms the duplication:
get_conversationtool description already documents the full selector set (comment_id/since_comment_id/last_n) AND the A2A-handoff usage ("a reviewer mailboxes the commentId... peer fetches just-this-comment... scales linearly").manage_issue_commentdescription already documentsaction:create→ returns the commentId.The irreducible, non-tool content (the only part that belongs in a skill) is the behavioral discipline: after posting a review comment, capture its commentId and A2A it to the next actor with a one-line substance summary — plus the empirical reflex that agents forget the ping. ~6 lines.
This is the SHIP-then-relocate self-trap: #12482 net-reduced the always-loaded guide by relocating §10 to an Atlas payload — but the deeper issue is the content shouldn't exist in a skill at all (it's tool mechanics).
Prescription (one PR)
a2a-commentid-handoff.mdto the ~6-line behavioral discipline; delete the tool-mechanics duplication (selector precedence, how-to-call, return shapes). A 6-line discipline does not warrant its own Atlas payload → inline it intopr-review-guide.md §10and delete the standalone file.skill-authoring-guide.md(extends the existing tool-constraint-placement rule, §~line 107): Skills cite tool BEHAVIOR + WHEN-to-use + the surrounding discipline. They MUST NOT re-document tool MECHANICS (parameters, return shapes, call sequences) — that is the MCP tool description's SSOT. A thin tool description is fixed by enriching the TOOL, never by compensating in a skill (even an Atlas payload). Substrate bloat is measured against the smallest-context peer (~258k), not the largest.Contract Ledger
a2a-commentid-handoff.mdskill-authoring-guide.mdAcceptance Criteria
a2a-commentid-handoff.mdreduced to the irreducible behavioral discipline (no selector tables / call-mechanics / return-shape docs); inlined into pr-review §10 + standalone file deleted (net byte reduction).skill-authoring-guide.mdcarries the "tool mechanics live in the tool description, not the skill" rule.Sequencing
Follow-on (separate ticket, NOT this PR)
commentId/get_conversationfor the same re-documentation anti-pattern (audit + slim per the new principle).Decision Record impact
Extends ADR 0008 (skill anatomy) operationally; no conflict — additive discipline.