Agent skill

Hier Config Troubleshoot

by netdevops in netdevops/hier_config

A skill your agent uses when hierconfig produces wrong or unexpected output — incorrect remediation commands, missing or extra negations, repeated commands, lines nested under the wrong parent…

MITAuto-check passedDevOps & Cloud

Install Hier Config Troubleshoot

skills CLI
$ npx skills add netdevops/hier_config --skill hier-config-troubleshoot -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install netdevops/hier_config hier-config-troubleshoot --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/netdevops/hier_config.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/hier-config-troubleshoot .claude/skills/hier-config-troubleshoot && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
hier-config-troubleshoot
GitHub stars
150
Token cost
~1.4k tokens
SKILL.md length
560 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when hierconfig produces wrong or unexpected output — incorrect remediation commands, missing or extra negations, repeated commands, lines nested under the wrong parent…

  • Works in 5 steps: Reproduce Minimally → Inspect the Tree, Not the Text → Match Symptom to Layer → …
  • Hierconfig produces wrong
  • SKILL.md covers Step 1: Reproduce Minimally, Step 2: Inspect the Tree, Not…, Step 3: Match Symptom to Layer and Step 4: Confirm Which Rule Fires, plus 1 more section
  • Calls git and poetry

What it does

Hier Config Troubleshoot is an agent skill from netdevops/hier_config. Use when hierconfig produces wrong or unexpected output — incorrect remediation commands, missing or extra negations, repeated commands, lines nested under the wrong parent, DuplicateChildError, inaccurate future() or rollback results, or config lines parsed incorrectly.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud. The repository describes itself as: Hierarchical Configuration. The licence is MIT.

When your agent uses it

  • Hierconfig produces wrong
  • Unexpected output — incorrect remediation commands
  • Extra negations
  • Repeated commands

Example prompts

  • “/hier-config-troubleshoot”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Reproduce Minimally
  2. Inspect the Tree, Not the Text
  3. Match Symptom to Layer
  4. Confirm Which Rule Fires
  5. Fix at the Source

What it can do on your machine

Read from SKILL.md and the folder at commit 806c654. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • poetry

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Hier Config Troubleshoot loads about 1.4k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 560 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from netdevops/hier_config at commit 806c654, republished under its MIT licence (© netdevops). 560 words, ~1,405 tokens.

