CtrlK
BlogDocsLog inGet started
Tessl Logo

a2a-protocol

How agent-native apps discover, authenticate with, and call each other over A2A. Use when connecting one app to another, debugging a remote agent that won't authenticate, exposing skills to peers, or calling agents from scripts.

63

Quality

79%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/a2a-protocol/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

Highly actionable and dense with framework-specific knowledge the model could not infer, with good tables and executable examples throughout. The main costs are a monolithic single-file layout that should offload hosted-provider and type detail to reference files, some duplicated policy rhetoric, and inline restatement of standard A2A protocol.

Suggestions

Move the hosted-providers section (Foundry, Gemini Enterprise, Anthropic Managed Agents) and the 'All Types' export listing into one-level-deep reference files (e.g. references/hosted-providers.md, references/types.md), keeping only a decision summary in SKILL.md.

Deduplicate the anti-workaround policy: state it once in the Rule section and reference it from 'Calling another agent' instead of restating the argument.

Trim or collapse the Task Lifecycle and Message Parts tables, which restate standard A2A protocol knowledge, into a one-line pointer.

DimensionReasoningScore

Conciseness

Most of the ~490 lines are non-obvious framework specifics that earn their tokens, but the anti-workaround rule is argued twice at length ('Do not have app A generate and execute raw SQL...' in the Rule section and 'Do not switch to a direct action merely because a delegated run is slow or flaky' in Calling), and the Task Lifecycle and Message Parts tables restate standard A2A protocol. This fits anchor 3 ('mostly efficient but includes some unnecessary explanation or could be tightened') more than anchor 4's 'minor instances'.

3 / 5

Actionability

Copy-paste-ready code for the common paths (callAgent, A2AClient, custom mount), an exact manifest JSON with field-by-field rules, exact settings/UI paths, a probe endpoint URL, and failure-mode tables (503/401). Coverage of the common cases is complete and executable, matching anchor 5; the few illustrative fragments (approvedActions) are option-shape examples, not missing steps.

5 / 5

Workflow Clarity

Connection is framed as an explicit two-condition sequence ('two independent things, and both must be true'), and the probe section supplies a verification checkpoint ('reachable-but-unauthorized is the failure worth looking for'). However, much of the document is parallel reference material rather than a sequenced workflow, so anchor 4 ('clear sequence with most checkpoints present; minor validation gaps') fits better than 5.

4 / 5

Progressive Disclosure

Sections are well-labeled and there are no broken or nested references (the only pointers are external URLs and package docs — no references/, scripts/, or assets/ bundle files exist), but roughly 490 lines are inlined in one file, including hosted-provider detail (Foundry, Gemini Enterprise, Anthropic Managed Agents) and a type-export listing that clearly belong in one-level-deep reference files. Anchor 3 ('some structure; content that should be separate is inline') is the best fit; it is not 4 because no splitting has happened at all.

3 / 5

Total

15

/

20

Passed

Description

83%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete actions, third-person voice, and an explicit multi-scenario 'Use when' clause covering connect, debug, expose, and script-call triggers. The only weaknesses are minor keyword synonyms and slight overlap with the sibling delegation skill.

DimensionReasoningScore

Specificity

The description names three concrete actions — 'discover, authenticate with, and call each other over A2A' — which is specific, but coverage has minor gaps: registration, manifests, and hosted-provider integration are unmentioned. It sits between anchor 3 (1-2 actions) and anchor 5 (comprehensive), matching anchor 4's 'several specific actions; minor gaps'.

4 / 5

Completeness

It explicitly answers both what ('discover, authenticate with, and call each other over A2A') and when ('Use when connecting one app to another, debugging a remote agent that won't authenticate...') with concrete trigger phrases, in third person. This matches anchor 5 exactly; it is not anchor 4 because the 'when' clause is specific and multi-scenario rather than improvable.

5 / 5

Trigger Term Quality

Triggers are natural user phrasings — 'connecting one app to another', 'debugging a remote agent that won't authenticate', 'exposing skills to peers', 'calling agents from scripts' — giving good coverage, though the spelled-out synonym 'agent-to-agent' and terms like 'agent card' are absent. This fits anchor 4 ('good keyword coverage; a few natural terms missing') rather than 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The A2A/agent-native scope carves a clear niche with distinct triggers (remote agent auth, cross-app calling), but the body's own 'Related Skills' lists a sibling delegate-to-agent skill whose 'call another agent' phrasing overlaps slightly. Anchor 4 ('mostly distinct; minor overlap risk with closely related skills') fits better than 5's 'minimal conflict risk'.

4 / 5

Total

17

/

20

Passed

Validation

75%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (504 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

12

/

16

Passed

Repository
BuilderIO/agent-native
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.