skills/rhel/SKILL.md
Senior-level RHEL-family Linux operations. Use when running, debugging, hardening, patching, installing, upgrading, or operating Red Hat Enterprise Linux, Rocky Linux, AlmaLinux, CentOS Stream, Fedora-as-upstream, or related enterprise Linux hosts: systemd, RPM/DNF, SELinux, NetworkManager, firewalld, storage, kernel/kdump, FIPS/STIG, Satellite, IdM, Podman, bootc, air-gapped fleets.
npx skillsauth add mgajewskik/opencode-config rhelInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Production-first guidance for Red Hat Enterprise Linux and compatible Enterprise Linux distributions. Optimize for evidence, least-change repair, durable state, auditability, SELinux correctness, and version-aware operations. Skip beginner Linux tutorials unless the user explicitly asks.
This skill distills RHEL-family operational guidance into progressive references. Load only the nearest reference for the user's task.
Classify the request first, then load the smallest useful reference.
ansible skill and keep this skill for OS semanticsproxmox skill unless the question is specifically guest RHEL behavior/etc/os-release, /etc/redhat-release, uname -r, rpm -q, dnf --version, getenforce, relevant service versions.nmcli/nmstate profiles, firewalld permanent config, semanage fcontext + restorecon, content-view promotion.setenforce 0, chmod 777, raw audit2allow | semodule -i, ad hoc dnf update -y, direct vendor unit edits, runtime-only firewall/network changes.ip shows kernel state; nmcli/nmstate define durable profile state.nft list ruleset when needed, but preserve firewalld as the source of truth unless deliberately replacing it./etc/fstab through systemd.Ask focused questions before recommending action when any are true:
High-value questions:
cat /etc/os-release, cat /etc/redhat-release)systemctl, journalctl, dnf history, ausearch, nmcli, firewall-cmd, df, kdumpctl?Choose one primary mode and at most one secondary mode.
| Mode | Use when | Load |
|---|---|---|
| family | distro choice, support boundaries, Fedora/Stream/RHEL/Rocky/Alma comparison, RHEL 8/9/10 deltas | references/family-and-version-model.md |
| triage | unknown host, outage, vague failure, evidence bundle, symptom-to-layer diagnosis | references/triage-and-debugging.md |
| packages | RPM/DNF, repos, EPEL/CRB, modules, errata, security updates, package rollback | references/packages-repos-lifecycle.md |
| lifecycle | EUS, release pinning, leapp, major upgrades, kernel packages, Satellite patch cadence | references/packages-repos-lifecycle.md + references/airgapped-fleet-operations.md if fleet/air-gapped |
| services | systemd units, drop-ins, timers, journald, service failures, boot ordering | references/systemd-logs-boot-kernel.md |
| kernel-debug | boot failures, grubby/dracut, kdump, vmcore, crash, perf/eBPF | references/systemd-logs-boot-kernel.md |
| network | nmcli/nmstate, bonds, VLANs, bridges, DNS, routes, remote-safe changes | references/network-firewall-storage.md |
| firewall | firewalld zones/services/rich rules, runtime/permanent split, nftables inspection | references/network-firewall-storage.md |
| storage | LVM, XFS, fstab, Stratis, VDO, disk/full/inode incidents | references/network-firewall-storage.md |
| selinux | AVCs, labels, booleans, port labels, permissive domains, custom modules, MCS | references/selinux-operations.md |
| security | FIPS, crypto-policies, STIG/CIS/OpenSCAP, auditd, AIDE, fapolicyd | references/security-compliance-identity.md |
| identity | IdM/FreeIPA, SSSD, authselect, PAM, sudoers, HBAC, Kerberos/certs | references/security-compliance-identity.md |
| containers | Podman/rootless, Quadlet, UBI, SELinux volumes, cgroups, bootc/image mode | references/containers-image-mode.md |
| fleet | Satellite, content views, capsules, local mirrors, disconnected operations, drift | references/airgapped-fleet-operations.md |
| learn | ramp-up plan, labs, proof-of-fluency, mentoring | references/learning-roadmap.md |
Common combinations:
triage + selinuxservices + packagesnetwork + firewalllifecycle + fleetsecurity + identitycontainers + selinuxDefault response shape:
Verdict - one-line assessment or recommended directionWhy - mechanism and RHEL-family-specific reasonSmallest safe path - concrete commands or config directionRisks / edge cases - support, SELinux, reboot, network, data, audit, version concernsValidation - commands or observations that prove the fixRollback / next step - how to undo or proceed safelyMode-specific additions:
triage: include Likely layer, Evidence to collect first, Do not change yetreview: use Verdict, Blockers, Risks, Evidence, Suggested fixes, Smallest next steplifecycle or fleet: include Blast radius, Canary, Content source, Rollbackselinux: include AVC fields, Remediation class (boolean, fcontext, port, permissive-domain, module)network: include Console/OOB assumption and Active vs persistent checksecurity: include Compliance assumption and Audit artifactchmod 777, chcon as a persistent fix, or blind audit2allow | semodule -i./usr/lib/systemd/system; use drop-ins.dnf update -y, leapp upgrade, FIPS enablement, bootloader changes, storage mutations, or remote network changes without rollback and approval.Pass when all are true:
Fail when any are true:
| Scenario | Detection | Fallback |
|---|---|---|
| Version unclear | User did not provide distro/release/kernel | Ask for /etc/os-release, /etc/redhat-release, uname -r, relevant RPM versions |
| Vague incident | Only symptom provided | Start with read-only 5-minute triage bundle from triage reference |
| SELinux blamed without AVC | No audit evidence or mode unknown | Check getenforce, ausearch, ls -Z/ps -eZ; prove or falsify before changing mode |
| Remote network/firewall change | No console/OOB access stated | Ask for rollback/OOB; suggest nmcli checkpoint and staged firewall changes |
| Fleet patching requested | No content source or promotion path stated | Ask whether Satellite/content views/local mirror/direct CDN; propose canary before broad update |
| High-stakes compliance | FIPS/STIG/audit mentioned | Require version-specific docs/local state; do not improvise policy exceptions |
documentation
Create senior-level deep research dossiers and roadmap companions. Use when the user asks for a dossier, senior research, deep research, in-depth research, mental models for a topic, senior perspective on a topic, how something actually works, ramp up on a topic, architectural deep dive, tradeoffs, failure modes, or what a senior would notice. Produces current-directory research-* and roadmap-* markdown artifacts, not a tutorial or short summary.
development
Senior-level Knative and OpenShift Serverless guidance for Serving, Eventing, Functions, autoscaling, scale-to-zero, CloudEvents, RabbitMQ/Kafka sources, Lambda migration, Harbor/OCI images, debugging, operations, and production rollout. Use when working with Knative Service, Revision, Route, KPA, activator, queue-proxy, Broker, Trigger, Source, Sink, kn func, OpenShift Serverless, Kourier, eventing-rabbitmq, Knative Kafka, or serverless workloads on Kubernetes/OpenShift.
development
Senior-level Proxmox VE guidance for VM creation, templates, storage, ZFS, Ceph, networking, clusters, HA, PBS backups, debugging, upgrades, security, and production/homelab operations. Use when working with Proxmox, PVE, Proxmox VE, qm, pct, pvesm, pvecm, pmxcfs, HA manager, Proxmox Backup Server, VM migration, Proxmox incidents, or Ceph/ZFS/Corosync/VLAN bridges in a Proxmox VE context.
development
Senior-level OpenShift and OKD guidance for installing, operating, debugging, upgrading, and securing clusters. Use when working with OpenShift Container Platform, OKD, MicroShift, oc, openshift-install, CVO, MCO, OLM, SCCs, Routes, OVN-Kubernetes, RHCOS/SCOS, disconnected or air-gapped installs, OperatorHub, ODF, OpenShift Virtualization, monitoring, logging, GitOps, Pipelines, Service Mesh, etcd, certificates, or day-2 cluster incidents.