Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Host Fact Inspector

ASecurity

Correlate job failures with host system facts to determine platform drift and resource issues. Use when: - After job failure analysis identifies affected hosts - "Check the system facts for failed hosts" - "Is the host healthy?", "Check disk space on server-01" - "Why is the service failing on this host?" NOT for: analyzing job events (use job-failure-analyzer first) or resolution guidance (use resolution-advisor after).

36 stars
0 votes
0 copies
0 views
Added 9/22/2026
documentationpythongodocumentation

Works with

mcp

Security Analysis

A100/100

Scanned 9/22/2026

Install to Claude Code

$npx -y skills add NVlabs/Skill2Env --skill host-fact-inspector --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Host Fact Inspector?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Host Fact Inspector
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nvlabs-host-fact-inspector/badge)](https://www.skillsdirectory.com/skills/nvlabs-host-fact-inspector)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: host-fact-inspector
description: |
  Correlate job failures with host system facts to determine platform drift and resource issues.

  Use when:
  - After job failure analysis identifies affected hosts
  - "Check the system facts for failed hosts"
  - "Is the host healthy?", "Check disk space on server-01"
  - "Why is the service failing on this host?"

  NOT for: analyzing job events (use job-failure-analyzer first) or resolution guidance (use resolution-advisor after).
model: inherit
color: blue
license: Apache-2.0
allowed-tools: hosts_list hosts_variable_data_retrieve
---

# Host Fact Inspector

## Prerequisites

**Required MCP Servers**:
- `aap-mcp-inventory-management` - Host details and variable data

**Verification**: Run the `aap-mcp-validator` skill with `aap-mcp-inventory-management` before proceeding.

## When to Use This Skill

Use this skill when:
- After `job-failure-analyzer` has identified which hosts and errors are involved
- User asks about host system state in the context of a failure
- As part of the forensic-troubleshooter workflow (Step 2)
- User asks to check host health or resource status

Do NOT use when:
- Analyzing job events (use `job-failure-analyzer` first)
- Getting resolution recommendations (use `resolution-advisor` after this skill)
- Executing jobs on hosts (use `execution-risk-analyzer` + `governed-job-launcher`)

## Workflow

### Step 1: Consult Troubleshooting Documentation

**CRITICAL**: Document consultation MUST happen BEFORE any MCP tool invocations.

**Document Consultation** (REQUIRED - Execute FIRST):
1. **Action**: Read [job-troubleshooting.md](docs/aap/job-troubleshooting.md) using the Read tool to understand the host fact correlation table and error-to-fact mapping
2. **Output to user**: "I consulted [job-troubleshooting.md](docs/aap/job-troubleshooting.md) to understand which host facts correlate with the identified failure patterns."

### Step 2: Look Up Affected Hosts

From the `job-failure-analyzer` output, identify the hostnames that experienced failures.

**MCP Tool**: `hosts_list` (from aap-mcp-inventory-management)
**Parameters**:
- `search`: `"<hostname_from_failure_analysis>"`
- `page_size`: `10`

Extract the host `id` from the results.

### Step 3: Retrieve Host Facts

**MCP Tool**: `hosts_variable_data_retrieve` (from aap-mcp-inventory-management)
**Parameters**:
- `id`: `"<host_id>"`
- `format`: `"json"`

This returns host variables which may include cached Ansible facts from the last `gather_facts` run.

### Step 4: Correlate Facts with Failure

Using the correlation table from job-troubleshooting.md, check the relevant facts based on the error pattern identified by `job-failure-analyzer`:

| Error Pattern | Host Fact to Check | What to Look For |
|---|---|---|
| "No space left on device" | `ansible_mounts[].size_available` | Disk utilization > 90% |
| "Unable to start service" | `ansible_service_mgr` | systemd vs sysvinit mismatch |
| Package not found | `ansible_distribution`, `ansible_distribution_version` | Wrong OS version for package |
| "Permission denied" | `ansible_user_id`, `ansible_become` | Privilege escalation not configured |
| "Connection timed out" | `ansible_default_ipv4` | Network misconfiguration |
| "Module not found" | `ansible_python_version` | Missing Python dependency |
| Out of memory | `ansible_memtotal_mb`, `ansible_memfree_mb` | Insufficient memory |

### Step 5: Generate Host Correlation Report

**Output format**:

```
## Host Fact Correlation: [hostname]

**Host ID**: [id]
**Last Facts Gathered**: [timestamp if available]

### System Profile
| Fact | Value |
|---|---|
| OS | [ansible_distribution] [ansible_distribution_version] |
| Kernel | [ansible_kernel] |
| Python | [ansible_python_version] |
| Service Manager | [ansible_service_mgr] |
| Total Memory | [ansible_memtotal_mb] MB |
| Available Memory | [ansible_memfree_mb] MB |

### Correlation with Failure

**Error**: "[error_message from failure analysis]"
**Relevant fact**: [fact_name] = [value]
**Correlation**: [Does this fact explain the failure?]

### Assessment

[Platform drift / Resource issue / Configuration gap / No correlation found]

Per Red Hat's *Troubleshooting Guide*: "[relevant guidance from job-troubleshooting.md]"
```

### Caveat: Stale Facts

Per job-troubleshooting.md: "Cached facts may be stale. If facts were gathered during a previous job run, they reflect the state at that time, not necessarily now."

If facts appear stale or missing, report this: "Host facts may not be current. For authoritative system state, consider running a fact-gathering job on this host."

## Dependencies

### Required MCP Servers
- `aap-mcp-inventory-management` - Host data and facts

### Required MCP Tools
- `hosts_list` (from inventory-management) - Look up host by name
- `hosts_variable_data_retrieve` (from inventory-management) - Retrieve host variables/facts

### Related Skills
- `job-failure-analyzer` - MUST run before this skill to identify affected hosts
- `resolution-advisor` - Next step: resolution recommendations based on correlation
- `execution-summary` - Audit trail

### Reference Documentation
- [job-troubleshooting.md](docs/aap/job-troubleshooting.md) - Host fact correlation table

## Example Usage

**User**: "Check the system facts for the host that failed in Job #4451"

**Agent**:
1. Reads job-troubleshooting.md
2. Reports: "I consulted job-troubleshooting.md to understand which host facts correlate with package installation failures."
3. Looks up host "web-prod-01" via `hosts_list`
4. Retrieves facts via `hosts_variable_data_retrieve`
5. Finds: `ansible_distribution: "CentOS"`, `ansible_distribution_version: "9"` -- package name is valid for CentOS 9
6. Checks disk: `ansible_mounts[0].size_available: 52428800` -- sufficient
7. Reports: "No host fact correlation found for the package error. This appears to be a code issue (wrong package name) rather than a platform issue."

Attribution

NVlabsNVlabs
View sourceMore from NVlabs →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Context Fundamentals

Understand the components, mechanics, and constraints of context in agent systems. Use when designing agent architectures, debugging context-related failures, or optimizing context usage.

179001 votes

release-notes

Draft release notes and changelog entries from git history or merged PRs between two refs (tags/SHAs/branches), including breaking changes, migrations, and upgrade steps. Use when the user asks for release notes, changelog updates, or a GitHub Release draft.

1301 votes

docs-style-guide

Documentation style guide enforcer by @planetabhi. Applies and reviews the writing style guide when authoring or editing product documentation and tutorials. Use to check prose for voice, tense, word choice, inclusive language, formatting, code block, UI, Markdown, and number/date conventions.

11 votes

Caveman Help

Quick-reference card for caveman modes, skills and commands. Trigger: /caveman-help or "caveman help".

1066600 votes

How It Works

Explain how claude-mem captures observations, when memory injection kicks in, and where data lives. Use when the user asks "how does claude-mem work?" or "what is this thing doing?".

945230 votes
View all in documentation →