Download SKILL.mdSave it as .claude/skills/hier-config-troubleshoot/SKILL.md (or your agent's skills folder).
name
hier-config-troubleshoot
description
Use when hier_config produces wrong or unexpected output — incorrect remediation commands, missing or extra negations, repeated commands, lines nested under the wrong parent, DuplicateChildError, inaccurate future() or rollback results, or config lines parsed incorrectly.

Troubleshoot hier_config Behavior

Diagnose why hier_config produced unexpected output. Work from a minimal reproduction, identify which layer is responsible (parsing → driver rules → diff algorithm), then fix at the source with a regression test.

Step 1: Reproduce Minimally

Reduce the problem to the smallest config pair that shows it, using inline tuples — no fixture files needed:

python
from hier_config import Platform, get_hconfig_fast_load

running_config = get_hconfig_fast_load(Platform.CISCO_IOS, ("hostname foo",))
generated_config = get_hconfig_fast_load(Platform.CISCO_IOS, ("hostname bar",))
print("\n".join(running_config.config_to_get_to(generated_config).dump_simple()))

Bisect: delete config lines until removing one more makes the symptom disappear. That line (and its ancestry) is where to look. If the report compares platforms ("works on X, broken on Y"), reproduce both platforms — claimed-working references are often wrong, and the platforms that actually differ tell you which rule is responsible. If the raw config parses differently than expected, compare get_hconfig() (full parse with preprocessing) against get_hconfig_fast_load() (no preprocessing) — a difference means a per_line_sub/full_text_sub/config_preprocessor or indentation issue.

Step 2: Inspect the Tree, Not the Text

  • config.dump_simple() — the parsed tree as indented lines; wrong nesting is visible immediately.
  • running_config.unified_diff(generated_config) — structure-aware diff.
  • config.driver.rules — the live rule set; check what the platform driver actually matches.

Step 3: Match Symptom to Layer

SymptomLikely causeWhere to look
Command emitted as no X + Y instead of just YMissing idempotency rule — the command is last-write-wins on the device but the driver doesn't knowidempotent_commands in the platform driver; add IdempotentCommandsRule
Negation has the wrong form (no shutdown vs default shutdown vs truncated args)Negation rulesnegate_with (NegationDefaultWithRule), negation_default_when, or the driver's swap_negation override
Lines nested under the wrong parent; everything after line X collapses under itIrregular indentation in vendor output; an IndentAdjustRule matching too broadly or missingindent_adjust rules. Real cases: XR template blocks; Huawei peer-public-key end (see git log for #205, #268)
DuplicateChildErrorPlatform legitimately repeats a child text under one parentAdd ParentAllowsDuplicateChildRule (see #266 for a real example)
Section replaced wholesale (or should be, but isn't)Sectional overwritesectional_overwrite / sectional_overwrite_no_negate (XR route-policy is the canonical case)
Missing/wrong exit token after a section (exit, quit, end-policy)Sectional exitingsectional_exiting rules; exit_text_parent_level for unindented exits
Commands in an order the device rejectsOrdering weightsordering rules (lower weight applies first)
Junk lines in the tree (banners, comments, timestamps)Load-time substitutionsper_line_sub / full_text_sub
future() or rollback doesn't match real device behaviorKnown algorithm limitationsdocs/user/future-config.md#known-limitations — duplicate children and order-dependent sections (ACLs need sequence numbers) are documented limits
Wrong platform behavior entirelyWrong driver selectedConfirm the Platform enum member; GENERIC has almost no rules

Rule semantics reference: docs/user/custom-drivers.md#driver-rule-types. Layer responsibilities: docs/dev/architecture.md.

Show full SKILL.md (156 more words)Show less

Step 4: Confirm Which Rule Fires

Rules match on full ancestry via MatchRule tuples (fields AND together; tuple entries match root→leaf lineage). Test a hypothesis directly:

python
from hier_config.models import MatchRule

child = running_config.get_child_deep((MatchRule(startswith="interface"), MatchRule(startswith="ip address")))
if child is None:
    print("no child matched — the lineage tuple is wrong or the line parsed differently")
else:
    print(child, child.is_lineage_match((MatchRule(startswith="interface"),)))

If a driver rule should match but doesn't, print the rule set (config.driver.rules.idempotent_commands, etc.) and check each MatchRule field against the actual line text — trailing whitespace and startswith vs equals mismatches are the usual culprits.

Step 5: Fix at the Source

  • Driver rule gap (most common): add/adjust the rule in the platform driver's _instantiate_rules() — recipe in docs/dev/extending.md.
  • Core algorithm (base.py, root.py, child.py): rare; read docs/dev/architecture.md first and check git log for related fixes before changing shared behavior.
  • User-side workaround (can't wait for a release): customize the driver at runtime — docs/user/custom-drivers.md#customizing-existing-drivers.

Every fix ships with a regression test that reproduces the original symptom (docs/dev/testing.md, round-trip idiom) and a CHANGELOG.md entry. Fixes to one platform must not leak: run the full suite (poetry run ./scripts/build.py lint-and-test), not just the platform's test file.

© netdevops, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/hier-config-troubleshoot of netdevops/hier_config.

Open the folder on GitHubat commit 806c654

Compare with similar skills

Hier Config Troubleshoot next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Hier Config Troubleshoot compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Hier Config Troubleshoot this skillnetdevops/hier_config150—~1.4kAutomated safety check: PassMIT
Monitor CInrwl/nx29k6 repos~4.7kAutomated safety check: PassMIT
Terraform and OpenTofu Guideagentscope-ai/QwenPaw35k6 repos~4.2kAutomated safety check: PassApache-2.0
Vercel Optimize Auditvercel-labs/agent-skills32k9 repos~4.3kAutomated safety check: PassNone
Openclaw Live Updateropenclaw/openclaw392k—~3.7kAutomated safety check: PassMIT
Analyze GitHub Action Logswithastro/astro63k1 repos~1.3kAutomated safety check: PassCustom licence

Similar skills

  • Monitor CI

    nrwl/nx

    Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.

    29k GitHub starsUsed in 6 repos~4.7k tokens
    DevOps & CloudAuto-check passed
  • Terraform and OpenTofu Guide

    agentscope-ai/QwenPaw

    Guidance for writing and testing Terraform and OpenTofu code: module structure, naming, test approaches, CI/CD workflows, state handling and security scanning.

    35k GitHub starsUsed in 6 repos~4.2k tokens
    DevOps & CloudAuto-check passed
  • Vercel Optimize Audit

    vercel-labs/agent-skills

    Official

    Runs a metrics-first audit of a deployed Vercel project, gating investigations on real signals to produce ranked, citation-backed cost and performance recommendations.

    32k GitHub starsUsed in 9 repos~4.3k tokens
    DevOps & CloudAuto-check passed
  • Openclaw Live Updater

    openclaw/openclaw

    Maintain the canonical live OpenClaw main checkout, macOS LaunchAgent-managed Gateway, local macOS app, exact-head main CI, and recurring full release validation.

    392k GitHub stars~3.7k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Official

    Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.

    63k GitHub starsUsed in 1 repo~1.3k tokens
    DevOps & CloudAuto-check passed
  • Creates and queries KubeSphere users, workspaces and projects and assigns built-in roles, defaulting to least privilege and never deleting anything.

    17k GitHub starsUsed in 1 repo~3.1k tokens
    DevOps & CloudAuto-check passed

More from netdevops/hier_config

  • Hier Config New Driver

    netdevops/hier_config

    A skill your agent uses when adding hierconfig support for a new network platform or operating system — creating a platform driver, registering a new Platform enum member, or scaffolding driver…

    150 GitHub stars~1.3k tokensUpdated 17 days ago
    Auto-check passed
  • Hier Config Review

    netdevops/hier_config

    A skill your agent uses when asked to review changes, self-review work, or prepare a pull request in the hierconfig repository — especially before opening or updating a PR, or when checking…

    150 GitHub stars~903 tokensUpdated 17 days ago
    Auto-check passed

Categories

Questions about Hier Config Troubleshoot

What does Hier Config Troubleshoot do?

A skill your agent uses when hierconfig produces wrong or unexpected output — incorrect remediation commands, missing or extra negations, repeated commands, lines nested under the wrong parent…. Hier Config Troubleshoot is an agent skill from netdevops/hier_config. Use when hierconfig produces wrong or unexpected output — incorrect remediation commands, missing or extra negations, repeated commands, lines nested under the wrong parent, DuplicateChildError, inaccurate future() or rollback results, or config lines parsed incorrectly.

When should I use Hier Config Troubleshoot?

Hier Config Troubleshoot fits situations like: hierconfig produces wrong; unexpected output — incorrect remediation commands; extra negations; repeated commands.

How do I install Hier Config Troubleshoot in Claude Code?

Run `npx skills add netdevops/hier_config --skill hier-config-troubleshoot -a claude-code`. Or copy the skill folder (.claude/skills/hier-config-troubleshoot in netdevops/hier_config) into .claude/skills/hier-config-troubleshoot in your project. Claude Code loads it when a task matches its description.

How do I install Hier Config Troubleshoot in Codex?

Run `npx skills add netdevops/hier_config --skill hier-config-troubleshoot -a codex`. Or copy the skill folder (.claude/skills/hier-config-troubleshoot in netdevops/hier_config) into .agents/skills/hier-config-troubleshoot in your project. Codex loads it when a task matches its description.

Can I use Hier Config Troubleshoot in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add netdevops/hier_config --skill hier-config-troubleshoot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hier-config-troubleshoot, .gemini/skills/hier-config-troubleshoot, .github/skills/hier-config-troubleshoot and .opencode/skills/hier-config-troubleshoot in your project.

What does Hier Config Troubleshoot need to run?

Going by SKILL.md and its folder, Hier Config Troubleshoot needs the command-line tools its instructions call (git and poetry). Our summary lists: Python 3.

Does Hier Config Troubleshoot access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Hier Config Troubleshoot safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Hier Config Troubleshoot use?

Hier Config Troubleshoot is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Hier Config Troubleshoot use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Hier Config Troubleshoot?

Skills that share tags, products or a category with Hier Config Troubleshoot: Monitor CI (nrwl/nx, 29k stars), Terraform and OpenTofu Guide (agentscope-ai/QwenPaw, 35k stars), Vercel Optimize Audit (vercel-labs/agent-skills, 32k stars) and Openclaw Live Updater (openclaw/openclaw, 392k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Hier Config Troubleshoot?

netdevops (a GitHub organization) maintains it in netdevops/hier_config, which has 150 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 21, 2026.

Source: netdevops/hier_config on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.