CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

mtls-configuration

Configure mutual TLS (mTLS) for zero-trust service-to-service communication. Use when implementing zero-trust networking, certificate management, or securing internal service communication.

Quality

68%

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/skills/mtls-configuration/SKILL.md

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

SKILL.md
Quality
Evals
Security

Quality

Content

43%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 reference-style skill with genuinely useful, concrete Istio/Linkerd/SPIRE/cert-manager templates, undermined by padded filler sections, unexplained-in-practice ordering (no stepwise rollout workflow with validation gates), and a dangling pointer to a nonexistent resources/implementation-playbook.md. The strongest material is the template and debugging command catalog; the weakest are workflow sequencing and token efficiency.

Suggestions

Replace the vague 'Instructions' section with an ordered rollout workflow with validation gates, e.g. 1) issue/verify certs (kubectl get certificate -A, check READY=True), 2) apply PERMISSIVE PeerAuthentication, 3) verify traffic with 'istioctl authn tls-check' equivalent / 'linkerd viz edges', 4) only then switch to STRICT and re-verify — this directly lifts workflow_clarity.

Cut the 'Core Concepts' ASCII diagrams (mTLS handshake steps, CA hierarchy) and the vacuous 'Do not use this skill when' bullets; Claude already knows how mTLS handshakes and CA chains work — this lifts conciseness without losing actionable content.

Either ship the referenced resources/implementation-playbook.md or remove the pointer; if shipped, move the SPIRE/cert-manager template bulk there and keep SKILL.md as a navigation overview — this fixes the broken reference central to progressive_disclosure.

DimensionReasoningScore

Conciseness

Several sections pad without adding information Claude lacks: the ASCII 'TLS Handshake' and 'Certificate Hierarchy' diagrams re-explain well-known mTLS/CA concepts, 'Instructions' offers vacuous bullets like 'Apply relevant best practices and validate outcomes', and 'Do not use this skill when' states only 'The task is unrelated to mtls configuration'. Anchor 2 ('noticeably verbose; several unnecessary explanations or padded sections') fits; not 3 because the padding spans multiple sections, not just minor trimming.

2 / 5

Actionability

The five templates are concrete, near-copy-paste YAML with real apiVersions (PeerAuthentication STRICT/PERMISSIVE, DestinationRule ISTIO_MUTUAL, cert-manager Certificate, SPIRE DaemonSet) plus executable commands like 'istioctl proxy-config secret deploy/my-app -o json | jq ...' and 'linkerd viz edges deployment'. Not 5 because of placeholders ('<base64-encoded-ca-cert>'), an explicitly '(abbreviated)' SPIRE DaemonSet, and the deprecated 'istioctl authn tls-check' command.

4 / 5

Workflow Clarity

There is no sequenced implementation workflow: 'Instructions' is a vague unordered list ('Clarify goals... Apply relevant best practices...'), and the body is a topical reference (concepts, templates, rotation, debugging) with no ordered steps and no validation checkpoints before enabling STRICT mode. Not 1 because the topical layout and the debugging/verification commands imply a rough progression; not 3 because even an implicit checkpoint sequence (apply -> verify -> migrate) is never stated.

2 / 5

Progressive Disclosure

Section headers are clear and consistent (Templates, Certificate Rotation, Debugging, Best Practices), but the body's single bundle pointer — 'If detailed examples are required, open resources/implementation-playbook.md' — references a file that does not exist (no resources/, references/, scripts/, or assets/ directories ship with the skill), and ~200 lines of template YAML are inlined that would justify a real reference file. Not 2 because structure is present and the reference is clearly signaled; not 4 because the one reference is broken, so navigation fails at the exact moment it's needed.

3 / 5

Total

11

/

20

Passed

Description

78%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: explicit what-and-when structure with concrete trigger phrases ('zero-trust networking', 'certificate management', 'securing internal service communication') that users would naturally say. The only weaknesses are a single generic action verb ('Configure') that undersells the skill's actual breadth, and a mildly broad 'certificate management' trigger that slightly overlaps a hypothetical dedicated cert skill.

DimensionReasoningScore

Specificity

The description names the domain precisely ('Configure mutual TLS (mTLS) for zero-trust service-to-service communication') but lists only one action verb — 'Configure'. This matches anchor 3 ('names domain and 1-2 concrete actions, but not comprehensive', e.g. 'Processes PDF files and extracts content'). Not 4 because unlike 'Extracts text, fills forms, converts pages to images' it never enumerates several concrete actions (e.g. issuing certs, applying PeerAuthentication, debugging handshakes); not 2 because the scope is specific, not generic.

3 / 5

Completeness

It explicitly answers both: what — 'Configure mutual TLS (mTLS) for zero-trust service-to-service communication' — and when — 'Use when implementing zero-trust networking, certificate management, or securing internal service communication' with three concrete trigger phrases. This mirrors anchor 5 and the good example 'Extract text and tables from PDF files... Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.' Not 4 because the when-clause is not merely present but specific and multi-trigger.

5 / 5

Trigger Term Quality

Natural trigger terms are present and varied: 'mutual TLS', 'mTLS', 'zero-trust networking', 'certificate management', 'service-to-service communication' — phrases users would genuinely say. Matches anchor 4 ('good keyword coverage; a few natural terms missing'). Not 5 because common variations like 'service mesh', 'TLS certificates', or tool names users mention ('Istio', 'Linkerd') are absent; not 3 because the existing coverage goes well beyond 'Works with PDF files'-level generic keywords.

4 / 5

Distinctiveness Conflict Risk

mTLS is a clear niche with distinct triggers, matching 'mostly distinct; minor overlap risk with closely related skills'. Not 5 because the trigger 'certificate management' is broad enough to also fire a dedicated certificate-management or generic TLS skill; not 3 because the mutual-TLS/zero-trust framing is far more specific than 'Works with document files'.

4 / 5

Total

16

/

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/skills/mtls-configuration/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.