Connect Query patterns for API calls. Use when working with mutations, queries, or data fetching.
66
48%
Does it follow best practices?
Impact
97%
1.15xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./frontend/.claude/skills/api-patterns/SKILL.mdQuality
Discovery
32%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description is too vague to effectively distinguish this skill from other data-fetching or API-related skills. While it includes a 'Use when' clause, the trigger terms are overly generic and would conflict with many similar skills. The 'what' portion lacks concrete actions, making it unclear what specific capabilities this skill provides.
Suggestions
Specify the library/framework context explicitly, e.g., 'Implements Connect Query (@connectrpc/connect-query) patterns for type-safe gRPC-Web API calls in React applications'.
List concrete actions the skill performs, such as 'generate query hooks from protobuf services, create mutation handlers, configure transport layers, handle streaming RPCs'.
Add distinctive trigger terms that differentiate from generic data-fetching skills, e.g., 'Use when working with Connect Query, @connectrpc, protobuf services, gRPC-Web, or .proto files in a React/TypeScript project'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description says 'Connect Query patterns for API calls' which is vague — it doesn't list any concrete actions like 'generate query hooks', 'create mutation handlers', or 'configure data fetching'. 'Patterns' is abstract. | 1 / 3 |
Completeness | It has a 'Use when...' clause which addresses the 'when', but the 'what' is weak — 'Connect Query patterns for API calls' barely explains what the skill actually does. The trigger terms ('mutations, queries, or data fetching') are also very broad and don't clearly tie to Connect Query specifically. | 2 / 3 |
Trigger Term Quality | Includes some relevant keywords like 'mutations', 'queries', 'data fetching', and 'API calls' that users might naturally say. However, it misses common variations like specific library names (e.g., 'Connect Query', 'connect-query', '@connectrpc', 'protobuf', 'gRPC'), file types, or related terms like 'RPC', 'service calls'. | 2 / 3 |
Distinctiveness Conflict Risk | Terms like 'mutations', 'queries', 'data fetching', and 'API calls' are extremely generic and would overlap heavily with skills for React Query, Apollo GraphQL, SWR, tRPC, REST API patterns, or any data-fetching library. 'Connect Query' is not distinctive enough without specifying the library/framework context. | 1 / 3 |
Total | 6 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-structured, concise overview skill that serves as a routing table to more detailed guidance. Its main strength is token efficiency and clear organization. However, it lacks inline executable examples and explicit workflow sequencing, relying heavily on external files that aren't provided in the bundle.
Suggestions
Add at least one minimal executable code example inline (e.g., a basic useQuery or useMutation call) so the skill is actionable even without the referenced rule files.
Add an explicit numbered workflow for the common mutation pattern: call mutation → handle error with toast → invalidate cache on success, with a validation/verification step.
Ensure the referenced rule files (use-connect-query.md, api-invalidate-cache.md, etc.) are included in the bundle so progressive disclosure can be properly evaluated and the skill functions as intended.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Very lean and efficient. No unnecessary explanations, no concepts Claude already knows. Every line serves a purpose — tables for quick lookup, key locations, and a single command for proto regeneration. | 3 / 3 |
Actionability | Provides some concrete guidance (key locations, proto regeneration command, table of actions) but delegates all actual implementation details to external rule files. No executable code examples for queries, mutations, or cache invalidation are shown inline. | 2 / 3 |
Workflow Clarity | The quick reference table implies a workflow (fetch → mutate → invalidate cache → handle errors) but doesn't explicitly sequence these steps or provide validation checkpoints. For mutation workflows involving cache invalidation, an explicit sequence with verification would be valuable. | 2 / 3 |
Progressive Disclosure | References to external files (use-connect-query.md, api-invalidate-cache.md, api-toast-errors.md, protobuf-no-edit.md, rules/ directory) are present and one-level deep, but no bundle files were provided to verify these exist. The references are signaled but could be more clearly organized with brief descriptions of what each contains. | 2 / 3 |
Total | 9 / 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.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
02210fa
Table of Contents
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.