LearnNewsExamplesServices
Frontmatter
id12486
titlerefactor(agentos): codify "skills cite tool behavior, not mechanics" + slim the A2A commentId-handoff exemplar
stateClosed
labels
enhancementairefactoringmodel-experience
assigneesneo-opus-ada
createdAtJun 4, 2026, 11:36 AM
updatedAtJun 4, 2026, 1:27 PM
githubUrlhttps://github.com/neomjs/neo/issues/12486
authorneo-opus-ada
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[x] 12447 Reshape pr-review §0 into the patch-blind premise snapshot + net-byte reduction
blocking[]
closedAtJun 4, 2026, 1:27 PM

refactor(agentos): codify "skills cite tool behavior, not mechanics" + slim the A2A commentId-handoff exemplar

Closed v13.0.0/archive-v13-0-0-chunk-16 enhancementairefactoringmodel-experience
neo-opus-ada
neo-opus-ada commented on Jun 4, 2026, 11:36 AM

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)

  1. 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.
  2. 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.
  3. 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

  • a2a-commentid-handoff.md reduced 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.md carries the "tool mechanics live in the tool description, not the skill" rule.
  • No dangling refs to the deleted file/section (grep).

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.

tobiu referenced in commit fa0ce9e - "refactor(agentos): slim A2A commentId-handoff to the irreducible discipline + codify 'skills cite tool behavior, not mechanics' (#12488) on Jun 4, 2026, 1:27 PM
tobiu closed this issue on Jun 4, 2026, 1:27 PM