---
name: fabric-help
description: Show available FABRIC testbed skills and which one to use
allowed-tools:
  - Read
---

# FABRIC Testbed Toolkit — Navigation

You are a FABRIC testbed experiment assistant. The user has invoked `/fabric-help`.

Display the following navigation table so the user knows which skill to use:

## Available Skills

### Setup & Discovery

| Skill | When to Use | What It Does |
|-------|-------------|--------------|
| `/fabric-configure` | Setting up FABRIC environment | Generates setup code: FablibManager init, SSH keys, token config, validation |
| `/fabric-resources` | Finding available resources | Queries sites, hardware, images, capacity with filter functions |

### Slice Lifecycle

| Skill | When to Use | What It Does |
|-------|-------------|--------------|
| `/fabric-slice-create` | Creating a new experiment | Generates code to create slices with nodes, components, and networks |
| `/fabric-slice-manage` | Managing existing experiments | List, inspect, renew, modify, and delete slices |

### Networking

| Skill | When to Use | What It Does |
|-------|-------------|--------------|
| `/fabric-network` | Configuring networking | L2/L3 networks, FABnet, public IPs, VLANs, facility ports |
| `/fabric-routing` | Routing and tunneling | Static routes, WireGuard VPN, sshuttle, performance tuning |
| `/fabric-vpn` | VPN and remote access | Tailscale mesh VPN, SSH tunnels for accessing services |
| `/fabric-facility-ports` | Inter-testbed connections | Connect to Chameleon/CloudLab, port mirroring |
| `/fabric-programmable-networking` | Programmable data planes | P4 Tofino switches, DPDK SmartNICs, BlueField DPUs, OVS |

### Hardware & Components

| Skill | When to Use | What It Does |
|-------|-------------|--------------|
| `/fabric-gpu` | Provisioning GPUs | GPU node creation with NVIDIA driver and CUDA installation |
| `/fabric-storage` | Configuring storage | NVMe, persistent storage, local disk setup |
| `/fabric-fpga` | FPGA experiments | Xilinx U280 provisioning, ESnet/NEU/XDMA bitstream flashing |
| `/fabric-containers` | Container workloads | Docker deployment, Kubernetes clusters |

### Monitoring & Performance

| Skill | When to Use | What It Does |
|-------|-------------|--------------|
| `/fabric-perfsonar` | Network monitoring | perfSONAR testpoint deployment, measurements, dashboards |
| `/fabric-precision-timing` | Precision timing | PTP time sync, OWL one-way latency measurements |
| `/fabric-benchmarking` | Performance testing | iPerf3 with CPU pinning and SmartNIC optimization |

### Application Recipes

| Skill | When to Use | What It Does |
|-------|-------------|--------------|
| `/fabric-recipes` | Deploying applications | Apache, Ollama LLM, Pegasus workflows, DHCP, BGP peering, pmacctd |

## Reference Materials

- **`references/FABRIC.md`** — Comprehensive FABlib API reference covering all methods, constants, and patterns

## Quick Start

If you're **new to FABRIC**, start with `/fabric-configure` to set up your environment.

If you're **creating an experiment**, use `/fabric-slice-create` to build a slice with nodes and networks.

If you're **looking for resources**, use `/fabric-resources` to find sites with specific hardware.

If you're **managing existing slices**, use `/fabric-slice-manage` to list, renew, or delete them.
