CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

debug-network

Diagnose OpenShift service connectivity issues including DNS resolution, service endpoints, route ingress, and network policies. Automates multi-step diagnosis: service endpoint verification, pod selector matching, route status, and network policy analysis. Use this skill when services can't communicate, routes return 503/502 errors, or external access fails. Triggers on /debug-network command or phrases like "can't reach service", "route returning 503", "pods can't communicate", "no endpoints".

Quality

85%

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

SKILL.md
Quality
Evals
Security

Quality

Content

70%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 well-sequenced interactive diagnosis workflow with explicit human-in-the-loop checkpoints, conditional issue detection, and post-fix verification loops — workflow clarity is excellent. It is held back by verbose pre-rendered example tables on every step and a broken reference layer: the files in references/ are pointer stubs to nonexistent external paths, so the detailed debugging patterns and mandatory checkpoint behavior they promise are not actually available.

Suggestions

Trim each step's markdown template to a skeleton (headers plus one placeholder row) and state the decision rule in prose — Claude can render the table itself, which would cut a large fraction of the ~320-line body without losing format guidance.

Fix the references layer: each file in references/ contains only a one-line pointer to a path outside the bundle (e.g. '../../debug-build/references/debugging-patterns.md') that doesn't resolve. Either inline the actual content (the fix tables, the checkpoint rules) or ship real copies in the bundle so the deferred material is reachable.

Remove the orphaned references/selinux-troubleshooting.md (unrelated to network connectivity) and drop the 'When to Use This Skill' section, which duplicates the frontmatter description almost word-for-word.

DimensionReasoningScore

Conciseness

The body avoids conceptual over-explanation, but every step carries fully worked output templates with fabricated example rows ("| [db-service] | ClusterIP | [ip] | [5432/TCP] | [0 - no endpoints!] |", "| [pod-3] | CrashLoopBackOff | 0/1 | [ip] | [node] |") that Claude could format itself, and the "When to Use This Skill" section restates the frontmatter description nearly verbatim. Mostly efficient but noticeably tightenable — more than the minor trimming of anchor 4.

3 / 5

Actionability

Concrete guidance throughout: named MCP calls ("Use kubernetes MCP `pods_list` with label selector matching service") and copy-paste-ready commands ("oc run test-curl --rm -i --tty --image=curlimages/curl -- curl -v http://[service-name].[namespace].svc.cluster.local:[port]", "oc patch svc myapp -p '{\"spec\":{\"selector\":{\"app\":\"my-app\"}}}'"). Not a 5 because the MCP invocations lack exact arguments (Step 4 assumes the route name is already known; Step 2 doesn't specify how to fetch the Endpoints object) and step bodies are output templates rather than exact call specifications.

4 / 5

Workflow Clarity

Six clearly sequenced steps with an explicit validation gate at every transition ("**WAIT for user response.** Do NOT proceed until user identifies the target", "**WAIT for user confirmation before proceeding.**"), explicit conditional branches ("[If no endpoints:] **WARNING: Service has NO endpoints!**", "[If selector mismatch:] **WARNING: Label Mismatch Detected!**"), and a post-fix feedback loop ("After fixing, verify with: ... curl -v https://[route-host]"). Checkpoints and error-recovery loops are explicit at every stage, matching the anchor-5 example rather than the 'most checkpoints' of anchor 4.

5 / 5

Progressive Disclosure

References are clearly signaled and one level deep ("See [Human-in-the-Loop Requirements](references/human-in-the-loop.md)", "see [references/debugging-patterns.md](references/debugging-patterns.md)"), but scored against the actual bundle: all four reference files are one-line pointer stubs to paths outside the bundle (e.g. "../../debug-build/references/debugging-patterns.md") that do not exist, so the deferred content — including the 'mandatory checkpoint behavior' — is unreachable, and references/selinux-troubleshooting.md is orphaned and unrelated to network debugging. Broken reference targets and an orphaned file are more than the 'minor organization gaps' of anchor 4.

3 / 5

Total

15

/

20

Passed

Description

96%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 that explicitly answers both what the skill does and when to use it, with concrete third-person actions and an unusually thorough set of natural trigger phrases plus the slash-command trigger. The only weakness is minor overlap risk with the related /debug-pod skill on pod-oriented phrasing.

DimensionReasoningScore

Specificity

Multiple concrete actions are named across the domain — "Diagnose OpenShift service connectivity issues including DNS resolution, service endpoints, route ingress, and network policies" and "Automates multi-step diagnosis: service endpoint verification, pod selector matching, route status, and network policy analysis" — in third-person voice ("Diagnoses", "Automates"). Coverage spans every sub-area of the skill's domain, matching the comprehensive anchor rather than the 'minor gaps' of anchor 4.

5 / 5

Completeness

Both halves are explicit: what it does ("Diagnose OpenShift service connectivity issues... Automates multi-step diagnosis: service endpoint verification, pod selector matching, route status, and network policy analysis") and when to use it with concrete trigger phrases ("Use this skill when services can't communicate, routes return 503/502 errors, or external access fails. Triggers on /debug-network command or phrases like..."). This matches the anchor-5 example structure exactly; anchor 4's 'when could be more explicit' does not apply.

5 / 5

Trigger Term Quality

Dense coverage of phrases users would naturally say, given as explicit quotes: "'can't reach service', 'route returning 503', 'pods can't communicate', 'no endpoints'", plus scenario conditions ("services can't communicate, routes return 503/502 errors, or external access fails") and the "/debug-network" command. This exceeds the anchor-4 example ('a few natural terms missing') in both variety and naturalness; only edge phrasings like 'connection timed out' or 'DNS not resolving' are absent.

5 / 5

Distinctiveness Conflict Risk

The niche is clear (OpenShift service connectivity: endpoints, routes, network policies) with distinctive triggers like "route returning 503" and "no endpoints". Not a 5 because the coexisting /debug-pod skill creates minor overlap via pod-oriented phrases ("pods can't communicate", "pod selector matching") and DNS resolution is mentioned without a corresponding workflow step — small but real overlap risk with closely related debugging skills, matching anchor 4 rather than 'minimal conflict risk'.

4 / 5

Total

19

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

RHEcosystemAppEng/agentic-plugins

Path

rh-developer/skills/debug-network/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.