CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/grpcurl-cli

Wraps grpcurl, the curl-equivalent CLI for gRPC. Covers descriptor sources (server reflection default, --import-path + --proto for proto files, --protoset for compiled descriptor sets), service discovery (`list`, `describe`), invoking unary RPCs (`-d '{...}'`, `-d @file.json`, `-d @` for stdin), streaming RPCs (newline-delimited JSON via stdin), TLS configuration (--cacert, --cert, --key, --insecure, --plaintext), header injection (-H 'Authorization: Bearer ...'), and exit codes. Use for ad-hoc gRPC debugging, smoke testing, scriptable PR-time gates, and CLI-based interaction with reflective gRPC services.

69

Quality

87%

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

Overview
Quality
Evals
Security
Files

Quality

Content

82%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.

A highly actionable, well-structured reference: executable commands throughout, a decision table for descriptor sources, CI-ready examples, and deliberate offloading of catalogs to companion skills. The main gaps are minor: repeated inline cross-references, a missing validate-retry feedback loop for CI failures, and inline CI/anti-pattern content that could be split into reference files.

Suggestions

Consolidate the three inline repeats of the grpcurl README URL and the three repeats of the status-code catalog citation into the References section (or a single first mention), removing the duplicated 'Per [grpcurl README]' preambles to tighten conciseness.

Add an explicit feedback loop to the CI smoke-test workflow — e.g., 'if exit code is non-zero, re-run with -format=json and inspect the Code: line, then alert' — so workflow clarity reaches the validate-fix-retry standard.

Move the full GitHub Actions YAML and/or the anti-patterns table into a references/ file (e.g., references/ci-integration.md), keeping a one-line pointer in SKILL.md to shorten the main body and improve progressive disclosure.

DimensionReasoningScore

Conciseness

The body is command- and table-driven with almost no explanation of concepts Claude already knows, but it repeats the full grpcurl README URL three times ("Per [grpcurl README](https://github.com/fullstorydev/grpcurl/...)") and the status-code catalog reference three times ("grpc-streaming-test-author (references/status-codes.md)"), and the Overview slightly restates the README. These are minor trimmable instances, matching the score-4 anchor 'efficient; minor instances of over-explanation that could be trimmed'. It is not a 5 because of that repetition; not a 3 because there is no padded conceptual filler.

4 / 5

Actionability

Every section is copy-paste ready: `brew install grpcurl`, `grpcurl -plaintext localhost:8787 list`, mTLS invocation with `-cacert/-cert/-key`, `-d @` streaming via heredoc, `protoc --descriptor_set_out` protoset generation, a complete GitHub Actions workflow, and shell exit-code branching with if/else. Specific executable examples cover the common cases (plaintext dev, server TLS, mTLS, auth headers, streaming), matching the score-5 anchor. No gaps significant enough to drop to 4.

5 / 5

Workflow Clarity

Sequences are clear and mostly checkpointed: Install → verify with `grpcurl -version` → choose a descriptor source via the decision table → discover (`list`/`describe`) → invoke → parse exit codes, plus a bug-reproduction workflow and CI gating on exit code 0. It is not a 5 because there is no explicit validate-and-retry feedback loop (e.g., the CI smoke test fails with no prescribed next step) and the reflection smoke-matrix script's logic is only loosely explained. It is above a 3 because verification steps (version check, exit-code branching, `-format=json` + jq) are genuinely present, and the operations are read-only so the destructive-validation cap does not apply.

4 / 5

Progressive Disclosure

Structure is good: well-organized sections with clear headers, and bulky detail is correctly offloaded to companion skills — "grpc-streaming-test-author (references/status-codes.md)", "buf-cli-lint-breaking-build (references/versioning-strategy.md)", "ghz-load", "grpc-mock" — all one level deep and clearly signaled. No bundle files exist in this skill (references/, scripts/, assets/ are absent), yet the ~330-line body inlines material that could live in separate reference files (the ~35-line CI YAML, the anti-patterns table), which is a minor organization gap. That places it at the score-4 anchor rather than 5; it is well above a 3 because navigation is easy and references are clearly labeled rather than buried.

4 / 5

Total

17

/

20

Passed

Description

88%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: comprehensive, flag-level specificity in third person, with an explicit 'Use for...' trigger clause covering debugging, smoke testing, and CI gates. Keyword coverage and distinctiveness against sibling gRPC skills are good but not perfect, which are the only minor gaps.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions with their exact flags: "Covers descriptor sources (server reflection default, --import-path + --proto for proto files, --protoset for compiled descriptor sets), service discovery (`list`, `describe`), invoking unary RPCs (`-d '{...}'`, `-d @file.json`, `-d @` for stdin), streaming RPCs..., TLS configuration (--cacert, --cert, --key, --insecure, --plaintext), header injection (-H 'Authorization: Bearer ...')". Coverage is comprehensive and written in third person ("Wraps", "Covers"), matching the score-5 anchor of multiple specific concrete actions. It is not a 4 because there are no meaningful coverage gaps — even edge behaviors like stdin payloads and exit codes are enumerated.

5 / 5

Completeness

Both questions are answered explicitly: the "what" is "Wraps grpcurl, the curl-equivalent CLI for gRPC" plus a full capability inventory, and the "when" is the explicit clause "Use for ad-hoc gRPC debugging, smoke testing, scriptable PR-time gates, and CLI-based interaction with reflective gRPC services". This matches the score-5 anchor with concrete trigger phrases; it is not a 4 because the 'when' clause is already explicit and specific rather than merely improvable.

5 / 5

Trigger Term Quality

Good natural keyword coverage: "gRPC debugging", "smoke testing", "proto files", "reflective gRPC services", "grpcurl". A few natural terms users would actually say are missing — e.g., "protobuf", "test a gRPC service", "health check", or the `.proto` extension — so it falls just short of the score-5 anchor of comprehensive synonyms and file extensions. It is above a 3 because several natural phrases are present alongside the technical terms rather than jargon alone.

4 / 5

Distinctiveness Conflict Risk

The CLI-specific framing — "curl-equivalent CLI for gRPC" with flags like `--protoset`, `-d @`, `-H` — carves a clear niche. However, broad triggers such as "smoke testing" and "gRPC debugging" overlap with the sibling gRPC tooling skills this document itself cites (ghz-load, grpc-streaming-test-author, grpc-mock), creating minor wrong-skill trigger risk. It is not a 5 because of that overlap, and not a 3 because the description is firmly anchored to one specific tool.

4 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 6 missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents