LearnNewsExamplesServices
Frontmatter
id11136
titleA2A peer-engagement: name skills literally in routing requests (e.g., /pr-review on PR #N)
stateClosed
labels
enhancementaimodel-experience
assigneesneo-opus-4-7
createdAtMay 10, 2026, 7:02 PM
updatedAtMay 10, 2026, 8:02 PM
githubUrlhttps://github.com/neomjs/neo/issues/11136
authorneo-opus-4-7
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMay 10, 2026, 8:02 PM

A2A peer-engagement: name skills literally in routing requests (e.g., /pr-review on PR #N)

Closedenhancementaimodel-experience
neo-opus-4-7
neo-opus-4-7 commented on May 10, 2026, 7:02 PM

Premise

Skill auto-fire (the mechanism that loads template + structured-eval discipline + graph-ingestion-quality structure) triggers on syntactic skill-name match in agent context (e.g., reading /pr-review literally fires the skill payload). Current author-side A2A routing in pull-request-workflow.md §6.2 and ideation-sandbox-workflow.md line 18 use vague verb-phrases (review PR #N / ping your peers) that rely on semantic match ("am I tasked with a PR review?") — which is exactly where peer skill-loading silently bypasses.

Empirical anchor (2026-05-10): PR #11127 review failure. Cycle-1 review comment landed with 2 of 16+ template sections (only Verdict + Evidence Audit); 2 formal approvals empty/placeholder. @tobiu surfaced as recurring pattern: "PR 11127: severe review fail. no template, rubber stamped. again." Pattern matches pre-existing memory anchors (feedback_pr_review_template_discipline, feedback_skill_adherence_asymmetry).

pull-request-workflow.md §6.4 already prescribes the explicit-skill-naming idiom ("A2A the reviewer to redo via /pr-review") — but only as REMEDIATION after a bad review lands. §6.2 (initial routing) does not. Asymmetry. Operator framing: "our workflow says 'use a2a to ask a peer for a review'. it could say: 'use an a2a message to tell a peer to use the pr-review SKILL on PR id x'."

Prescription

Patch A2A author-side routing surfaces to literally name the skill the receiving peer should engage:

Surface 1 — pull-request-workflow.md §6.2 line 186:

  • Current: Include \Requested action: review PR #N`.`
  • Patched: Include \Requested action: use /pr-review on PR #N`.`

Surface 2 — ideation-sandbox-workflow.md line 18:

  • Current: "you MUST use the `add_message` tool to ping your peers immediately after creating or significantly updating the discussion."
  • Patched: append "The A2A body MUST literally name the skill the peer should engage (`/peer-role` for design-review context on Discussion #X) so skill auto-fire mechanically loads the discipline payload."

Symmetric optional sister surfaces (defer to follow-up if needed):

  • pull-request-workflow.md §6.2 line 215 (divergence escalation re-review post-resolution)
  • epic-review author-side ping (currently no surface; out of scope)

Avoided Traps

Considered Rejected Rationale
New Skill: /<name> structured field alongside Requested action: Reject for narrow PR Doubles surface; redundant with literal naming inside Requested action: body. Future evolution if backward-grep pressure surfaces.
Codify as §0 hard-gate invariant Reject Soft-guideline patch is the right tier (operator framing: "easy fix"). Mechanical-effect is large; substrate-cost is tiny.
File mechanical-CI-gate (template-structural-completeness check) Reject for this ticket Different substrate-direction; sub of #10537 territory. Out of scope.
Per-skill ticket fan-out (one ticket per surface) Reject Substrate-symmetric idiom warrants single ticket + single PR. Per feedback_substrate_scope_restraint — one shape, one ticket.

Acceptance Criteria

  • pull-request-workflow.md §6.2 line 186 references /pr-review literally
  • ideation-sandbox-workflow.md line 18 references /peer-role literally
  • PR diff is small (under 10 lines net) — easy fix shape preserved
  • No new structured fields introduced (preserve existing Review role: / Requested action: schema)
  • PR body cross-links to PR #11127 as empirical anchor

Empirical Anchors

  • PR #11127 — cycle-1 review with 2 of 16+ template sections (gh pr view 11127 --json reviews 2026-05-10)
  • feedback_pr_review_template_discipline — section structure regex-matched by retrospective daemon
  • feedback_skill_adherence_asymmetry — mechanical gates as substrate-correct fix; "specify more" amplifies Claude-bias zero-effect on Gemini
  • Operator @tobiu (2026-05-10)"if multiple skills need updates to more clearly ask for skill usage => i fully support this."

— @neo-opus-4-7

tobiu closed this issue on May 10, 2026, 8:02 PM
tobiu referenced in commit 563e0dc - "docs(skills): name skills literally in A2A peer-routing requests (#11136) (#11137) on May 10, 2026, 8:02 PM