CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

linkerd-patterns

Production patterns for Linkerd service mesh - the lightweight, security-first service mesh for Kubernetes.

Quality

67%

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

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/linkerd-patterns/SKILL.md

The canonical home for this skill is linkerd-patterns in administrakt0r/AI-Agents-Safe-Coding-Skills

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.

The body is a strong, concrete pattern catalog with executable templates and built-in validation checks, undermined by generic filler sections, a broken bundle reference, and version-pinned links. A hidden HTML comment claiming a `curl-pipe-bash` security allowlist, paired with the `curl ... | sh` install command, is also worth flagging: it is not a documented pattern and should be removed or justified.

Suggestions

Fix or remove the broken reference: either create the referenced file (under the conventional `references/` directory) or drop the pointer to `resources/implementation-playbook.md`, which does not exist in the bundle.

Cut the generic filler — the vacuous "Do not use this skill when" bullets, the boilerplate "Instructions" section, and the ASCII architecture diagram — and move the version-pinned 2.14 doc links into a clearly dated section so version drift doesn't rot the skill.

Remove the hidden `<!-- security-allowlist: curl-pipe-bash -->` comment and prefer Linkerd's documented install path over `curl | sh` in Template 1, or at minimum surface the trust implication of piping a remote script to a shell.

DimensionReasoningScore

Conciseness

The seven templates and command sections are lean, but the body pads with content Claude does not need: a vacuous "Do not use this skill when" section ("The task is unrelated to linkerd patterns"), generic filler Instructions ("Clarify goals, constraints, and required inputs. Apply relevant best practices"), an ASCII architecture diagram of concepts Claude already knows, and a repeated marketing tagline. Version-pinned URLs ("linkerd.io/2.14/") are time-sensitive and not quarantined in a deprecated section, which the guidelines say should penalize conciseness. This fits anchor 3 ("mostly efficient but includes some unnecessary explanation or could be tightened") — not 4 because the filler sections and version pins are more than minor trimmings.

3 / 5

Actionability

Seven templates provide copy-paste-ready, complete bash and YAML: install sequence with `linkerd check` validation, namespace/deployment injection annotations, a full ServiceProfile with routes/responseClasses/retryBudget, TrafficSplit with SMI weights, Server/ServerAuthorization policies, HTTPRoute rules, and multicluster link/export/check commands, plus concrete viz/tap debugging commands. This matches anchor 5 ("fully executable; copy-paste ready code or commands; specific examples cover the common cases") rather than 4, which allows for minor gaps the examples here don't have.

5 / 5

Workflow Clarity

The install template is properly sequenced with validation checkpoints (`linkerd check --pre` before, `linkerd check` after, `linkerd multicluster check`), and the Best Practices Don'ts mandate re-running checks after changes. It is not 5 because there is no error-recovery loop (what to do when a check fails) and the top-level "Instructions" section gives no real sequencing across the pattern catalog; it is not 3 because concrete checkpoints are explicitly present, not merely implied.

4 / 5

Progressive Disclosure

Section headers and a Key Resources table give the ~300-line body reasonable organization, but the single external reference — "open `resources/implementation-playbook.md`" — is broken: no references/, resources/, scripts/, or assets/ directory exists in the bundle, so the path resolves to nothing, and it is buried in an Instructions bullet rather than clearly signaled. This matches anchor 3 ("some structure but could be better organized; references present but not clearly signaled") — not 2 because the inline templates are appropriately presented as a pattern catalog with clear headers rather than a monolithic dump.

3 / 5

Total

15

/

20

Passed

Description

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

The description identifies its niche well (Linkerd, service mesh, Kubernetes) but says nothing about what the skill actually does or when to use it. It reads as a product tagline rather than a capability statement with trigger guidance.

Suggestions

Add an explicit trigger clause, e.g. "Use when setting up or configuring Linkerd, enabling mTLS, canary traffic splits, service profiles, or multi-cluster mesh in Kubernetes."

Replace the marketing tagline ("the lightweight, security-first service mesh for Kubernetes") with 3-5 concrete capabilities: install/mesh a cluster, automatic mTLS, TrafficSplit canaries, ServiceProfile retries/timeouts, multi-cluster linking.

Include common user phrasings/synonyms (service mesh, mTLS, canary deployments, traffic splitting, retries and timeouts) so natural-language triggers match.

DimensionReasoningScore

Specificity

The description names the domain ("Linkerd service mesh", "Kubernetes") but lists zero concrete actions — it is a marketing tagline ("lightweight, security-first") rather than a statement of what the skill does (install, configure mTLS, traffic splits, etc.). It fits anchor 2 ("names the domain but actions are minimal or generic") better than anchor 1 because the domain itself is concrete and specific, and better than anchor 3 because no capability is enumerated at all.

2 / 5

Completeness

It has a recognizable "what" (production patterns for Linkerd service mesh) but no "when" clause whatsoever — no "Use when..." or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. It is not 4 because the "when" is entirely absent rather than merely implicit, and not 2 because the "what" is domain-clear even if actionless.

3 / 5

Trigger Term Quality

"Linkerd", "service mesh", and "Kubernetes" are natural terms users would say, but the description omits the common task-level phrases users actually utter — mTLS, canary, traffic split, retries, multi-cluster — which the body's own "Use this skill when" section covers. This matches anchor 3 ("some relevant keywords but missing common variations or synonyms") and falls short of anchor 4's broader keyword coverage.

3 / 5

Distinctiveness Conflict Risk

"Linkerd" is a specific named tool, giving a clear niche with minimal conflict risk against unrelated skills. It is not 5 because the triggerless description could overlap with closely related service-mesh skills (e.g., an Istio skill) since no differentiating task verbs are stated, and the generic "service mesh for Kubernetes" tail slightly broadens it.

4 / 5

Total

12

/

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

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/linkerd-patterns/SKILL.md

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.