CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

debug-rhel

Diagnose RHEL system issues including systemd service failures, SELinux denials, firewall blocking, and system resource problems. Automates multi-step diagnosis: journalctl log analysis, SELinux denial detection (ausearch), firewall rule inspection, and systemd unit status. Use this skill when applications fail on standalone RHEL/Fedora/CentOS hosts deployed via /rhel-deploy. Triggers on /debug-rhel command or phrases like "service won't start on RHEL", "SELinux blocking", "systemd failed", "firewall blocking".

Quality

84%

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

77%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 content excels at actionability and workflow clarity — real commands, explicit wait checkpoints, and recovery/verification loops at every phase. It is dragged down by token-inefficient duplicated overview sections and verbose response templates, and by a references/ directory of pointer stubs that redirect (to non-resolving paths) into other skills' bundles instead of holding actual content.

Suggestions

Remove the duplicated "This skill diagnoses" list and "When to Use This Skill" section (both restate the frontmatter description), and trim the example table rows from the markdown response templates to cut the body's token footprint.

Replace the one-line pointer stubs in references/ (e.g., human-in-the-loop.md containing only "../../validate-environment/references/human-in-the-loop.md") with real content files or direct links to valid paths, since every current target resolves to a missing file.

Move the long per-phase markdown response templates into a single references/response-templates.md and keep only the commands and checkpoint instructions inline in SKILL.md.

DimensionReasoningScore

Conciseness

The body is mostly efficient but includes padding that could be tightened: the "This skill diagnoses" list and "When to Use This Skill" section restate the frontmatter description, and the long markdown response templates with example table rows ([myapp.service], [other.service]) prescribe formatting Claude does not need spelled out. There is little concept over-explanation, so it sits above the score-2 anchor but clearly below "efficient; minor instances" at 4 given the ~445-line length and duplicated sections.

3 / 5

Actionability

Commands are concrete and executable throughout: "ssh -o BatchMode=yes -o ConnectTimeout=10 [user]@[host]", "journalctl -u [service] -n 100 --no-pager", "sudo ausearch -m AVC -ts recent", "sudo semanage fcontext -a -t [correct_type] \"[path](/.*)?\"" plus restorecon and firewall-cmd fixes. Placeholders are legitimate runtime variables, and the fix commands cover the common SELinux boolean/context/port cases, matching the copy-paste-ready anchor at 5.

5 / 5

Workflow Clarity

Eight phases are clearly sequenced (Connect → Identify → Status → Journal → SELinux → Firewall → Insights → Summary) with explicit "WAIT for user confirmation" checkpoints at every phase, a connection-verification step, a failure-recovery path with troubleshooting options, and a Verify Fix section that restarts and re-checks status. This matches the anchor requiring explicit validation steps and feedback loops for error recovery; the score-4 anchor's "minor validation gaps" does not apply.

5 / 5

Progressive Disclosure

References are clearly signaled (dedicated "Reference Documentation" section with one-line descriptions, plus inline links), but every file in references/ is a one-line pointer to a file in another skill's directory (e.g., human-in-the-loop.md → "../../validate-environment/references/human-in-the-loop.md") whose target does not resolve in this bundle — effectively two-level indirection. Combined with long response templates inlined in the body that could live in separate files, this fits the score-3 anchor (structure present but organization flawed) better than score 4.

3 / 5

Total

16

/

20

Passed

Description

88%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 clearly states concrete capabilities with named tools, an explicit use-when clause, and natural trigger phrases. Its only weaknesses are a few missing trigger synonyms and a couple of generic phrases ("systemd failed", "firewall blocking") that could cause overlap with non-RHEL or container debugging skills.

DimensionReasoningScore

Specificity

The description lists multiple concrete, tool-specific actions — "journalctl log analysis, SELinux denial detection (ausearch), firewall rule inspection, and systemd unit status" — covering all four issue categories it names. This matches the comprehensive-coverage anchor; it goes beyond the score-4 anchor ("several specific actions; minor gaps") by pairing each diagnosis category with the exact tool used.

5 / 5

Completeness

Both questions are explicitly answered: what ("Diagnose RHEL system issues including systemd service failures, SELinux denials, firewall blocking, and system resource problems") and when ("Use this skill when applications fail on standalone RHEL/Fedora/CentOS hosts", plus explicit trigger phrases). This matches the anchor for a clear what AND when with concrete trigger phrases; the score-4 anchor's "when could be more explicit" does not apply here.

5 / 5

Trigger Term Quality

Natural phrases users would actually say are present — "service won't start on RHEL", "SELinux blocking", "systemd failed", "firewall blocking" — plus the /debug-rhel command. Good coverage, but a few common variants are missing (e.g., "port blocked", "permission denied", Rocky/AlmaLinux mentions), so it stops short of the comprehensive-synonyms anchor at 5.

4 / 5

Distinctiveness Conflict Risk

The RHEL/Fedora/CentOS standalone-host scope is a clear niche with mostly distinct triggers, but phrases like "systemd failed" and "firewall blocking" are not RHEL-specific and could fire on any Linux host or overlap with the sibling /debug-container skill. That is minor overlap risk with closely related skills, matching the score-4 anchor rather than the minimal-conflict anchor at 5.

4 / 5

Total

18

/

20

Passed

Validation

81%

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

Validation — 13 / 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

relative_links

Relative link issues: 1 suspicious

Warning

Total

13

/

16

Passed

Repository

RHEcosystemAppEng/agentic-plugins

Path

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