CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/grpc-mock

Wraps gRPC server-mocking patterns for client-side tests: Go bufconn (in-memory net.Listener via google.golang.org/grpc/test/bufconn) + mockgen-generated interface mocks, Python pytest-grpc fixtures + unittest.mock patching of stubs, JVM grpc-mock library / in-process gRPC server (InProcessServerBuilder), Node @grpc/grpc-js fake server with NewServer-on-port-0. Use when writing client-side tests that need a controllable gRPC server response (success cases, error cases per grpc-status-code-mapping-reference, timeouts, and single-response error injection) without spinning up a real backend. For multi-message streaming-sequence tests (server-streaming, bidi), use grpc-streaming-test-author instead. Distinct from grpcurl-cli (ad-hoc CLI invocation against a real server) and ghz-load (perf against a real server).

77

Quality

97%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

92%

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

An actionable, lean authoring reference with executable code for four languages and good run/parse/troubleshoot coverage. Its main weakness is progressive disclosure: everything lives inline in one ~350-line file with no bundle files to offload the per-language deep dives.

Suggestions

Move each language's full code recipe into a separate reference file (e.g. references/go-bufconn.md, references/python-pytest-grpc.md) and keep SKILL.md as a concise overview that links to them, enabling one-level-deep progressive disclosure.

Convert named sibling-skill mentions (grpc-status-code-mapping-reference, grpc-streaming-test-author, grpcurl-cli, ghz-load, protobuf-compat-checking, buf-cli-lint-breaking-build) into explicit links or a dedicated 'Related skills' table so navigation is unambiguous.

Pull the error-mapping rules currently scattered as inline mentions of 'grpc-status-code-mapping-reference' into a short consolidated reference, so the core status-code assertion pattern is discoverable without cross-skill lookup.

DimensionReasoningScore

Conciseness

Prose is lean and assumes Claude's competence — no explaining of what gRPC or mocking is — with terse tradeoff notes like 'Tradeoff: doesn't exercise serialisation; faster, less fidelity.'; the length comes from legitimate breadth (four languages) rather than padding, so it is not the level-2 'includes some unnecessary explanation' case.

3 / 3

Actionability

Every language has fully executable, copy-paste-ready code (Go bufconn setup, Python pytest fixtures, JVM InProcessServerBuilder, Node @grpc/grpc-js), plus run commands and a CI yaml snippet, matching 'fully executable code/commands; copy-paste ready'.

3 / 3

Workflow Clarity

A clear author -> run -> parse-results sequence is present, with a 'Parsing results' section mapping specific failure types (wrong status code, marshalling errors, timeout) to fixes and an anti-patterns checklist serving error recovery; the test pass/fail is the validation gate and this is not a destructive/batch operation requiring a separate gated validate step.

3 / 3

Progressive Disclosure

Well-organized into clear sections but entirely monolithic — no references/, scripts/, or assets/ bundle files exist, and ~250 lines of per-language code are inline rather than split into one-level-deep reference files; sibling skills are referenced by name (e.g. 'grpc-status-code-mapping-reference') rather than as linked files, so it is not the level-3 'appropriately split ... easy navigation' case.

2 / 3

Total

11

/

12

Passed

Description

100%

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 tight, third-person description that names concrete mechanisms across four languages, gives an explicit 'Use when' trigger with success/error/timeout coverage, and explicitly fences off sibling skills. It is a strong example of a well-scoped skill description.

DimensionReasoningScore

Specificity

Lists multiple concrete per-language mechanisms — 'Go bufconn ... + mockgen-generated interface mocks', 'Python pytest-grpc fixtures + unittest.mock patching', 'JVM ... InProcessServerBuilder', 'Node @grpc/grpc-js fake server with NewServer-on-port-0' — matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

Explicitly answers both what ('Wraps gRPC server-mocking patterns for client-side tests: ...') and when ('Use when writing client-side tests that need a controllable gRPC server response ... without spinning up a real backend'), satisfying the 'clearly answers both what AND when' anchor.

3 / 3

Trigger Term Quality

Natural trigger terms a user would say are present — 'gRPC server-mocking', 'client-side tests', 'controllable gRPC server response', 'timeouts', 'error injection' — alongside the concrete library names; good coverage of how users phrase this need.

3 / 3

Distinctiveness Conflict Risk

Carves a clear niche and actively disambiguates: 'For multi-message streaming-sequence tests ... use grpc-streaming-test-author instead. Distinct from grpcurl-cli ... and ghz-load ...', making wrong-skill triggering unlikely.

3 / 3

Total

12

/

12

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents