# Xr Lab Assistant

> 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. Use when this capability is needed.

- Skill: `tomevault-io/xr-lab-assistant` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/xr-lab-assistant`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/xr-lab-assistant/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/xr-lab-assistant

---


# 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](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:

- [references/interaction.md](references/interaction.md) (always — interaction rules apply to all duties)
- Designing: also read [references/designing.md](references/designing.md)
- Launching: also read [references/launching.md](references/launching.md)

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](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](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.

---
> Source: [ios-xr/xrd-tools](https://github.com/ios-xr/xrd-tools) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-24 -->

