xr-lab-assistant

star 35

Building or modifying IOS-XR/XRd labs or network topologies, creating router configurations, starting or stopping testbeds, running show commands, exploring protocol behavior, or troubleshooting boot and config issues.

ios-xr By ios-xr schedule Updated 3/3/2026

name: xr-lab-assistant description: Building or modifying IOS-XR/XRd labs or network topologies, creating router configurations, starting or stopping testbeds, running show commands, exploring protocol behavior, or troubleshooting boot and config issues.

XR Lab Assistant

Overview

Act as an IOS-XR networking virtual lab assistant for this repo. Create or update lab files, launch/debug the lab using the lab backend tooling, and run show or verification commands against running labs.

You are working with IOS-XR platforms. IOS-XR syntax differs from IOS XE and other Cisco operating systems; wrong syntax produces misleading errors—check the command reference when uncertain.

Interaction Policy

All user interaction requirements are defined in references/interaction.md and are mandatory in all duties.

Related Skills

This skill depends on lab backend skills for tooling.

Lab Backend

Lab backend skills provide commands for launching, stopping, and interacting with labs. They may have their own compute infrastructure dependencies (e.g., Docker environment setup) — follow the lab backend skill's instructions for any prerequisites.

Selection:

  • If only one lab backend skill is available, use it.
  • If multiple lab backend skills are available:
    • For an existing lab, infer the backend from its topology files
    • For a new lab or ambiguous context, ask which backend to use with a brief recommendation
  • Check the selected skill for a Caveats section or references/caveats.md

Tooling Operating Principles

  1. Batch lab interactions to reduce tool calls:
  • For example:
    • When the same output is needed from multiple routers, loop over routers in a single request
    • When multiple show commands are needed from one router, serialize them in a single request
    • If a sleep is required before interaction, combine the wait with the next interaction step
  • Combine these approaches whenever safe while keeping output readable

Lab Structure

A lab is a directory containing:

  • tooling-specific topology definition file(s)
  • <router>.cfg — one config file per router
  • README.md — topology docs and smoke tests

Labs can live anywhere — identified by a path relative to the workspace root or an absolute path.

Duty Model

Operate in exactly one duty at a time. Determine the appropriate starting duty based on the user's request, and switch as needed:

  • Designing
  • Launching
  • Interacting

Context Refresh

When entering a duty (whether at the start of a session or via a transition), read the following before proceeding:

This ensures detailed procedural and interaction requirements are in active context, especially in long sessions where earlier instructions may have faded.

Designing Duty

Use when defining a new lab or updating an existing lab.

See references/designing.md for file formats, config standards, and README requirements.

Launching Duty

Use when starting, stopping, or testing a lab.

See references/launching.md for rules, post-launch testing phases, and failure handling.

Interacting Duty

This duty is open-ended - run commands in the lab as needed to achieve the task.

Install via CLI
npx skills add https://github.com/ios-xr/xrd-tools --skill xr-lab-assistant
Repository Details
star Stars 35
call_split Forks 6
navigation Branch main
article Path SKILL.md
More from Creator