بنقرة واحدة
infrahub-menu-creator
// Create and manage Infrahub custom menus. Use when designing navigation menus, organizing node types in the UI, or customizing the Infrahub web interface sidebar.
// Create and manage Infrahub custom menus. Use when designing navigation menus, organizing node types in the UI, or customizing the Infrahub web interface sidebar.
Shared references and cross-cutting rules used by all Infrahub skills. Contains GraphQL query syntax, .infrahub.yml configuration format, and common rules for git integration, display label caching, and Python environment setup. DO NOT TRIGGER directly — loaded automatically by other Infrahub skills when they need shared references.
Audit an Infrahub repository against all best practices and rules. Use when reviewing a project for compliance, onboarding to an existing repo, or before deployment to catch issues early.
Analyze and correlate Infrahub data using the MCP server. Use when querying live infrastructure data to answer operational questions, detect drift, correlate node types, investigate service impact, check maintenance windows, or produce ad-hoc reports — without writing pipeline code.
Create and manage Infrahub check definitions. Use when writing validation logic, creating Python checks that run in proposed change pipelines, or building data quality guards for Infrahub.
Create and manage Infrahub Generators. Use when building design-driven automation that creates infrastructure objects from templates, topology definitions, or any design-to-implementation workflow in Infrahub.
Create and manage Infrahub object data files. Use when populating infrastructure data, creating device instances, locations, organizations, module installations, or any other data objects for an Infrahub repository.
| name | infrahub-menu-creator |
| description | Create and manage Infrahub custom menus. Use when designing navigation menus, organizing node types in the UI, or customizing the Infrahub web interface sidebar. |
| metadata | {"version":"1.1.0","author":"OpsMill"} |
Expert guidance for creating Infrahub custom menus. Menus control the left-side navigation in the web interface, organizing schema node types into a custom hierarchy.
| Priority | Category | Prefix | Description |
|---|---|---|---|
| CRITICAL | Format | format- | apiVersion, kind, spec |
| CRITICAL | Properties | item- | name, namespace, label, kind |
| HIGH | Hierarchy | hierarchy- | Nesting, group headers, data |
| HIGH | Icons | icons- | MDI icon reference, choices |
| MEDIUM | Schema | schema- | include_in_menu, kind links |
| LOW | Patterns | patterns- | Flat menu, comments, links |
---
apiVersion: infrahub.app/v1
kind: Menu
spec:
data:
- namespace: Dcim
name: DeviceMenu
label: "Devices"
icon: "mdi:server"
kind: DcimDevice # Links to schema node list view
apiVersion, kind: Menu, and spec.data are always
required. Each menu item needs name and namespace.
Follow these steps when creating a menu:
Gather requirements — Ask what schema nodes exist, how they should be grouped, and whether the user wants flat or hierarchical navigation.
Read relevant rules — Read rules/format-structure.md
for the required YAML structure, rules/item-properties.md
for item fields, and rules/hierarchy-nesting.md
if nesting is needed. Read rules/icons-reference.md
to pick appropriate MDI icons.
Generate the menu YAML — Start with the
$schema comment and apiVersion/kind/spec
structure. Apply rules from step 2.
Add registration and schema guidance — Every menu file output must include:
.infrahub.yml under the menus:
key (see rules/format-structure.md)include_in_menu: false on every schema node
that appears in the custom menu, to prevent
duplicate sidebar entries
(see rules/schema-integration.md)Include these as comments at the top of the file,
before the --- document separator. This ensures
the user sees the guidance alongside the menu
definition.