bitwisecook/tcl-lsp/irule-xc

Claude Code and agent skill by bitwisecook/tcl-lsp

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Translate an F5 BIG-IP iRule to F5 Distributed Cloud (XC) configuration. Produces Terraform HCL and JSON API output with coverage analysis. Highlights untranslatable constructs and suggests XC alternatives. Use when migrating iRules to F5 XC, converting BIG-IP iRules to Distributed Cloud, translating iRule logic to Terraform, or planning F5 XC migration.

Install

npx vskill@latest install bitwisecook/tcl-lsp/irule-xc

SKILL.md

iRule to F5 XC Translation

Steps

  1. Read ../_prompts/irules_system.md, then the iRule.
  2. Call mcp__tcl-lsp__xc_translate with the contents as source

(output_format default both): Terraform HCL, ves.io JSON, a coverage percentage, and a per-command breakdown of translated / untranslatable / advisory constructs. On a tool error report it and suggest fixes.

  1. Coverage ≥ 80 %: the static translation stands. Below that, suggest XC

alternatives for the untranslatable constructs: complex routing → custom route objects; L4 logic → App Stack; table / session state → XC rate limiting or API discovery; SSL/TLS events → load-balancer TLS config; WAF/ASM events → App Firewall or WAF exclusion rules; bot defence → Bot Defence; rate limiting → Rate Limiting.

  1. Write $FILE.tf and $FILE.xc.json, check the Terraform parses, and

comment each mapping from the original iRule.

XC mapping

iRuleXC
pool <name>volterra_origin_pool + route
switch [HTTP::path] / [HTTP::host]L7 routes with path (prefix, suffix, exact, regex) / domain matching
if [HTTP::path] starts_with/ends_with/contains/matches_regexroute path matching
HTTP::header value "X" eq / HTTP::header existsroute or policy header match / presence
HTTP::cookie "X" eq / HTTP::cookie existsroute or policy cookie match / presence
[HTTP::query] containsquery parameter matching
[IP::client_addr] eq / class match [IP::client_addr] equals DGservice policy source IP / IP prefix set
! [cond], neinvert_matcher = true
`cond1 \\cond2`one rule per OR branch
HTTP::redirectredirect_route
HTTP::respond 403/401 / 200volterra_service_policy deny rule / direct_response_route
HTTP::header insert/replace/removeload balancer header processing
ASM::disable / ASM::enableWAF exclusion rule with app_firewall_detection_control / no action
class matchservice policy rules (data-group entries)
RULE_INIT, CLIENT_ACCEPTED, TCP::*, UDP::*, eval, uplevelno equivalent (static config / L4 / App Stack)
CLIENTSSL_HANDSHAKE, ASM_* eventsXC TLS settings, XC App Firewall

app_firewall_detection_control actions: exclude_all_attack_types (default), exclude_attack_type_contexts, exclude_signature_contexts, exclude_bot_name_contexts, exclude_violation_contexts.

$ARGUMENTS

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
70
Repository forks
6
7-day trend score
26

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/bitwisecook/tcl-lsp/irule-xc/badge)](https://verified-skill.com/skills/bitwisecook/tcl-lsp/irule-xc)

Something wrong with this skill or its page? Tell us.