A practical guide to authoring FlightGear PropertyList XML files with structured properties, reusable includes, aliases, expressions, tables, and conditional logic.
The fastest way to install a skill directly from the registry.
npx clawhub@latest install propertylist-xml
Copy the skill folder to one of these locations
~/.openclaw/skills/ <project>/skills/ Priority: Workspace > Local > Bundled
Copy this prompt to OpenClaw to install it automatically.
Help me install propertylist-xml using Clawhub. If Clawhub is not installed, install it first (npm i -g clawhub).
Get the raw skill files in a ZIP archive.
PropertyList XML is FlightGear's structured configuration format for representing property trees, aircraft settings, controls, instruments, panels, sounds, animations, and other simulator data. This Openclaw Skills resource explains the required PropertyList structure, property types, implicit and explicit indexing, archived values, external file inclusion, aliases, and CDATA sections.
It also documents SimGear expressions and conditions, enabling developers and aircraft creators to implement mathematical formulas, interpolation tables, clipping, comparisons, boolean logic, and reusable parameterized configurations directly in XML. The guide helps maintain clean, extensible FlightGear projects while distinguishing PropertyList-based files from JSBSim and YASim XML formats.
-set.xml, FDM, instrument, panel, sound, HUD, scenery, and animation configuration files.userarchive attribute.n attributes.and, or, and not operators.<PropertyList>.string, float, bool, or other supported types; untyped values default to string or unspecified values and may be transparently converted.n="0", n="1", and subsequent indexes.userarchive="y" when they should persist across FlightGear sessions.include attribute, then override or add nested properties in the including file.<bar alias="/foo"/> when two property paths must remain synchronized.<expression> trees for calculations, using operators such as <sum>, <product>, <sqrt>, <property>, <value>, <table>, or <clip>.<condition> trees for comparisons and boolean decisions using properties, values, expressions, and operators such as <greater-than>, <equals>, <and>, <or>, and <not>.This skill is a technical reference rather than an installable runtime package. No additional dependency or command-line installation is required. Add it to the coding agent's skill collection, then use the documented conventions when creating or reviewing FlightGear XML files.
<PropertyList> root element.include attribute and provide local overrides beneath the included node.$FG_ROOT/Aircraft hierarchy and follow the project's established naming conventions.<?xml version='1.0' encoding='UTF-8'?>
<PropertyList>
<example type='string'>Hello FlightGear!</example>
</PropertyList>
defaults.xml: top-level default preferences.joysticks.xml: default joystick bindings, commonly included by defaults.xml.keyboard.xml: default keyboard bindings, commonly included by defaults.xml.Aircraft/*-set.xml: aircraft-specific settings that override defaults.materials.xml, HUD files, sound files, panel files, instrument files, and model animation files: additional PropertyList-based configuration uses.| Element or attribute | Purpose |
|---|---|
<PropertyList> |
Required root element for a PropertyList XML file. |
| Property tag name | Defines a node in the FlightGear property tree. |
type |
Optionally declares the property's type, such as string, float, bool, or double where supported. |
n |
Explicit index for repeated properties. Without it, identical sibling names are indexed by appearance order. |
userarchive |
Marks a property for persistence between FlightGear sessions; use y to enable archiving. |
include |
Loads another PropertyList file and enables inheritance-style reuse and overrides. |
alias |
Makes a property path reference another property so both remain synchronized. |
defaults.xml, joysticks.xml, keyboard.xml, and aircraft *-set.xml files.materials.xml and HUDS/**/*.xml.Aircraft/*/*-sound.xml, Panels/*-panel.xml, Instruments/*.xml, and Models/*.xml.Expression arguments are evaluated in the order they appear. Supported operations include absolute value, trigonometric and hyperbolic functions, logarithms, exponentiation, arithmetic, minimum and maximum, modulo, unit conversion, property, value, table, and clip. A table contains ascending <entry> elements, each with an independent <ind> input and dependent <dep> output. Inputs outside the table range use the first or last table row.
Conditions can compare properties, values, or expressions. Comparisons include equals, not-equals, less-than, greater-than, less-than-equals, and greater-than-equals. A <condition> behaves as an implicit AND of its children; explicit <and>, <or>, <not>, <true/>, and <false/> elements provide additional boolean structure.
include nodes and caller-supplied overrides.-set.xml metadata, FDM-specific configuration, and FDM-independent settings.userarchive attribute.floor over a value plus 0.5 when a native rounding element is unavailable.Loading
A practical FlightGear Nasal reference for manipulating hierarchical property trees, typed values, attributes, aliases, conditions, and command bindings.

Headhunter Pro is an AI-assisted, end-to-end recruitment operating system for talent mapping, candidate evaluation, outreach, hiring analytics, and post-hire support.

Open YouTube in the user's Brave browser, reuse an existing YouTube tab, and verify that the homepage has loaded.

Sith Choir turns multiple provider credentials and AI models into a health-aware, self-improving ensemble for delegation, verification, escalation, and consensus.

Product Page Designer creates complete, conversion-optimized consumer electronics product pages with premium copy, structured specifications, image prompts, and implementation guidance.

A practical writing skill that turns workplace intent into clear, tactful, ready-to-send emails and long-form chat messages.








































