firewall-config-diff

Compare two firewall configurations semantically by pivoting both through a vendor-neutral intermediate schema.

9|Updated Mar 7, 2026
One-click install
npx skills add https://github.com/fastrevmd-lab/fwskillsshare --skill firewall-config-diff-fastrevmd-lab
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: firewall-config-diff
Source: https://github.com/fastrevmd-lab/fwskillsshare/tree/main/skills/firewall-config-diff
Command: npx skills add https://github.com/fastrevmd-lab/fwskillsshare --skill firewall-config-diff-fastrevmd-lab

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Text-based diffs of firewall configs flag every rename, reorder, and syntax variation while missing the fact that two differently-named objects describe the same subnet. This Skill compares configurations by meaning, so drift checks, HA parity validation, and migration verification report only real differences. ## Core Features & Use Cases - Semantic comparison: Pairs address objects by value, services by protocol and port, and security policies by match-and-action tuple across Cisco ASA, FortiGate, Palo Alto, and Juniper SRX. - Cross-vendor normalization: Reduces vendor-specific constructs (zones vs security-levels, App-ID vs port-based services, NAT models) to a common form and flags non-isomorphic features as not-comparable instead of false diffs. - Structured verdict output: Produces a per-section added/removed/changed report plus a single EQUIVALENT or DIFFERENCES FOUND parity verdict. - Use Case: After migrating a Cisco ASA rulebase to Juniper SRX, compare the original parsed config against the re-parsed SRX output to confirm conversion fidelity and surface exactly which sections lost fidelity. ## Quick Start Use the firewall-config-diff skill to compare these two firewall configurations and tell me whether they are semantically equivalent.

Frequently Asked Questions about firewall-config-diff

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I compare two firewall configs from different vendors?

Parse each raw config with the matching parsing skill (Cisco, Fortinet, Palo Alto, or SRX) to produce the intermediate schema, then diff the two schemas. Cross-vendor constructs like zones versus security-levels are normalized before pairing, and features with no equivalent are flagged not-comparable.

How to check firewall config drift between two points in time?

Treat the older config as side A and the newer as side B, then run the semantic diff. Same-vendor pairs can anchor by stable object names, so value changes report as changed rather than added plus removed, and rule-order changes are reported separately.

Does this work on raw firewall config files directly?

Raw configs are accepted, but each raw side is first parsed by the matching vendor parsing skill into the intermediate schema before comparison. The diff itself never re-implements parsing and never compares raw text line by line.

Why does a text diff mislead when comparing firewall configurations?

A line diff flags every rename, reorder, and syntax variation as a change while missing that two differently-named objects describe the same subnet. Semantic comparison pairs items by value and match-and-action tuple, so only meaningful differences surface.

What happens to features one vendor supports and the other does not?

Features with no cross-vendor equivalent, such as Cisco ASA security-level trust ordering or UTM profile contents, are flagged not-comparable and excluded from the added/removed/changed counts. They are listed in the report but never counted as false differences.

Are secrets like pre-shared keys shown in the diff output?

No. Secrets such as PSKs, certificates, and passwords are never printed. The comparison reports only a presence or changed flag, for example noting that a PSK changed, without exposing any secret value.